From 95ba3931326dede9c21fe9561ee6f2889a24f45e Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Sat, 30 Mar 2024 08:24:49 -0500 Subject: [PATCH 1/4] Added boolRange, stringRange, and numericRange schema properties --- standard_schema/prerelease/HED8.3.0.mediawiki | 78 ++++++++++--------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki index d221f314..ca35f641 100644 --- a/standard_schema/prerelease/HED8.3.0.mediawiki +++ b/standard_schema/prerelease/HED8.3.0.mediawiki @@ -19,10 +19,10 @@ Each term in this vocabulary has a human-readable description and may include ad '''Agent''' {suggestedTag=Agent-property}[Someone or something that takes an active role or produces a specified effect.The role or effect may be implicit. Being alive or performing an activity such as a computation may qualify something to be an agent. An agent may also be something that simulates something else.] * Animal-agent [An agent that is an animal.] * Avatar-agent [An agent associated with an icon or avatar representing another agent.] -* Controller-agent [An agent experiment control software or hardware.] +* Controller-agent [Experiment control software or hardware.] * Human-agent [A person who takes an active role or produces a specified effect.] * Robotic-agent [An agent mechanical device capable of performing a variety of often complex tasks on command or by being programmed in advance.] -* Software-agent [An agent computer program.] +* Software-agent [An agent computer program that interacts with the participant in an active role such as an AI advisor.] '''Action''' {extensionAllowed}[Do something.] * Communicate [Convey knowledge of or information about something.] @@ -1215,13 +1215,13 @@ Each term in this vocabulary has a human-readable description and may include ad !# end schema '''Unit classes''' [Unit classes and the units for the nodes.] -* accelerationUnits {defaultUnits=m-per-s^2, allowedCharacter=caret} +* accelerationUnits {defaultUnits=m-per-s^2} ** m-per-s^2 {SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret} * angleUnits {defaultUnits=radian} ** radian {SIUnit, conversionFactor=1.0} ** rad {SIUnit, unitSymbol, conversionFactor=1.0} ** degree {conversionFactor=0.0174533} -* areaUnits {defaultUnits=m^2, allowedCharacter=caret} +* areaUnits {defaultUnits=m^2} ** m^2 {SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret} * currencyUnits {defaultUnits=$}[Units indicating the worth of something.] ** dollar {conversionFactor=1.0} @@ -1238,7 +1238,7 @@ Each term in this vocabulary has a human-readable description and may include ad ** dB {unitSymbol, conversionFactor=1.0}[Intensity expressed as ratio to a threshold. May be used for sound intensity.] ** candela {SIUnit}[Units used to express light intensity.] ** cd {SIUnit, unitSymbol}[Units used to express light intensity.] -* jerkUnits {defaultUnits=m-per-s^3, allowedCharacter=caret} +* jerkUnits {defaultUnits=m-per-s^3} ** m-per-s^3 {unitSymbol, conversionFactor=1.0, allowedCharacter=caret} * magneticFieldUnits {defaultUnits=T} ** tesla {SIUnit, conversionFactor=10e-15} @@ -1268,7 +1268,7 @@ Each term in this vocabulary has a human-readable description and may include ad ** minute {conversionFactor=60} ** hour {conversionFactor=3600}[Should be in 24-hour format.] ** year [Years do not have a constant conversion factor to seconds.] -* volumeUnits {defaultUnits=m^3, allowedCharacter=caret} +* volumeUnits {defaultUnits=m^3} ** m^3 {SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret} * weightUnits {defaultUnits=g} ** g {SIUnit, unitSymbol, conversionFactor=1.0} @@ -1325,42 +1325,44 @@ Each term in this vocabulary has a human-readable description and may include ad * nameClass {allowedCharacter=letters,allowedCharacter=digits,allowedCharacter=underscore,allowedCharacter=hyphen}[Value class designating values that have the characteristics of node names. The allowed characters are alphanumeric, hyphen, and underscore.] * numericClass {allowedCharacter=digits,allowedCharacter=E,allowedCharacter=e,allowedCharacter=plus,allowedCharacter=hyphen,allowedCharacter=period}[Value must be a valid numerical value.] * posixPath {allowedCharacter=digits,allowedCharacter=letters,allowedCharacter=slash,allowedCharacter=colon}[Posix path specification.] -* textClass {allowedCharacter=text} +* textClass {allowedCharacter=text}[Values that have the characteristics of text such as in descriptions. The text characters include printable characters (32 <= ASCII < 127) excluding comma, square bracket and curly braces as well as nonascii (ASCII codes > 127).] '''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.] -* allowedCharacter {valueClassProperty, unitProperty, unitModifierProperty}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.] -* conversionFactor {unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.] -* defaultUnits {unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.] -* deprecatedFrom {elementProperty}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.] -* extensionAllowed {boolProperty, nodeProperty, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] -* hedId {elementProperty}[The unique identifier of this element in the HED namespace.] -* inLibrary {elementProperty} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] -* relatedTag {nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] -* requireChild {boolProperty, nodeProperty}[This tag must have a descendent.] -* reserved {boolProperty, nodeProperty}[This tag has special meaning and requires special handling by tools.] -* rooted {nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] -* SIUnit {boolProperty, unitProperty}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] -* SIUnitModifier {boolProperty, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] -* SIUnitSymbolModifier {boolProperty, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] -* suggestedTag {nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] -* tagGroup {boolProperty, nodeProperty}[This tag can only appear inside a tag group.] -* takesValue {boolProperty, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] -* topLevelTagGroup {boolProperty, nodeProperty}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] -* unique {boolProperty, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.] -* unitClass {nodeProperty}[The unit class this placeholder tag belongs to.] -* unitPrefix {boolProperty, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).] -* unitSymbol {boolProperty, unitProperty}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.] -* valueClass {nodeProperty}[The value class this placeholder tag belongs to..] +* allowedCharacter {stringRange, valueClassProperty, unitProperty, unitModifierProperty}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.] +* conversionFactor {numericRange, unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.] +* defaultUnits {stringRange, unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.] +* deprecatedFrom {stringRange, elementProperty}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.] +* extensionAllowed {boolRange, nodeProperty, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] +* hedId {stringRange, elementProperty}[The unique identifier of this element in the HED namespace.] +* inLibrary {stringRange, elementProperty} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] +* relatedTag {stringRange, nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] +* requireChild {boolRange, nodeProperty}[This tag must have a descendent.] +* reserved {boolRange, nodeProperty}[This tag has special meaning and requires special handling by tools.] +* rooted {stringRange, nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] +* SIUnit {boolRange, unitProperty}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] +* SIUnitModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] +* SIUnitSymbolModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] +* suggestedTag {stringRange, nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] +* tagGroup {boolRange, nodeProperty}[This tag can only appear inside a tag group.] +* takesValue {boolRange, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] +* topLevelTagGroup {boolRange, nodeProperty}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] +* unique {boolRange, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.] +* unitClass {stringRange, nodeProperty}[The name of the unit class this placeholder tag belongs to.] +* unitPrefix {boolRange, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).] +* unitSymbol {boolRange, unitProperty}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.] +* valueClass {stringRange, nodeProperty}[The value class this placeholder tag belongs to..] '''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.] -* boolProperty [Indicates that the schema attribute represents something that is either true or false and does not have a value. Attributes without this value are assumed to have string values.] -* elementProperty [Indicates a schema attribute can apply to any type of element (tag term, unit class, etc).] -* isInheritedProperty [Indicates a schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] -* nodeProperty [Indicates a attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.] -* unitClassProperty [Indicates a schema attribute applies to unit classes.] -* unitModifierProperty [Indicates a schema attribute applies to unit modifier classes.] -* unitProperty [Indicates a schema attribute applies to units within a unit class.] -* valueClassProperty [Indicates a schema attribute applies to value classes.] +* boolRange [The schema attribute maps to true or false. If present, it is assumed to be true.] +* elementProperty [The schema attribute can apply to any type of element (tag term, unit class, etc).] +* isInheritedProperty [The schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] +* nodeProperty [The schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.] +* numericRange [The schema attribute maps to a numeric value.] +* stringRange [The schema attribute maps to a string value.] +* unitClassProperty [The schema attribute applies to unit classes.] +* unitModifierProperty [The schema attribute applies to unit modifier classes.] +* unitProperty [The schema attribute applies to units within a unit class.] +* valueClassProperty [The schema attribute applies to value classes.] '''Epilogue'''[This section citation, licensing, and other information.] This schema is released under the Creative Commons Attribution 4.0 International and is a product of the HED Working Group. The DOI for the latest version of the HED standard schema is 10.5281/zenodo.7876037. From fd6b0e3343f247923d8971dd838b08c27c67d836 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Sat, 30 Mar 2024 11:30:23 -0500 Subject: [PATCH 2/4] Renamed xxxProperty corresonding to domains xxxDomain --- standard_schema/prerelease/HED8.3.0.mediawiki | 71 ++++++++++--------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki index ca35f641..f20cb54d 100644 --- a/standard_schema/prerelease/HED8.3.0.mediawiki +++ b/standard_schema/prerelease/HED8.3.0.mediawiki @@ -571,6 +571,7 @@ Each term in this vocabulary has a human-readable description and may include ad ***** None {relatedTag=All, relatedTag=Some}[No person or thing, nobody, not any.] ***** Some {relatedTag=All, relatedTag=None}[At least a small amount or number of, but not a large amount of, or often.] ***** True {relatedTag=False}[Conforming to facts, reality or definitive criteria.] +***** Unknown {relatedTag=Invalid}[The information has not been provided.] ***** Valid {relatedTag=Invalid}[Allowable, usable, or acceptable.] ***** Wrong {relatedTag=Correct}[Inaccurate or not correct.] **** Categorical-judgment-value [Categorical values that are based on the judgment or perception of the participant such familiar and famous.] @@ -1328,41 +1329,45 @@ Each term in this vocabulary has a human-readable description and may include ad * textClass {allowedCharacter=text}[Values that have the characteristics of text such as in descriptions. The text characters include printable characters (32 <= ASCII < 127) excluding comma, square bracket and curly braces as well as nonascii (ASCII codes > 127).] '''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.] -* allowedCharacter {stringRange, valueClassProperty, unitProperty, unitModifierProperty}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.] -* conversionFactor {numericRange, unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.] -* defaultUnits {stringRange, unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.] -* deprecatedFrom {stringRange, elementProperty}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.] -* extensionAllowed {boolRange, nodeProperty, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] -* hedId {stringRange, elementProperty}[The unique identifier of this element in the HED namespace.] -* inLibrary {stringRange, elementProperty} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] -* relatedTag {stringRange, nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] -* requireChild {boolRange, nodeProperty}[This tag must have a descendent.] -* reserved {boolRange, nodeProperty}[This tag has special meaning and requires special handling by tools.] -* rooted {stringRange, nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] -* SIUnit {boolRange, unitProperty}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] -* SIUnitModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] -* SIUnitSymbolModifier {boolRange, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] -* suggestedTag {stringRange, nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] -* tagGroup {boolRange, nodeProperty}[This tag can only appear inside a tag group.] -* takesValue {boolRange, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] -* topLevelTagGroup {boolRange, nodeProperty}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] -* unique {boolRange, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.] -* unitClass {stringRange, nodeProperty}[The name of the unit class this placeholder tag belongs to.] -* unitPrefix {boolRange, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).] -* unitSymbol {boolRange, unitProperty}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.] -* valueClass {stringRange, nodeProperty}[The value class this placeholder tag belongs to..] +* allowedCharacter {stringRange, valueClassDomain, unitDomain, unitModifierDomain}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.] +* conversionFactor {numericRange, unitDomain, unitModifierDomain}[The factor to multiply these units or unit modifiers by to convert to default units.] +* defaultUnits {stringRange, unitClassDomain}[The default units to use if the placeholder has a unit class but the substituted value has no units.] +* deprecatedFrom {stringRange, elementDomain}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.] +* extensionAllowed {boolRange, nodeDomain, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] +* hedId {stringRange, elementDomain}[The unique identifier of this element in the HED namespace.] +* inLibrary {stringRange, elementDomain} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] +* relatedTag {stringRange, nodeDomain, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] +* requireChild {boolRange, nodeDomain}[This tag must have a descendent.] +* reserved {boolRange, nodeDomain}[This tag has special meaning and requires special handling by tools.] +* rooted {stringRange, nodeDomain}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] +* SIUnit {boolRange, unitDomain}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] +* SIUnitModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] +* SIUnitSymbolModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] +* suggestedTag {stringRange, nodeDomain, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] +* tagGroup {boolRange, nodeDomain}[This tag can only appear inside a tag group.] +* takesValue {boolRange, nodeDomain}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] +* topLevelTagGroup {boolRange, nodeDomain}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] +* unique {boolRange, nodeDomain}[Only one of this tag or its descendants can be used in the event-level HED string.] +* unitClass {stringRange, nodeDomain}[The name of the unit class this placeholder tag belongs to.] +* unitPrefix {boolRange, unitDomain}[This unit is a prefix unit (e.g., dollar sign in the currency units).] +* unitSymbol {boolRange, unitDomain}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.] +* valueClass {stringRange, nodeDomain}[The value class this placeholder tag belongs to..] '''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.] -* boolRange [The schema attribute maps to true or false. If present, it is assumed to be true.] -* elementProperty [The schema attribute can apply to any type of element (tag term, unit class, etc).] -* isInheritedProperty [The schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] -* nodeProperty [The schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.] -* numericRange [The schema attribute maps to a numeric value.] -* stringRange [The schema attribute maps to a string value.] -* unitClassProperty [The schema attribute applies to unit classes.] -* unitModifierProperty [The schema attribute applies to unit modifier classes.] -* unitProperty [The schema attribute applies to units within a unit class.] -* valueClassProperty [The schema attribute applies to value classes.] +* boolRange [This schema attribute's value can be true or false. This property was formerly named boolProperty.] +* elementDomain [This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.] +* isInheritedProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] +* nodeDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.] +* nodeRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.] +* numericRange [This schema attribute's value can be numeric.] +* stringRange [This schema attribute's value can be numeric.] +* unitClassDomain [This schema attribute can apply to unit classes. This property was formerly named unitClassProperty.] +* unitClassRange [This schema attribute's value can be a unit class.] +* unitModifierDomain [This schema attribute can apply to unit modifiers. This property was formerly named unitModifierProperty.] +* unitDomain [This schema attribute can apply to units. This property was formerly named unitProperty.] +* unitRange [This schema attribute's can be units.] +* valueClassDomain [This schema attribute can apply to value classes. This property was formerly named valueClassProperty.] +* valueClassRange [This schema attribute's value can be a value class.] '''Epilogue'''[This section citation, licensing, and other information.] This schema is released under the Creative Commons Attribution 4.0 International and is a product of the HED Working Group. The DOI for the latest version of the HED standard schema is 10.5281/zenodo.7876037. From 457ca70c33bbb353ed6c1b96925bb444fb3c875f Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Sat, 30 Mar 2024 16:18:14 -0500 Subject: [PATCH 3/4] Updated the domain and range of attributes for 8.3.0 --- standard_schema/prerelease/HED8.3.0.mediawiki | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki index f20cb54d..c02c16a6 100644 --- a/standard_schema/prerelease/HED8.3.0.mediawiki +++ b/standard_schema/prerelease/HED8.3.0.mediawiki @@ -1329,43 +1329,43 @@ Each term in this vocabulary has a human-readable description and may include ad * textClass {allowedCharacter=text}[Values that have the characteristics of text such as in descriptions. The text characters include printable characters (32 <= ASCII < 127) excluding comma, square bracket and curly braces as well as nonascii (ASCII codes > 127).] '''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.] -* allowedCharacter {stringRange, valueClassDomain, unitDomain, unitModifierDomain}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character.] -* conversionFactor {numericRange, unitDomain, unitModifierDomain}[The factor to multiply these units or unit modifiers by to convert to default units.] -* defaultUnits {stringRange, unitClassDomain}[The default units to use if the placeholder has a unit class but the substituted value has no units.] -* deprecatedFrom {stringRange, elementDomain}[The schema version number when this element was first deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.] -* extensionAllowed {boolRange, nodeDomain, isInheritedProperty}[Indicates that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] -* hedId {stringRange, elementDomain}[The unique identifier of this element in the HED namespace.] -* inLibrary {stringRange, elementDomain} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] -* relatedTag {stringRange, nodeDomain, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] -* requireChild {boolRange, nodeDomain}[This tag must have a descendent.] -* reserved {boolRange, nodeDomain}[This tag has special meaning and requires special handling by tools.] -* rooted {stringRange, nodeDomain}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] -* SIUnit {boolRange, unitDomain}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] -* SIUnitModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] -* SIUnitSymbolModifier {boolRange, unitModifierDomain}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] -* suggestedTag {stringRange, nodeDomain, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] -* tagGroup {boolRange, nodeDomain}[This tag can only appear inside a tag group.] -* takesValue {boolRange, nodeDomain}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] -* topLevelTagGroup {boolRange, nodeDomain}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] -* unique {boolRange, nodeDomain}[Only one of this tag or its descendants can be used in the event-level HED string.] -* unitClass {stringRange, nodeDomain}[The name of the unit class this placeholder tag belongs to.] -* unitPrefix {boolRange, unitDomain}[This unit is a prefix unit (e.g., dollar sign in the currency units).] -* unitSymbol {boolRange, unitDomain}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.] -* valueClass {stringRange, nodeDomain}[The value class this placeholder tag belongs to..] +* allowedCharacter {unitDomain, unitModifierDomain, valueClassDomain, stringRange}[A special character that is allowed in expressing the value of a placeholder of a specified value class. Allowed characters may be listed individual, named individually, or named as a group as specified in Section 2.2 Character sets and restrictions of the HED specification.] +* conversionFactor {unitDomain, unitModifierDomain, numericRange}[The factor to multiply these units or unit modifiers by to convert to default units.] +* defaultUnits {unitClassDomain, unitRange}[The default units to use if the placeholder has a unit class but the substituted value has no units.] +* deprecatedFrom {elementDomain, stringRange}[The latest schema version in which the element was not deprecated.] +* extensionAllowed {tagDomain, boolRange, isInheritedProperty}[Users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] +* hedId {elementDomain, stringRange}[The unique identifier of this element in the HED namespace.] +* inLibrary {elementDomain, stringRange} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] +* relatedTag {tagDomain, tagRange, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] +* requireChild {tagDomain, boolRange}[This tag must have a descendent.] +* reserved {tagDomain, boolRange}[This tag has special meaning and requires special handling by tools.] +* rooted {tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] +* SIUnit {unitDomain, boolRange}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] +* SIUnitModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] +* SIUnitSymbolModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] +* suggestedTag {tagDomain, stringRange, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] +* tagGroup {tagDomain, boolRange}[This tag can only appear inside a tag group.] +* takesValue {tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] +* topLevelTagGroup {tagDomain, boolRange}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] +* unique {tagDomain,boolRange}[Only one of this tag or its descendants can be used in the event-level HED string.] +* unitClass {tagDomain, stringRange}[The unit class that the value of a placeholder node can belong to.] +* unitPrefix {unitDomain, boolRange}[This unit is a prefix unit (e.g., dollar sign in the currency units).] +* unitSymbol {unitDomain, boolRange}[This tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized.] +* valueClass {tagDomain, valueClassRange}[Type of value taken on by the value of a placeholder node.] '''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.] * boolRange [This schema attribute's value can be true or false. This property was formerly named boolProperty.] * elementDomain [This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.] * isInheritedProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] -* nodeDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.] -* nodeRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.] +* tagDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.] +* tagRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.] * numericRange [This schema attribute's value can be numeric.] -* stringRange [This schema attribute's value can be numeric.] +* stringRange [This schema attribute's value can be a string.] * unitClassDomain [This schema attribute can apply to unit classes. This property was formerly named unitClassProperty.] * unitClassRange [This schema attribute's value can be a unit class.] * unitModifierDomain [This schema attribute can apply to unit modifiers. This property was formerly named unitModifierProperty.] * unitDomain [This schema attribute can apply to units. This property was formerly named unitProperty.] -* unitRange [This schema attribute's can be units.] +* unitRange [This schema attribute's value can be units.] * valueClassDomain [This schema attribute can apply to value classes. This property was formerly named valueClassProperty.] * valueClassRange [This schema attribute's value can be a value class.] From 18b853d7e2da757c8ea2abdae52eea043b506548 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Sun, 31 Mar 2024 13:47:49 -0500 Subject: [PATCH 4/4] Updated 8.3.0 mediawiki with new handling of attributes --- README.md | 2 +- standard_schema/prerelease/HED8.3.0.mediawiki | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f391f04f..57ded222 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ levels of changes in the semantic version: | Unit or unit class removed from node. | Major | | Node attribute value changed | Minor | | Inherited attribute change | Minor | -| New property added to schema | Minor | +| New property added to or removed from schema | Minor | | New value class added to schema | Minor | | New unit modifier added to schema | Minor | | New tag added to the schema. | Minor | diff --git a/standard_schema/prerelease/HED8.3.0.mediawiki b/standard_schema/prerelease/HED8.3.0.mediawiki index c02c16a6..7af49d69 100644 --- a/standard_schema/prerelease/HED8.3.0.mediawiki +++ b/standard_schema/prerelease/HED8.3.0.mediawiki @@ -423,7 +423,7 @@ Each term in this vocabulary has a human-readable description and may include ad *** Siren [A loud, continuous sound often varying in frequency designed to indicate an emergency.] '''Property''' {extensionAllowed}[Something that pertains to a thing. A characteristic of some entity. A quality or feature regarded as a characteristic or inherent part of someone or something. HED attributes are adjectives or adverbs.] -* Agent-property {extensionAllowed}[Something that pertains to an agent.] +* Agent-property [Something that pertains to an agent.] ** Agent-state [The state of the agent.] *** Agent-cognitive-state [The state of the cognitive processes or state of mind of the agent.] **** Alert [Condition of heightened watchfulness or preparation for action.] @@ -1333,19 +1333,19 @@ Each term in this vocabulary has a human-readable description and may include ad * conversionFactor {unitDomain, unitModifierDomain, numericRange}[The factor to multiply these units or unit modifiers by to convert to default units.] * defaultUnits {unitClassDomain, unitRange}[The default units to use if the placeholder has a unit class but the substituted value has no units.] * deprecatedFrom {elementDomain, stringRange}[The latest schema version in which the element was not deprecated.] -* extensionAllowed {tagDomain, boolRange, isInheritedProperty}[Users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] -* hedId {elementDomain, stringRange}[The unique identifier of this element in the HED namespace.] +* extensionAllowed {tagDomain, boolRange}[Users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders.] +* hedId {annotationProperty, elementDomain, stringRange}[The unique identifier of this element in the HED namespace.] * inLibrary {elementDomain, stringRange} [The named library schema that this schema element is from. This attribute is added by tools when a library schema is merged into its partnered standard schema.] -* relatedTag {tagDomain, tagRange, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] -* requireChild {tagDomain, boolRange}[This tag must have a descendent.] +* relatedTag {tagDomain, tagRange}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.] +* requireChild {annotationProperty, tagDomain, boolRange}[This tag must have a descendent.] * reserved {tagDomain, boolRange}[This tag has special meaning and requires special handling by tools.] -* rooted {tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] +* rooted {annotationProperty, tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.] * SIUnit {unitDomain, boolRange}[This unit element is an SI unit and can be modified by multiple and sub-multiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] * SIUnitModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.] * SIUnitSymbolModifier {unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.] -* suggestedTag {tagDomain, stringRange, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] +* suggestedTag {tagDomain, stringRange}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] * tagGroup {tagDomain, boolRange}[This tag can only appear inside a tag group.] -* takesValue {tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] +* takesValue {annotationProperty, tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] * topLevelTagGroup {tagDomain, boolRange}[This tag (or its descendants) can only appear in a top-level tag group. There are additional tag-specific restrictions on what other tags can appear in the group with this tag.] * unique {tagDomain,boolRange}[Only one of this tag or its descendants can be used in the event-level HED string.] * unitClass {tagDomain, stringRange}[The unit class that the value of a placeholder node can belong to.] @@ -1354,9 +1354,9 @@ Each term in this vocabulary has a human-readable description and may include ad * valueClass {tagDomain, valueClassRange}[Type of value taken on by the value of a placeholder node.] '''Properties''' [Properties of the schema attributes themselves. These are used for schema handling and verification.] +* annotationProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] * boolRange [This schema attribute's value can be true or false. This property was formerly named boolProperty.] * elementDomain [This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.] -* isInheritedProperty [This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] * tagDomain [This schema attribute can apply to node (tag-term) elements. This was added so attributes could apply to multiple types of elements. This property was formerly named nodeProperty.] * tagRange [This schema attribute's value can be a node. This property was formerly named nodeProperty.] * numericRange [This schema attribute's value can be numeric.]