Skip to content

Commit

Permalink
Merge pull request #156 from VisLab/main
Browse files Browse the repository at this point in the history
Added boolRange, stringRange, and numericRange schema properties.

**NOTE:** This schema cannot be converted to xml until the schema loader/converter is modified for new handling of schema attributes.  @IanCa
  • Loading branch information
VisLab authored Mar 31, 2024
2 parents 90ae08d + 18b853d commit 410a28f
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 40 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
85 changes: 46 additions & 39 deletions standard_schema/prerelease/HED8.3.0.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ Each term in this vocabulary has a human-readable description and may include ad
'''Agent''' <nowiki>{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.]</nowiki>
* Animal-agent <nowiki>[An agent that is an animal.]</nowiki>
* Avatar-agent <nowiki>[An agent associated with an icon or avatar representing another agent.]</nowiki>
* Controller-agent <nowiki>[An agent experiment control software or hardware.]</nowiki>
* Controller-agent <nowiki>[Experiment control software or hardware.]</nowiki>
* Human-agent <nowiki>[A person who takes an active role or produces a specified effect.]</nowiki>
* Robotic-agent <nowiki>[An agent mechanical device capable of performing a variety of often complex tasks on command or by being programmed in advance.]</nowiki>
* Software-agent <nowiki>[An agent computer program.]</nowiki>
* Software-agent <nowiki>[An agent computer program that interacts with the participant in an active role such as an AI advisor.]</nowiki>
'''Action''' <nowiki>{extensionAllowed}[Do something.]</nowiki>
* Communicate <nowiki>[Convey knowledge of or information about something.]</nowiki>
Expand Down Expand Up @@ -423,7 +423,7 @@ Each term in this vocabulary has a human-readable description and may include ad
*** Siren <nowiki>[A loud, continuous sound often varying in frequency designed to indicate an emergency.]</nowiki>
'''Property''' <nowiki>{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.]</nowiki>
* Agent-property <nowiki>{extensionAllowed}[Something that pertains to an agent.]</nowiki>
* Agent-property <nowiki>[Something that pertains to an agent.]</nowiki>
** Agent-state <nowiki>[The state of the agent.]</nowiki>
*** Agent-cognitive-state <nowiki>[The state of the cognitive processes or state of mind of the agent.]</nowiki>
**** Alert <nowiki>[Condition of heightened watchfulness or preparation for action.]</nowiki>
Expand Down Expand Up @@ -571,6 +571,7 @@ Each term in this vocabulary has a human-readable description and may include ad
***** None <nowiki>{relatedTag=All, relatedTag=Some}[No person or thing, nobody, not any.]</nowiki>
***** Some <nowiki>{relatedTag=All, relatedTag=None}[At least a small amount or number of, but not a large amount of, or often.]</nowiki>
***** True <nowiki>{relatedTag=False}[Conforming to facts, reality or definitive criteria.]</nowiki>
***** Unknown <nowiki>{relatedTag=Invalid}[The information has not been provided.]</nowiki>
***** Valid <nowiki>{relatedTag=Invalid}[Allowable, usable, or acceptable.]</nowiki>
***** Wrong <nowiki>{relatedTag=Correct}[Inaccurate or not correct.]</nowiki>
**** Categorical-judgment-value <nowiki>[Categorical values that are based on the judgment or perception of the participant such familiar and famous.]</nowiki>
Expand Down Expand Up @@ -1215,13 +1216,13 @@ Each term in this vocabulary has a human-readable description and may include ad
!# end schema

'''Unit classes''' <nowiki>[Unit classes and the units for the nodes.]</nowiki>
* accelerationUnits <nowiki>{defaultUnits=m-per-s^2, allowedCharacter=caret}</nowiki>
* accelerationUnits <nowiki>{defaultUnits=m-per-s^2}</nowiki>
** m-per-s^2 <nowiki>{SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret}</nowiki>
* angleUnits <nowiki>{defaultUnits=radian}</nowiki>
** radian <nowiki>{SIUnit, conversionFactor=1.0}</nowiki>
** rad <nowiki>{SIUnit, unitSymbol, conversionFactor=1.0}</nowiki>
** degree <nowiki>{conversionFactor=0.0174533}</nowiki>
* areaUnits <nowiki>{defaultUnits=m^2, allowedCharacter=caret}</nowiki>
* areaUnits <nowiki>{defaultUnits=m^2}</nowiki>
** m^2 <nowiki>{SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret}</nowiki>
* currencyUnits <nowiki>{defaultUnits=$}[Units indicating the worth of something.]</nowiki>
** dollar <nowiki>{conversionFactor=1.0}</nowiki>
Expand All @@ -1238,7 +1239,7 @@ Each term in this vocabulary has a human-readable description and may include ad
** dB <nowiki>{unitSymbol, conversionFactor=1.0}[Intensity expressed as ratio to a threshold. May be used for sound intensity.]</nowiki>
** candela <nowiki>{SIUnit}[Units used to express light intensity.]</nowiki>
** cd <nowiki>{SIUnit, unitSymbol}[Units used to express light intensity.]</nowiki>
* jerkUnits <nowiki>{defaultUnits=m-per-s^3, allowedCharacter=caret}</nowiki>
* jerkUnits <nowiki>{defaultUnits=m-per-s^3}</nowiki>
** m-per-s^3 <nowiki>{unitSymbol, conversionFactor=1.0, allowedCharacter=caret}</nowiki>
* magneticFieldUnits <nowiki>{defaultUnits=T}</nowiki>
** tesla <nowiki>{SIUnit, conversionFactor=10e-15}</nowiki>
Expand Down Expand Up @@ -1268,7 +1269,7 @@ Each term in this vocabulary has a human-readable description and may include ad
** minute <nowiki>{conversionFactor=60}</nowiki>
** hour <nowiki>{conversionFactor=3600}[Should be in 24-hour format.]</nowiki>
** year <nowiki>[Years do not have a constant conversion factor to seconds.]</nowiki>
* volumeUnits <nowiki>{defaultUnits=m^3, allowedCharacter=caret}</nowiki>
* volumeUnits <nowiki>{defaultUnits=m^3}</nowiki>
** m^3 <nowiki>{SIUnit, unitSymbol, conversionFactor=1.0, allowedCharacter=caret}</nowiki>
* weightUnits <nowiki>{defaultUnits=g}</nowiki>
** g <nowiki>{SIUnit, unitSymbol, conversionFactor=1.0}</nowiki>
Expand Down Expand Up @@ -1325,42 +1326,48 @@ Each term in this vocabulary has a human-readable description and may include ad
* nameClass <nowiki>{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.]</nowiki>
* numericClass <nowiki>{allowedCharacter=digits,allowedCharacter=E,allowedCharacter=e,allowedCharacter=plus,allowedCharacter=hyphen,allowedCharacter=period}[Value must be a valid numerical value.]</nowiki>
* posixPath <nowiki>{allowedCharacter=digits,allowedCharacter=letters,allowedCharacter=slash,allowedCharacter=colon}[Posix path specification.]</nowiki>
* textClass <nowiki>{allowedCharacter=text}
* textClass <nowiki>{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).]</nowiki>
'''Schema attributes''' <nowiki>[Allowed attribute modifiers of other sections of the schema.]</nowiki>
* allowedCharacter <nowiki>{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.]</nowiki>
* conversionFactor <nowiki>{unitProperty, unitModifierProperty}[The factor to multiply these units or unit modifiers by to convert to default units.]</nowiki>
* defaultUnits <nowiki>{unitClassProperty}[The default units to use if the placeholder has a unit class but the substituted value has no units.]</nowiki>
* deprecatedFrom <nowiki>{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.]</nowiki>
* extensionAllowed <nowiki>{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.]</nowiki>
* hedId <nowiki>{elementProperty}[The unique identifier of this element in the HED namespace.]</nowiki>
* inLibrary <nowiki>{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.]</nowiki>
* relatedTag <nowiki>{nodeProperty, isInheritedProperty}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]</nowiki>
* requireChild <nowiki>{boolProperty, nodeProperty}[This tag must have a descendent.]</nowiki>
* reserved <nowiki>{boolProperty, nodeProperty}[This tag has special meaning and requires special handling by tools.]</nowiki>
* rooted <nowiki>{nodeProperty}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]</nowiki>
* SIUnit <nowiki>{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.]</nowiki>
* SIUnitModifier <nowiki>{boolProperty, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]</nowiki>
* SIUnitSymbolModifier <nowiki>{boolProperty, unitModifierProperty}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]</nowiki>
* suggestedTag <nowiki>{nodeProperty, isInheritedProperty}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]</nowiki>
* tagGroup <nowiki>{boolProperty, nodeProperty}[This tag can only appear inside a tag group.] </nowiki>
* takesValue <nowiki>{boolProperty, nodeProperty}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] </nowiki>
* topLevelTagGroup <nowiki>{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.] </nowiki>
* unique <nowiki>{boolProperty, nodeProperty}[Only one of this tag or its descendants can be used in the event-level HED string.]</nowiki>
* unitClass <nowiki>{nodeProperty}[The unit class this placeholder tag belongs to.]</nowiki>
* unitPrefix <nowiki>{boolProperty, unitProperty}[This unit is a prefix unit (e.g., dollar sign in the currency units).]</nowiki>
* unitSymbol <nowiki>{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.]</nowiki>
* valueClass <nowiki>{nodeProperty}[The value class this placeholder tag belongs to..]</nowiki>
* allowedCharacter <nowiki>{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.]</nowiki>
* conversionFactor <nowiki>{unitDomain, unitModifierDomain, numericRange}[The factor to multiply these units or unit modifiers by to convert to default units.]</nowiki>
* defaultUnits <nowiki>{unitClassDomain, unitRange}[The default units to use if the placeholder has a unit class but the substituted value has no units.]</nowiki>
* deprecatedFrom <nowiki>{elementDomain, stringRange}[The latest schema version in which the element was not deprecated.]</nowiki>
* extensionAllowed <nowiki>{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.]</nowiki>
* hedId <nowiki>{annotationProperty, elementDomain, stringRange}[The unique identifier of this element in the HED namespace.]</nowiki>
* inLibrary <nowiki>{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.]</nowiki>
* relatedTag <nowiki>{tagDomain, tagRange}[A HED tag that is closely related to this tag. This attribute is used by tagging tools.]</nowiki>
* requireChild <nowiki>{annotationProperty, tagDomain, boolRange}[This tag must have a descendent.]</nowiki>
* reserved <nowiki>{tagDomain, boolRange}[This tag has special meaning and requires special handling by tools.]</nowiki>
* rooted <nowiki>{annotationProperty, tagDomain, tagRange}[This top-level library schema node should have a parent which is the indicated node in the partnered standard schema.]</nowiki>
* SIUnit <nowiki>{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.]</nowiki>
* SIUnitModifier <nowiki>{unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a base unit rather than a unit symbol.]</nowiki>
* SIUnitSymbolModifier <nowiki>{unitModifierDomain, boolRange}[This SI unit modifier represents a multiple or sub-multiple of a unit symbol rather than a base symbol.]</nowiki>
* suggestedTag <nowiki>{tagDomain, stringRange}[A tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.]</nowiki>
* tagGroup <nowiki>{tagDomain, boolRange}[This tag can only appear inside a tag group.] </nowiki>
* takesValue <nowiki>{annotationProperty, tagDomain, boolRange}[This tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] </nowiki>
* topLevelTagGroup <nowiki>{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.] </nowiki>
* unique <nowiki>{tagDomain,boolRange}[Only one of this tag or its descendants can be used in the event-level HED string.]</nowiki>
* unitClass <nowiki>{tagDomain, stringRange}[The unit class that the value of a placeholder node can belong to.]</nowiki>
* unitPrefix <nowiki>{unitDomain, boolRange}[This unit is a prefix unit (e.g., dollar sign in the currency units).]</nowiki>
* unitSymbol <nowiki>{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.]</nowiki>
* valueClass <nowiki>{tagDomain, valueClassRange}[Type of value taken on by the value of a placeholder node.]</nowiki>
'''Properties''' <nowiki>[Properties of the schema attributes themselves. These are used for schema handling and verification.]</nowiki>
* boolProperty <nowiki>[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.]</nowiki>
* elementProperty <nowiki>[Indicates a schema attribute can apply to any type of element (tag term, unit class, etc).]</nowiki>
* isInheritedProperty <nowiki>[Indicates a schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]</nowiki>
* nodeProperty <nowiki>[Indicates a attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.]</nowiki>
* unitClassProperty <nowiki>[Indicates a schema attribute applies to unit classes.]</nowiki>
* unitModifierProperty <nowiki>[Indicates a schema attribute applies to unit modifier classes.]</nowiki>
* unitProperty <nowiki>[Indicates a schema attribute applies to units within a unit class.]</nowiki>
* valueClassProperty <nowiki>[Indicates a schema attribute applies to value classes.]</nowiki>
* annotationProperty <nowiki>[This schema attribute is inherited by child nodes. This property only applies to schema attributes for nodes.]</nowiki>
* boolRange <nowiki>[This schema attribute's value can be true or false. This property was formerly named boolProperty.]</nowiki>
* elementDomain <nowiki>[This schema attribute can apply to any type of element (tag term, unit class, etc). This property was formerly named elementProperty.]</nowiki>
* tagDomain <nowiki>[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.]</nowiki>
* tagRange <nowiki>[This schema attribute's value can be a node. This property was formerly named nodeProperty.]</nowiki>
* numericRange <nowiki>[This schema attribute's value can be numeric.]</nowiki>
* stringRange <nowiki>[This schema attribute's value can be a string.]</nowiki>
* unitClassDomain <nowiki>[This schema attribute can apply to unit classes. This property was formerly named unitClassProperty.]</nowiki>
* unitClassRange <nowiki>[This schema attribute's value can be a unit class.]</nowiki>
* unitModifierDomain <nowiki>[This schema attribute can apply to unit modifiers. This property was formerly named unitModifierProperty.]</nowiki>
* unitDomain <nowiki>[This schema attribute can apply to units. This property was formerly named unitProperty.]</nowiki>
* unitRange <nowiki>[This schema attribute's value can be units.]</nowiki>
* valueClassDomain <nowiki>[This schema attribute can apply to value classes. This property was formerly named valueClassProperty.]</nowiki>
* valueClassRange <nowiki>[This schema attribute's value can be a value class.]</nowiki>
'''Epilogue'''<wiki>[This section citation, licensing, and other information.]</nowiki>
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.
Expand Down

0 comments on commit 410a28f

Please sign in to comment.