From 247422d577e04a3aff0745742526ede8bb737330 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Mon, 17 Apr 2023 11:15:47 -0500 Subject: [PATCH 01/13] Started working on the merged schemas --- docs/source/03_HED_formats.md | 65 ++++ docs/source/06_Infrastructure_and_tools.md | 3 +- docs/source/07_Library_schemas.md | 238 +++++++++++++- docs/source/Appendix_B.md | 28 +- docs/source/conf.py | 4 +- tests/json_tests/CHARACTER_INVALID.json | 37 ++- tests/json_tests/SIDECAR_BRACES_INVALID.json | 328 +++++++++++++++++++ 7 files changed, 674 insertions(+), 29 deletions(-) create mode 100644 tests/json_tests/SIDECAR_BRACES_INVALID.json diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 1255976..9d1b131 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -1036,6 +1036,71 @@ Errors that are particularly relevant to sidecars include [**PLACEHOLDER_INVALID If the sidecar is missing an annotation for a categorical column value, the [**SIDECAR_KEY_MISSING**](./Appendix_B.md#sidecar_key_missing) warning is generated. +#### 3.2.9.3. Sidecar curly braces + +The curly brace notation is new with HED specification version 3.2.0 and is +supported by all versions of the HED schema ≥ 8.0.0. +The notation was introduced to +facilitate proper nesting of HED tags associated with different event file +columns when the complete HED annotation for an event marker is assembled. + +When a column name appears in curly braces within a HED annotation in +a JSON sidecar, the corresponding HED annotation for that row is substituted +for the curly braces and their contents when the HED annotation is assembled. + + +``````{admonition} Rules for curly braces notation in sidecars. +:class: tip + +1. The item within the curly braces must either be the word `HED` or +the name of another HED-annotated column within the sidecar. +2. The HED annotation for the column in curly braces directly replaces the curly braces and their contents in the target annotation. +3. A sidecar column name cannot both appear in a curly braces and have +an annotation that uses curly braces (to prevent circular references). +4. The curly braces cannot be used within a `Definition`. + +`````` + +The following example illustrates the three types of JSON sidecar entries that are relevant to HED. +Entries without a `"HED"` key in the second level entry dictionaries are ignored. + +(example-sidecar-anchor)= +````{Admonition} Examples of the three types of sidecar annotation entries relevant to HED +:class: tip +```json +{ + "trial_type": { + "LongName": "Event category", + "Description": "Indicator of type of action that is expected", + "HED": { + "go": "Sensory-event, Visual-presentation, (Square, Blue)", + "stop": "Sensory-event, Visual-presentation, (Square, Red)" + } + }, + "response_time": { + "LongName": "Response time after stimulus", + "Description": "Time from stimulus presentation until subject presses button", + "HED": "(Delay/# ms, Agent-action, (Experiment-participant, (Press, Mouse-button)))" + }, + "dummy_defs": { + "HED": { + "MyDef1": "(Definition/Cue1, (Buzz))", + "MyDef2": "(Definition/Image/#, (Image, Face, Label/#))" + } + } +} +``` +```` + + +If curly braces appear in an ordinary HED annotation (not in a sidecar), +an [**CHARACTER_INVALID**](./Appendix_B.md#character_invalid) error is generated. +If a sidecar appears in a `Definition`, +a [**DEFINITION_INVALID**](./Appendix_B.md#definition_invalid) error is generated. +If the curly brace notation is used improperly in a sidecar or elsewhere, a +[**SIDECAR_BRACES_INVALID**](./Appendix_B.md#sidecar_braces_invalid) is generated. + + ### 3.2.10. Tabular files diff --git a/docs/source/06_Infrastructure_and_tools.md b/docs/source/06_Infrastructure_and_tools.md index c18c6c8..8ba0edc 100644 --- a/docs/source/06_Infrastructure_and_tools.md +++ b/docs/source/06_Infrastructure_and_tools.md @@ -53,7 +53,8 @@ on tag forms. Tools may assume that validated HED strings have no duplicates, empty tags, empty groups (parentheses enclosing only whitespace), or mismatched parentheses. -Grouping with parentheses in HED means that the tags are associated. +Grouping with parentheses in HED indicates that the tags are associated. +Where possible, parentheses should be preserved. ````{warning} HED-compliant tools should be able to handle arbitrary correctly **nested parentheses** diff --git a/docs/source/07_Library_schemas.md b/docs/source/07_Library_schemas.md index 0cac1b0..d670f2d 100644 --- a/docs/source/07_Library_schemas.md +++ b/docs/source/07_Library_schemas.md @@ -1,4 +1,6 @@ -# 7. Library schema +# 7. Library schemas + +## 7.1. Why library schemas? The variety and complexity of events in electrophysiological experiments makes full documentation challenging. As more experiments move out of controlled laboratory environments @@ -17,13 +19,171 @@ Including these discipline-specific terms quickly makes the standard HED schema usable by the broader user community. Third generation HED instead introduces the concept of the **HED library schema**. -To use a programming analogy, when programmers write a Python module, the resulting code -does not become part of the Python language or core libraries. Instead, the module becomes -part of a library used in conjunction with core modules of the programming language. +To use a programming analogy, when programmers write a Python module, +the resulting code does not become part of the Python language or core libraries. +Instead, the module becomes part of a library used in conjunction with +core modules of the programming language. +A library schema contains the specialized vocabulary terms needed +for event annotation in a specialized area. +An example of such a library is the [**HED SCORE schema**](https://hed-schemas.readthedocs.io/en/latest/hed_score_schema.html) for annotation of EEG by clinicians. + +## 7.2 Partnered schemas + +HED library schemas were originally assumed to be **standalone** vocabularies, +complete with all the needed schema attributes and properties. +These standalone library schemas were usually used in conjunction with the +HED standard schema, and the tags from the two different vocabularies +were distinguished by prefixing the tags from one of the vocabularies with `xx:`. +Here `xx:` is called the **namespace** for the schema within the annotation +and is chosen by the annotator. + +**Partnered library schemas** were introduced in HED specification version 3.2.0 +and are supported by HED standard schema versions ≥ 8.2.0. + +A partnered library schema version is tied to a specific version of the HED standard schema +as specified in its header. +A given library schema version is either partnered or standalone. + +### 7.2.1 Partnered formats + +The XML file corresponding to a partnered library schema is a single, unified schema +consisting of the information in both the library and its standard schema partner +and validated for consistency. + +Downstream tools, which use the XML version, +see a single unified schema and can process a partnered library schema with no special handling. +The following example shows the XML header for SCORE library version 1.1.0. + +````{admonition} XML header for SCORE library 1.1.0 partnered with 8.2.0. +```xml + + + +``` +```` +The filename for this `.xml` file is `HED_score_1.1.0.xml`. + +As with any HED schema development, schema builders specify a schema in `mediawiki` markdown format. +The following example shows the header for the `.mediawiki` file of a partnered library schema. + +````{admonition} Mediawiki header for SCORE library 1.1.0 partnered with 8.2.0. +```html +HED library="score" version="1.1.0" withStandard="8.2.0" +``` +```` + +The filename for this `.mediawiki` file is `HED_score_1.1.0.mediawiki`. + +Tools also support an alternative form of the `.mediawiki` library schema +containing only the library portion of the schema. +The header for an unmerged schema is: + +````{admonition} Mediawiki header for SCORE library 1.1.0 partnered with 8.2.0 (unmerged). +```html +HED library="score" version="1.1.0" withStandard="8.2.0" unmerged +``` +```` + +If a partner is declared, +the merged library schema will appear in the `hedxml` folder for the respective library on +[**hed-schemas**](https://github.com/hed-standard/hed-schemas) GitHub repository +for download by tools. + +The filename for this unmerged schema is `HED_score_1.1.0_unmerged.mediawiki`. +Conversion tools are supplied to convert among the three formats +(`.xml`, `.mediawiki` and `unmerged.mediawiki`). + +7.2.2 Partnered support + +To support partnered library schema the following items were introduced in +HED standard schema 8.2.0: + +| Name | Type | Role | +| --------- | ----- | ---- | +| `withStandard` | Header attribute | | +| `unmerged` | Header attribute | | +| `inLibrary` | Node attribute | | +| `rooted` | Node attribute | | +| `reserved` | Node attribute | | + + +### 7.2.3 Motivation for partners +Starting with HED specification version 3.2.0 and HED standard schema version 8.2.0, +**partnered library schema** have become the recommended form for library schemas. +This section describes the motivation for this preference. + +#### 7.2.3.1 Auxiliary consistency + +A standalone library schema must duplicate the +[**auxiliary schema sections**](https://hed-specification.readthedocs.io/en/latest/Appendix_A.html#a-1-auxiliary-schema-sections) appearing in standard schemas. +Although standalone library schemas may add additional items to the auxiliary sections, +HED tools only guarantee support of standard schema auxiliary items requiring special handling. +Partnered library schema automatically inherit the partner standard schema's auxiliary attributes, +this assuring consistent handling by tools and preventing the introduction of inconsistenly +handled attributes. + +#### 7.2.3.2 Reserved tag consistency + +Several tags in the standard schema such as `Definition`, `Onset`, and `Offset` +define the structure of events and the data. +By partnering with a standard schema a library schema is assured of having +HED support for key features such as events of temporal extent and definitions. + +One of the difficult +Library schemas are not allowed to reuse these *reserved* tags and were discouraged from +reusing any terms appearing in the standard schema. +Since the standard schema evolves over time, this requirement is impossible to check without +pairing the library schema to a specific version of the +These *reserved* tags were assumed to +have the same meaning regardless of the schema in which they appeared. + +#### 7.2.3.3 Library search + +The subtrees appearing in the library schemas are often elaborations of a particular term +in the standard schema. +However, if the library schema terms are not in appropriate standard schema hierarchy, +HED search can not be leveraged to find these elaborations by searching for a more +general standard schema term. + +#### 7.2.3.4 Annotation conciseness + +The most common use case of library schema in annotation requires tags from both +a standard schema and a library schema, thus requiring that a `xx:` be assigned to tags from +one of the schemas. + +Because the library schema is merged with its respective partner standard schema, +uses can annotate using the unified schema without the `xx:` prefix. +The `xx:` is still needed if more than one library schema is used. + +#### 7.2.3.5 Suggested tags + +Library schema designers cannot use the `suggestedTag` attribute to suggest using particular +tags from the standard schema for annotators to use with a given library schema tag. +However, with partnered library schemas, validation is only performed on +the merged versions of the schema, so tags from the standard schema can be used +as `suggestTag` or `relatedTag` values. + +Partnered library schemas solve these issues by declaring a specific standard schema version +that the library schema will be merged with to create a single unified XML-formatted schema +for tools to use in validation and analysis. +Individual subtrees in the library schema can be top-level subtrees or rooted to a node +in the partnered standard schema. + + + +A partnered library schema can also use tags from its partnered standard schema +as suggested tags, since each version of the library schema is partnered with a +specific version of the standard schema. + + + +## 7.3 Library schema design Similar to the design principles imposed on function names and subclass organization in software development, HED library schemas must conform to some basic rules: +### 7.3.1 Library design rules + ``````{admonition} Rules for HED library schema design. :class: tip @@ -65,7 +225,7 @@ please make a request using the [**HED examples issues**](https://github.com/hed A schema should not duplicate tags found in the standard schema. -## 7.1. Defining a schema +### 7.3.2 Defining a schema A HED library schema is defined in the same way as the standard HED schema except that it has an additional attribute name-value pair `library="xxx"` @@ -110,7 +270,7 @@ The schema XML file should be saved as `HED_driving_1.0.0.xml` so that tools can The official location of HED standard and library schemas is the [**hed-schemas**](https://github.com/hed-standard/hed-schemas) GitHub repository. -## 7.2. Schema namespaces +### 7.3.3 Schema namespaces As part of the HED annotation process, users must associate one or more HED schemas with their datasets. @@ -134,14 +294,14 @@ dp:Change-lanes A colon (`:`) is used to separate the qualifying local name from the remainder of the tag. -## 7.3. Library schema layout +### 7.3.4 Library schema layout In addition to the specification of tags in the main part of a schema, a HED schema has sections that specify unit classes, unit modifiers, value classes, schema attributes, and properties. The rules for the handling of these sections for a library schema are as follows: -### 7.3.1. Required sections +#### 7.4.1. Required sections The required sections of a library schema are the same as those for the standard schema. @@ -150,7 +310,7 @@ These sections are listed in The library schema must include all required schema sections even if the content of these sections is empty. -### 7.3.2. Relation to standard HED schema +#### 7.4.2. Relation to standard HED schema Any schema attribute, unit class, unit modifier, value class, or property used in the library schema must be specified in the appropriate section of the library schema @@ -158,14 +318,14 @@ regardless of whether these appear in the standard HED schema. Validators check schema strictly on the basis of its own specification without reference to another schema. -### 7.3.3. Schema properties +#### 7.4.3. Schema properties HED only supports the schema properties listed in [**A.1.5. Schema properties**](./Appendix_A.md#a15-schema-properties). If the library schema uses one of these in the library schema specification, then its specification must appear in the *property-specification* section of the library schema. -### 7.3.4. Unit classes +#### 7.4.4. Unit classes The library schema may define unit classes and units as desired or include unit classes or units from the standard HED schema. Similarly, library schema may define unit modifiers or @@ -173,7 +333,7 @@ reuse unit modifiers from the standard HED schema. HED validation and basic anal validate these based strictly on the schema specification and do not use any outside information for these. -### 7.3.5. Value classes +#### 7.4.5. Value classes The standard value classes listed in [**A.1.3. Value classes**](./Appendix_A.md#(a-13-value-classes) are the only value classes that should be used in designing library schemas as @@ -186,7 +346,7 @@ specify their allowed characters, but no additional hard-coded behavior will be available in the standard toolset. This does not preclude special-purpose tools from incorporating their own behavior. -### 7.3.6. Schema attributes +#### 7.4.6. Schema attributes The standard schema attributes listed in [**A.1.4. Schema attributes**](./Appendix_A.md#(*allowedCharacter*, *defaultUnits*, *extensionAllowed*, @@ -199,7 +359,7 @@ They will be checked for syntax, but no additional hard-coded behavior will be a in the standard toolset. This does not preclude special-purpose tools from incorporating their own behavior. -### 7.3.7. Syntax checking +#### 7.4.7. Syntax checking Regardless of whether an entity is in the standard HED schema or a library schema, HED schema validation tools perform basic syntax checking. @@ -213,7 +373,7 @@ HED schema validation tools perform basic syntax checking. 4. Actual handling of the semantics by HED tools only occurs for entities appearing in the standard HED schema. ```` -## 7.4. Library schemas in BIDS +## 7.5. Library schemas in BIDS The most common use case (for 99.9% of the HED users) is to tag events using a standard HED schemas (preferably the latest one) available in the @@ -274,7 +434,7 @@ The array specification of the schema versions can have at most one version appearing without a colon prefix. -### 7.1. Using library schema in BIDS +### 7.5.1 Using library schema in BIDS The following `datset_description.json` of a BIDS dataset indicates that HED standard schema version 8.1.0 should be used @@ -305,3 +465,49 @@ and [**Appendix A: Schema format details**](Appendix_A.md) for additional inform Schema developers should also consult the [**HED schema development guide**](https://www.hed-resources.org/en/latest/HedSchemaDevelopmentGuide.html). +### 7.5.2 Partnered schemas in BIDS + +In the following example of a BIDS `dataset_description.json`, +the annotator indicates that tags from the SCORE library version 1.0.0 will prefixed by `sc:`, +while tags from HED standard schema version 8.1.0 will not be prefixed. + + +````{admonition} **Example:** BIDS dataset description using HED version 8.1.0 and score library 1.0.0. +```json + +{ + "Name": "A great experiment", + "BIDSVersion": "1.8.0", + "HEDVersion": ["8.1.0", "sc:score_1.0.0"] +} +``` +```` + + +In the following example of a BIDS `dataset_description.json`, +the annotator indicates that tags from the SCORE library version 1.1.0 partnered schema. + +````{admonition} **Example:** BIDS dataset description using score library 1.1.0 partered with 8.2.0. +```json + +{ + "Name": "A great experiment", + "BIDSVersion": "1.8.0", + "HEDVersion": "score_1.1.0" +} +``` +```` + + + +Notice that standard schema version 8.2.0 is not mentioned in the `HEDVersion` field. +This is because a given version of a library schema is partnered with a fixed version +of the standard schema as indicated by the schema header using the `withStandard`: + + +If schema designers wish to partner with a different version of the standard schema, +they must release a distinct version of the library schema. + +**Partnered library schema are strongly encouraged**. +Library schema designers should partner with the latest HED standard schema and +ideally release a new partnered version when a new version of the HED standard schema is released. \ No newline at end of file diff --git a/docs/source/Appendix_B.md b/docs/source/Appendix_B.md index 9c0c8be..aa40398 100644 --- a/docs/source/Appendix_B.md +++ b/docs/source/Appendix_B.md @@ -25,9 +25,9 @@ of errors keyed to the HED specification. A HED string contains an invalid character. -**a.** The HED string contains a UTF-8 character. +**a.** The HED string contains a UTF-8 character. +**b.** Curly braces appear in a HED string not in a sidecar. -**b.** An extension or a value substituted for a `#` is not allowed by its value class. **Notes:** - HED uses ANSI encoding and does not support UTF-8. @@ -90,13 +90,14 @@ the definition's contents. **a.** A `Definition` tag does not appear in a tag group at the top level in an annotation. **b.** A definition's enclosing tag group is missing the inner tag group (.i.e., the definition's contents). **c.** A definition's enclosing tag group contains more than a `Definition` tag and an inner group. -**d.** A definition's inner tag group contains `Definition`, `Def` or `Def-expand` tags. -**e.** A definition that includes a placeholder (`#`) does not have exactly two `#` characters. -**f.** A definition has placeholders (`#`) in incorrect positions. -**g.** Definitions of the same name appear with and without a `#`. -**h.** Multiple `Definition` tags with same name are encountered. -**i.** A tag with a `required` or `unique` attribute appears in a definition. -**j.** A definition appears in an unexpected place such as an events file. +**d.** A definition's inner tag group contains `Definition`, `Def` or `Def-expand` tags. +**e.** A definition uses curly braces. +**f.** A definition that includes a placeholder (`#`) does not have exactly two `#` characters. +**g.** A definition has placeholders (`#`) in incorrect positions. +**h.** Definitions of the same name appear with and without a `#`. +**i.** Multiple `Definition` tags with same name are encountered. +**j.** A tag with a `required` or `unique` attribute appears in a definition. +**k.** A definition appears in an unexpected place such as an events file. See [**3.2.8.1. The Definition tag**](./03_HED_formats.md#3281-the-definition-tag) for an explanation of the rules for definitions. @@ -170,6 +171,15 @@ An assembled event string must include all tags having the *required* schema att See [**3.2.10.2. Event-level processing**](./03_HED_formats.md#32102-event-level-processing) for additional information on the `required` tag. +### SIDECAR_BRACES_INVALID + +**a.** A name appearing in curly braces in a sidecar HED annotation is not the word `HED` or the name of a HED-annotated column in the sidecar. +**b.** A column name entry in a sidecar has a HED annotation with curly braces, but this name also appears in curly braces in another HED annotation. +**c.** The curly braces in a sidecar are nested or unmatched. + +See [**3.2.9.3. Sidecar curly braces**](./03_HED_formats.md#3293-sidecar-curly-braces) for information +on the requirements for using sidecars. + ### SIDECAR_INVALID **a.** The `"HED"` key is not a second-level dictionary key. diff --git a/docs/source/conf.py b/docs/source/conf.py index fe57894..3078645 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -25,8 +25,8 @@ author = 'HED Working Group' # The full version, including alpha/beta/rc tags -release = '3.1.1' -version = '3.1.1' +release = '3.2.0' +version = '3.2.0' currentdir = os.path.abspath(os.path.dirname(__file__)) diff --git a/tests/json_tests/CHARACTER_INVALID.json b/tests/json_tests/CHARACTER_INVALID.json index d2bfdf5..8b88238 100644 --- a/tests/json_tests/CHARACTER_INVALID.json +++ b/tests/json_tests/CHARACTER_INVALID.json @@ -86,5 +86,40 @@ ] } } + }, + { + "error_code": "CHARACTER_INVALID", + "name": "curly-braces-not-in-sidecar", + "description": "The curly brace notation is used outside of a sidecar.", + "schema": "8.1.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + "{col_1}, Red" + ], + "passes": [ + "Red, Blue, Description/Red" + ] + }, + "sidecar_tests": { + }, + "event_tests": { + "fails": [ + [ + ["onset", "duration", "HED"], + [ 4.5, 0, "{who_knows}, Red"] + ] + ], + "passes": [ + [ + ["onset", "duration", "HED"], + [ 4.5, 0, "Label/Temp"] + ] + ] + }, + "combo_tests": { + } + } } -] \ No newline at end of file + ] \ No newline at end of file diff --git a/tests/json_tests/SIDECAR_BRACES_INVALID.json b/tests/json_tests/SIDECAR_BRACES_INVALID.json new file mode 100644 index 0000000..c2d381d --- /dev/null +++ b/tests/json_tests/SIDECAR_BRACES_INVALID.json @@ -0,0 +1,328 @@ +[ + { + "error_code": "SIDECAR_BRACES_INVALID", + "name": "sidecar-braces-contents-invalid", + "description": "The item in curly braces is not the word HED or a column name with HED annotations in the sidecar.", + "schema": "8.1.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description but no HED" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_action": { + "Description": "Does not correspond to curly braces" + } + } + ], + "passes": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{HED}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_action": { + "Description": "Does not correspond to curly braces" + } + } + ] + }, + "event_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "combo_tests": { + "fails": [ + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": + [ + ["onset", "duration", "event_code","HED"], + [ 4.5, 0, "face", "Blue"], + [ 5.0, 0, "ball", "Green, Def/MyColor"], + [ 5.0, 0, "face", ""], + [ 5.0, 0, "face", "n/a"] + ] + } + ] + } + } + }, + { + "error_code": "SIDECAR_BRACES_INVALID", + "name": "sidecar-braces-circular-reference", + "description": "The item in curly braces has a HED annotation that contains curly braces.", + "schema": "8.2.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), {HED}", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description but no HED", + "HED": "Label/#, {event_code}" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), {HED}", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)", + "dog": "Orange, {event_type}" + } + }, + "response_time": { + "Description": "Has description but no HED", + "HED": "Label/#" + }, + "event_type": { + "banana": "Blue, {response_time}", + "apple": "Green" + } + } + ], + "passes": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + }, + "response_count": { + "Description": "A count used to test curly braces in value columns.", + "HED": "(Item-count/#, {response_time})" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{HED}, (Def/Acc/3.5 m-per-s^2, {response_action})" + } + }, + "response_action": { + "Description": "Does not correspond to curly braces", + "HED": "Label/#" + } + } + ] + }, + "event_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "combo_tests": { + "fails": [ + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": + [ + ["onset", "duration", "response_time", "event_code","HED"], + [ 4.5, 0, 3.4, "face", "Blue"], + [ 5.0, 0, 6.8, "ball", "Green, Def/MyColor"], + [ 5.0, 0, "n/a", "face", ""], + [ 5.0, 0, "any", "face", "n/a"] + ] + } + ] + } + } + }, + { + "error_code": "SIDECAR_BRACES_INVALID", + "name": "sidecar-braces-nested-or-mismatched", + "description": "The curly braces in the sidecar are mismatched or nested.", + "schema": "8.1.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{response_time}{, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description but no HED", + "HED": "Label/#" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description but no HED", + "HED": "Label/#" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{{response_time}}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description but no HED", + "HED": "Label/#" + } + } + ], + "passes": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), ({response_time}),(Green, (Yellow))", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "({HED}, (Def/Acc/3.5 m-per-s^2))" + } + }, + "response_action": { + "Description": "Does not correspond to curly braces" + } + } + ] + }, + "event_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "combo_tests": { + "fails": [ + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": + [ + ["onset", "duration", "event_code","HED"], + [ 4.5, 0, "face", "Blue"], + [ 5.0, 0, "ball", "Green, Def/MyColor"], + [ 5.0, 0, "face", ""], + [ 5.0, 0, "face", "n/a"] + ] + } + ] + } + } + } +] \ No newline at end of file From 41dcb63e820706d050cd9b2c17941e726432c534 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Tue, 18 Apr 2023 16:05:59 -0500 Subject: [PATCH 02/13] Updated the library schema specification --- docs/source/03_HED_formats.md | 42 +- docs/source/06_Infrastructure_and_tools.md | 2 +- docs/source/07_Library_schemas.md | 612 +++++++++---------- tests/json_tests/SIDECAR_BRACES_INVALID.json | 2 +- 4 files changed, 331 insertions(+), 327 deletions(-) diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 9d1b131..2b05120 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -3,7 +3,7 @@ This chapter describes the requirements and formats for HED schema and HED annotations. -## 3.1. HED schema format +## 3.1. Schema formats A **HED schema** is a formal specification of a HED vocabulary and annotation format rules. A HED schema vocabulary is organized hierarchically so that similar concepts and terms appear @@ -496,7 +496,7 @@ The following is a translation of the `.mediawiki` example from the previous sec Additional details and rules can be found in appendix [**A.3 XML file format**](./Appendix_A.md#a3-xml-file-format) -## 3.2. HED annotation format +## 3.2. Annotation formats **HED annotations** are comma-separated strings of HED tags drawn from a HED schema vocabulary. @@ -714,7 +714,7 @@ Terms from only one schema can appear in the annotation without a namespace pref See [**TAG_PREFIX_INVALID**](./Appendix_B.md#tag_prefix_invalid) for information on the specific validation errors associated with missing schemas. -See [**7.4. Library schema in BIDS**](./07_Library_schemas.md#74-library-schemas-in-bids) for an example of how the +See [**7.5. Library schema in BIDS**](./07_Library_schemas.md#75-library-schemas-in-bids) for an example of how the prefix notation is used in BIDS. @@ -1064,7 +1064,7 @@ an annotation that uses curly braces (to prevent circular references). The following example illustrates the three types of JSON sidecar entries that are relevant to HED. Entries without a `"HED"` key in the second level entry dictionaries are ignored. -(example-sidecar-anchor)= +(example-sidecar-anchor1)= ````{Admonition} Examples of the three types of sidecar annotation entries relevant to HED :class: tip ```json @@ -1185,3 +1185,37 @@ In particular every `Offset` tag group must correspond to a preceding `Onset` ta See [**ONSET_OFFSET_ERROR**](./Appendix_B.md#onset_offset_error) for details on the type of errors that are generated due to `Onset` and `Offset` errors. + +## 3.3. Semantic versioning + +HED schema use the following rules for +changing the *major.minor.patch* semantic version. +These rules are based on the assumption that the [**HED tag**](https://hed-specification.readthedocs.io/en/latest/02_Terminology.html#hed-tag) +short form will not require data annotators to retag their data for patch-level or minor-version changes of the schema. +That is, a dataset tagged using schema version *X.Y.Z* will also validate for *X.Y+.Z+*. +However, the reverse is not necessarily true. +In addition, validation errors might occur +during for patch-level or minor-version changes for changes or +corrections in tag values or units. + +Here is a summary of the types of changes that correspond to different +levels of changes in the semantic version: + +| Change | Semantic-level | +| ---------------------------------- | -------------- | +| Major addition to HED functionality | Major | +| Tag deleted from schema. | Major | +| Unit or unit class removed from node. | Major | +| New tag added to the schema. | Minor | +| New attribute added to schema. | Minor | +| New unit class or unit added to schema. | Minor | +| New unit class added to node. | Minor | +| Node moved in schema without change in meaning. | Minor | +| Revision of description field in schema. | Patch | +| Correction of suggestedTag or relatedTag. | Patch | +| Correction of wiki syntax such as closing tags. | Patch | + +**Note:** It is an official policy that once in a schema, a node will not be removed. +If a node becomes out-of-date, a `deprecated` attribute will be added to the tag in the schema. +Suggested replacement tags should be included in the node description. +A suggested replacement should be added to the tag patch table. diff --git a/docs/source/06_Infrastructure_and_tools.md b/docs/source/06_Infrastructure_and_tools.md index 8ba0edc..a134ffd 100644 --- a/docs/source/06_Infrastructure_and_tools.md +++ b/docs/source/06_Infrastructure_and_tools.md @@ -9,7 +9,7 @@ In general, tools should either explicitly call HED validation to assure that th tag strings are valid or should make explicit that they assume the HED has already been validated. Most tools will use the later approach. -See [**3.2. HED annotation format**](./03_HED_formats.md#32-hed-annotation-format) +See [**3.2. Annotation formats**](./03_HED_formats.md#32-annotation-formats) for more detailed specifications of HED formats. See [**4. Basic annotation**](./04_Basic_annotation.md) and diff --git a/docs/source/07_Library_schemas.md b/docs/source/07_Library_schemas.md index d670f2d..b4a8ede 100644 --- a/docs/source/07_Library_schemas.md +++ b/docs/source/07_Library_schemas.md @@ -2,12 +2,12 @@ ## 7.1. Why library schemas? -The variety and complexity of events in electrophysiological experiments makes full +The variety and complexity of events in electrophysiological experiments make full documentation challenging. As more experiments move out of controlled laboratory environments and into less controlled virtual and real-world settings, the terminology required to adequately describe events has the potential to grow exponentially. -In addition, experiments in any given subfield can contribute to pressure to add +In addition, experiments in any given subfield can create pressures to add overly-specific terms and jargon to the schema hierarchy—for example, adding musical terms to tag events in music-based experiments, video markup terms for experiments involving movie viewing, traffic terms for experiments involving @@ -18,23 +18,25 @@ vocabularies for describing data features of clinical interest (e.g., seizure, s Including these discipline-specific terms quickly makes the standard HED schema unwieldy and less usable by the broader user community. -Third generation HED instead introduces the concept of the **HED library schema**. +Third generation HED addressed the problem of vocabulary bloat by introducing +**HED library schemas** to organize discipline-specific terminology. To use a programming analogy, when programmers write a Python module, the resulting code does not become part of the Python language or core libraries. Instead, the module becomes part of a library used in conjunction with core modules of the programming language. -A library schema contains the specialized vocabulary terms needed + +A HED library schema contains the specialized vocabulary terms needed for event annotation in a specialized area. An example of such a library is the [**HED SCORE schema**](https://hed-schemas.readthedocs.io/en/latest/hed_score_schema.html) for annotation of EEG by clinicians. -## 7.2 Partnered schemas +## 7.2. Partnered schemas HED library schemas were originally assumed to be **standalone** vocabularies, complete with all the needed schema attributes and properties. These standalone library schemas were usually used in conjunction with the HED standard schema, and the tags from the two different vocabularies were distinguished by prefixing the tags from one of the vocabularies with `xx:`. -Here `xx:` is called the **namespace** for the schema within the annotation +Here `xx:` is called the **namespace** for that schema within the annotation and is chosen by the annotator. **Partnered library schemas** were introduced in HED specification version 3.2.0 @@ -42,58 +44,114 @@ and are supported by HED standard schema versions ≥ 8.2.0. A partnered library schema version is tied to a specific version of the HED standard schema as specified in its header. -A given library schema version is either partnered or standalone. +A given library schema version is either **partnered** or **standalone**. -### 7.2.1 Partnered formats +### 7.2.1. Partnered files The XML file corresponding to a partnered library schema is a single, unified schema -consisting of the information in both the library and its standard schema partner -and validated for consistency. +containing the information from both the library and its standard schema partner +and validated as an integrated whole. -Downstream tools, which use the XML version, -see a single unified schema and can process a partnered library schema with no special handling. -The following example shows the XML header for SCORE library version 1.1.0. +This XML merged schema file is downloaded and used by tools. +Downstream tools see a single schema and can process it with no special handling. +The following example shows the XML header for merged SCORE library version 1.1.0. -````{admonition} XML header for SCORE library 1.1.0 partnered with 8.2.0. +````{admonition} XML header for SCORE library 1.1.0 partnered with 8.2.0 (merged). ```xml ``` ```` -The filename for this `.xml` file is `HED_score_1.1.0.xml`. - -As with any HED schema development, schema builders specify a schema in `mediawiki` markdown format. -The following example shows the header for the `.mediawiki` file of a partnered library schema. - -````{admonition} Mediawiki header for SCORE library 1.1.0 partnered with 8.2.0. -```html -HED library="score" version="1.1.0" withStandard="8.2.0" -``` -```` - -The filename for this `.mediawiki` file is `HED_score_1.1.0.mediawiki`. +The canonical filename for this `.xml` file is `HED_score_1.1.0.xml`. +This file is always stored in the `hedxml` directory +for the respective library schema in the +[**hed-schemas**](https://github.com/hed-standard/hed-schemas) GitHub repository. -Tools also support an alternative form of the `.mediawiki` library schema -containing only the library portion of the schema. -The header for an unmerged schema is: +As with any HED schema, schema builders develop and maintain their schema in +MediaWiki mark-down format and use tools to convert to XML. +The schema developer's version is unmerged, +containing only the information specific to the library schema. +The following example shows the header for the `.mediawiki` developer's version +of a partnered library schema. ````{admonition} Mediawiki header for SCORE library 1.1.0 partnered with 8.2.0 (unmerged). ```html -HED library="score" version="1.1.0" withStandard="8.2.0" unmerged +HED library="score" version="1.1.0" withStandard="8.2.0" unmerged="true" ``` ```` -If a partner is declared, -the merged library schema will appear in the `hedxml` folder for the respective library on -[**hed-schemas**](https://github.com/hed-standard/hed-schemas) GitHub repository -for download by tools. +The canonical filename for this `.mediawiki` file is +`HED_score_1.1.0_unmerged.mediawiki`. -The filename for this unmerged schema is `HED_score_1.1.0_unmerged.mediawiki`. -Conversion tools are supplied to convert among the three formats -(`.xml`, `.mediawiki` and `unmerged.mediawiki`). - -7.2.2 Partnered support +Tools also support an alternative form of the `.mediawiki` library schema +containing all the information in the merged schema (a mirror to the XML), +which may be useful for debugging, but is usually not explicitly created. + +The following table summarizes the different partnered library schema formats +and their uses. File names and link examples are specifically for the SCORE +library. For other libraries, substitue the library name for the word *score*. + +| Format | Merged
status | Canonical filename | Handling | +| ------ | ------------- | ------------------ | -------- | +| XML | merged | `HED_score_1.1.0.xml` | Stored in library [**hedxml**](https://github.com/hed-standard/hed-schemas/tree/main/library_schemas/score/hedxml).
Used by tools. | +| XML | unmerged | `HED_score_1.1.0_unmerged.xml` | Can be generated but is never
stored on [**hed-schemas**](https://github.com/hed-standard/hed-schemas).
Not used, but available for completeness. | +| MediaWiki | merged | `HED_score_1.1.0.mediawiki` | Usually not stored in [**hedwiki**](https://github.com/hed-standard/hed-schemas/tree/main/library_schemas/score/hedwiki).
Possibly used during schema development. | +| MediaWiki | unmerged | `HED_score_1.1.0_unmerged.xml` | Working format for developers
Should be stored in [**hedwiki**](https://github.com/hed-standard/hed-schemas/tree/main/library_schemas/score/hedwiki). | + +### 7.2.2. Partnered formats + +There are four significant differences between merged and unmerged MediaWiki formats: +1. The unmerged version has the `unmerged="true"` attribute in its header line. +
 
+2. The unmerged version should only include the auxiliary sections (e.g., unit classes, +unit modifiers, value classes, schema attributes, and schema properties) +that it explicitly extends. +
 
+3. Nodes with the `rooted` property must be top-level tags in the schema +in the unmerged schema. In the merged schema, the subtrees under these `rooted` +nodes are placed directly under the respective nodes of the same name +in the standard schema. +
 
+4. Nodes in the unmerged version cannot have the `inLibrary` attribute. +In contrast, nodes from the library schema are given the `inLibrary` +attribute during the merging process. + +Similar differences occur between the merged and unmerged XML formats, +but only the merged XML format is useful. + +### 7.2.3. Auxiliary sections + +The unmerged version of a partnered library schema **must** have +prologue and epilogue sections that appropriately explain the +purpose of the library schema. +The contents of these prologue and +epilogue sections become the prologue and epilogue, respectively, +in the merged schema. + +All the other auxiliary sections of the corresponding partner standard schema +are inherited by the merged schema. +Most unmerged partnered library schemas will not contain any additional +auxiliary sections. + +**Auxiliary section items that do not appear in a standard schema +are unlikely to be supported by the HED infrastructure if +they require special handling.** +Thus, adding items to the auxiliary library schema sections is discouraged. + +Library schema developers who need to add an item, such as +a unit class to an auxiliary section, +should first contact the HED Working Group to determine whether +this item could be appropriately added to the standard schema. +If a new item must be added, only that item and its corresponding +auxiliary section should appear in the unmerged schema. + +Library schema additions of units, unit classes, unit modifiers, value classes, +and schema attributes are permitted, though not encouraged. +**Library schemas cannot add information to the property definitions +section of the schema.** + +### 7.2.4. Partnered attributes To support partnered library schema the following items were introduced in HED standard schema 8.2.0: @@ -101,43 +159,62 @@ HED standard schema 8.2.0: | Name | Type | Role | | --------- | ----- | ---- | | `withStandard` | Header attribute | | -| `unmerged` | Header attribute | | -| `inLibrary` | Node attribute | | -| `rooted` | Node attribute | | -| `reserved` | Node attribute | | +| `unmerged` | Header attribute | | +| `inLibrary` | Element attribute | | +| `rooted` | Node attribute | | +| `reserved` | Node attribute | . | -### 7.2.3 Motivation for partners +### 7.2.5. Motivation for partners Starting with HED specification version 3.2.0 and HED standard schema version 8.2.0, -**partnered library schema** have become the recommended form for library schemas. +**partnered library schemas** have become the recommended form for library schemas. This section describes the motivation for this preference. -#### 7.2.3.1 Auxiliary consistency +#### 7.2.5.1. Auxiliary consistency A standalone library schema must duplicate the -[**auxiliary schema sections**](https://hed-specification.readthedocs.io/en/latest/Appendix_A.html#a-1-auxiliary-schema-sections) appearing in standard schemas. -Although standalone library schemas may add additional items to the auxiliary sections, -HED tools only guarantee support of standard schema auxiliary items requiring special handling. +[**auxiliary schema sections**](https://hed-specification.readthedocs.io/en/latest/Appendix_A.html#a-1-auxiliary-schema-sections) appearing in standard schemas, +introducing the possibility of inconsistency in usage or definition +between the library schema and standard schemas. + Partnered library schema automatically inherit the partner standard schema's auxiliary attributes, -this assuring consistent handling by tools and preventing the introduction of inconsistenly +this assuring consistent handling by tools and preventing the introduction of inconsistently handled attributes. -#### 7.2.3.2 Reserved tag consistency +Although standalone library schemas may add additional items to the auxiliary sections, +HED tools only guarantee support of standard schema auxiliary items requiring special handling. +**Thus, addition of items in the auxiliary sections of a library schema is discouraged.** + + +#### 7.2.5.2. Reserved tag handling Several tags in the standard schema such as `Definition`, `Onset`, and `Offset` define the structure of events and the data. -By partnering with a standard schema a library schema is assured of having +By partnering with a standard schema, a library schema is assured of having HED support for key features such as events of temporal extent and definitions. -One of the difficult -Library schemas are not allowed to reuse these *reserved* tags and were discouraged from -reusing any terms appearing in the standard schema. -Since the standard schema evolves over time, this requirement is impossible to check without -pairing the library schema to a specific version of the -These *reserved* tags were assumed to -have the same meaning regardless of the schema in which they appeared. +As these structural features evolve in HED, +partnership provides a natural update path for library schemas. +Developers of library schemas are strongly encouraged to a release new version +of the partnered library schema when a new HED standard schema version is released +so that the latest version of a partnered library schema uses the latest version +of the standard HED schema. -#### 7.2.3.3 Library search +If the update can be done without conflict, +this update may be initiated as part of the release mechanism +by the maintainers of the HED repositories. + +#### 7.2.5.3. Annotation conciseness + +The most common use case for library schemas in annotation requires tags from both +a standard schema and a library schema, thus requiring that a `xx:` be assigned to tags from +one of the schemas when standalone library schemas are used. + +Because a partnered library schema is merged with a standard schema to form a single, unified schema, +users can annotate data without the `xx:` prefix. +The `xx:` is still needed if more than one library schema is used. + +#### 7.2.5.4. Library searches The subtrees appearing in the library schemas are often elaborations of a particular term in the standard schema. @@ -145,135 +222,162 @@ However, if the library schema terms are not in appropriate standard schema hier HED search can not be leveraged to find these elaborations by searching for a more general standard schema term. -#### 7.2.3.4 Annotation conciseness +#### 7.2.5.5. Suggested tags -The most common use case of library schema in annotation requires tags from both -a standard schema and a library schema, thus requiring that a `xx:` be assigned to tags from -one of the schemas. - -Because the library schema is merged with its respective partner standard schema, -uses can annotate using the unified schema without the `xx:` prefix. -The `xx:` is still needed if more than one library schema is used. - -#### 7.2.3.5 Suggested tags - -Library schema designers cannot use the `suggestedTag` attribute to suggest using particular -tags from the standard schema for annotators to use with a given library schema tag. +Standalone library schemas cannot use the `suggestedTag` or `relatedTag` attributes to +suggest using particular tags from the standard schema, +since the values of the tags must be in the schemas themselves. However, with partnered library schemas, validation is only performed on the merged versions of the schema, so tags from the standard schema can be used as `suggestTag` or `relatedTag` values. -Partnered library schemas solve these issues by declaring a specific standard schema version -that the library schema will be merged with to create a single unified XML-formatted schema -for tools to use in validation and analysis. -Individual subtrees in the library schema can be top-level subtrees or rooted to a node -in the partnered standard schema. - - -A partnered library schema can also use tags from its partnered standard schema -as suggested tags, since each version of the library schema is partnered with a -specific version of the standard schema. +## 7.3. Library schema design +Library schema should be developed and maintained in MediaWiki format for readability. +Developers should always validate the schema before converting to XML. +Only validated versions of the schema should be uploaded to the GitHub +[**hed-schemas**](https://github.com/) repository. +More information about the development process is contained in the +[**HED schema developers guide**](https://www.hed-resources.org/en/latest/HedSchemaDevelopersGuide.html). -## 7.3 Library schema design +### 7.3.1. General design rules -Similar to the design principles imposed on function names and subclass organization in -software development, HED library schemas must conform to some basic rules: +This section summarizes the general design rules for all library schema. -### 7.3.1 Library design rules - -``````{admonition} Rules for HED library schema design. +``````{admonition} General design rules for HED library schema. :class: tip -1. A library schema must be given a name containing only alphabetic chararacters. +1. **Follow naming conventions**:
+A library schema must be given a name containing only alphabetic chararacters. This name must appear in the schema header line in the required format. -2. A library library must use semantic versioning and follow the versioning update rules used by -the HED standard schema. -3. Every term must be unique within the library schema and must conform to the rules for -HED schema terms. -4. Schema terms should be readily understood by most users. The terms should not be ambiguous and +
 
+2. **Use semantic versioning**:
+A library library must use semantic versioning and follow the versioning update rules used by +the HED standard schema as specified in [**Semantic versioning**](./03_HED_formats.md#33-semantic-versioning). +
 
+3. **Tag uniqueness**:
+Every term must be unique within the library schema and must +conform to the rules for HED schema terms. +
 
+4. **Have a meaningful prologue**:
+The schema should include a prologue section giving an overview, purpose and scope +of the library schema. +
 
+5. **Have a meaningful epilogue**:
+The schema should include an epilogue section containing reference, citation, and license information. +
 
+6. **Be understandable**:
+Schema terms should be readily understood by most users. The terms should not be ambiguous and should be meaningful in themselves without reference to their position in the schema hierarchy. -5. If possible, no schema sub-tree should have more than 7 direct subordinate sub-trees. -6. Terms that are used independently of one another should be in different sub-trees (orthogonality). -7. The schema should include the schema attributes, unit classes, unit modifiers, value classes, -and schema properties present in the HED standard schema. +
 
+7. **Be well-organized**:
+If possible, no schema sub-tree should have more than 7 direct subordinate sub-trees. +
 
+8. **Maintain subtree orthogonality**:
+Terms that are used independently of one another should be in different sub-trees (orthogonality). +
 
+9. **Enforce is-a relationship between child nodes and their parents**:
+Every node in a HED hierarchy must be a subclass of its parent node. +This is required for HED search generalizability. `````` +Rules 1 through 5 are enforced by validators, while rules 6 through 9 are +the responsibility of the schema designers and review committees. + +In general, library schema developers should avoid adding schema terms that +duplicate those found in the latest HED standard schema at the time of release. +Library schema developers should also try to avoid overlap of terms found +in other schema libraries. + +All HED schemas, including library schemas, must use [**semantic versions**](https://semver.org/) and +adhere to the rules specified [**3.3 Semantic versioning**](./03_HED_formats.md/#33-semantic-versioning). -As in Python programming, we anticipate that many HED schema libraries may be defined -and used, in addition to the standard HED schema. Libraries allow individual research -communities to annotate details of events in experiments designed to answer questions -of interest to particular research or clinical communities. Since it would be impossible -to avoid naming conflicts across schema libraries that may be built in parallel by different -user communities, HED supports schema library namespaces -(the prefix notation described in the previous section). -Users will be able to add library tags qualified with namespace designators. -All HED schemas, including library schemas, -adhere to [**semantic versioning**](https://semver.org/). - -In general, library schema developers should include the auxiliary schema classes from -the standard HED schema: the schema attributes, unit classes, unit modifiers, -value classes, and schema properties. The HED tools support these auxiliary -classes but in general would not support special handling of added classes beyond basic -verification. +Standalone library schema developers must include the auxiliary schema classes from +the standard HED schema including the schema attributes, unit classes, unit modifiers, +value classes, and schema properties. +No changes should be made to these sections since HED tools support the special auxiliary +classes from the standard schema, +but in general do not support special handling of added classes beyond basic verification. If your application requires schema classes that are not available in the standard HED schema and would like these classes to be supported, -please make a request using the [**HED examples issues**](https://github.com/hed-standard/hed-examples/issues) forum. +please make a request using the [**issues**](https://github.com/hed-standard/hed-schemas/issues) +forum of the [**hed-schemas**](https://github.com/hed-standard/hed-schemas) GitHub repository. -A schema should not duplicate tags found in the standard schema. -### 7.3.2 Defining a schema +### 7.3.2. Standalone design rules -A HED library schema is defined in the same way as the standard HED schema -except that it has an additional attribute name-value pair `library="xxx"` -in the schema header. -We will use as a library schema for driving as an illustration. -Syntax details for a library schema are similar to those for the standard HED schema. +The following design rules are specifically meant for standalone library schemas. +``````{admonition} Design rules specific to standalone HED library schemas. +:class: tip -````{admonition} **Example:** Driving library schema (MEDIAWIKI template). +1. **Avoid tag duplication**:
+The terms in the library schema should not overlap terms present in the latest +version of the HED schema at the time of its release. +
 
+2. **Do not modify the special auxiliary sections**:
+The standalone library schema should exactly duplicate of special auxiliary sections +of the HED standard schema that was the latest version when this schema version was released. +The special sections include: schema attributes, unit classes, +unit modifiers, value classes, and schema properties. +
 
+3. **Avoid adding special auxiliary items**:
+A library schema may not modify any of the items in the special sections +of the HED standard schema. +
 
+4. **Obtain the appropriate reviews early**:
+Any additions to the special sections must be reviewed by the HED Working Group to +determine what requirements the additions would impose on downstream tools. +This should be done as early in the process as possible. -```moin -HED library="driving" version="1.0.0" -!# start schema - [... contents of the HED driving schema ...] -!# end schema - [... required sections specifying schema attribute definitions ...] -!# end hed -``` -```` +`````` -The required sections specifying the schema attributes are *unit-class-specification*, -*unit-modifier-specification*, *value-class-specification*, *schema-attribute-specification*, -and *property-specification*. +Standalone library schemas are no longer recommended because of the difficulty +in enforcing conflict rules with HED standard schemas. -````{admonition} **Example:** Driving library schema (XML template). +### 7.3.3. Partnered design rules -```xml - - - [... contents of the HED_DRIVE schema ... ] - -``` -```` +Partnered library schemas are now the recommended format for the reasons +listed in [**Motivation for partners**](./07_Library_schemas.md#725-motivation-for-partners). +The following design rules are specifically meant for partnered library schemas. -During annotation tags from different library schemas can -be intermixed with those of the standard schema. -Since the node names within a library must be -unique, annotators can use short form as well as fully expanded tag paths for library schema -tags as well as those from the standard HED schema. +``````{admonition} Design rules specific to partnered HED library schemas. +:class: tip -The schema XML file should be saved as `HED_driving_1.0.0.xml` so that tools can locate them. -The official location of HED standard and library schemas is the -[**hed-schemas**](https://github.com/hed-standard/hed-schemas) GitHub repository. +1. **Check for overlap**:
+The terms in the partnered library schema must not overlap with terms present in its partnered +standard schema. +
 
+2. **Use the latest released version of the standard schema**:
+A partnered library schema should always use the latest version of the HED schema +available at the time of its release. +
 
+3. **Do not put any auxiliary sections**:
+A partnered library schema should not contain the special auxiliary sections (e.g., schema attributes, unit classes, unit modifiers, value classes, and schema properties), +unless a new item is added to the section, in which only that item should appear. +
 
+4. **Seek reviews early in the process**:
+Any additions to the special sections must be reviewed by the HED Working Group to +determine what requirements the additions would impose on downstream tools. + +`````` +It is recognized that HED standard and library schemas will both evolve and +that additions or tag reorganizations may cause conflicts. +These conflicts must be resolved as they occur. +In general the standard schema takes precedence over any library schema in +resolving these conflicts. -### 7.3.3 Schema namespaces +### 7.3.4. Schema namespaces As part of the HED annotation process, users must associate one or more HED schemas with their datasets. +Since it would be impossible to avoid naming conflicts across schema libraries built in parallel by different user communities, +HED supports schema library namespaces to facilitate the use of multiple schemas in +annotating a datasets.. + If multiple schemas are used, users must define a local prefix for each additional schema and prefix the tags from each of these additional schemas by their respective prefix in annotations. @@ -294,89 +398,13 @@ dp:Change-lanes A colon (`:`) is used to separate the qualifying local name from the remainder of the tag. -### 7.3.4 Library schema layout - -In addition to the specification of tags in the main part of a schema, a HED schema has -sections that specify unit classes, unit modifiers, value classes, schema attributes, -and properties. The rules for the handling of these sections for a library schema are -as follows: - -#### 7.4.1. Required sections +The introduction of partnered library schemas has greatly reduced the need for namespaces, +since the most common use case is a library schema used with a standard schema. -The required sections of a library schema are the same as those for the -standard schema. -These sections are listed in -[**3.1.2. Schema layout overview**](./03_HED_formats.md#312-schema-layout-overview). -The library schema must include all required -schema sections even if the content of these sections is empty. - -#### 7.4.2. Relation to standard HED schema - -Any schema attribute, unit class, unit modifier, value class, or property used in the -library schema must be specified in the appropriate section of the library schema -regardless of whether these appear in the standard HED schema. Validators check the library -schema strictly on the basis of its own specification without reference to another -schema. - -#### 7.4.3. Schema properties - -HED only supports the schema properties listed in -[**A.1.5. Schema properties**](./Appendix_A.md#a15-schema-properties). -If the library schema uses one of these in the library schema specification, -then its specification must appear in the *property-specification* section of the library schema. - -#### 7.4.4. Unit classes - -The library schema may define unit classes and units as desired or include unit classes or -units from the standard HED schema. Similarly, library schema may define unit modifiers or -reuse unit modifiers from the standard HED schema. HED validation and basic analysis tools -validate these based strictly on the schema specification and do not use any outside -information for these. - -#### 7.4.5. Value classes - -The standard value classes listed in [**A.1.3. Value classes**](./Appendix_A.md#(a-13-value-classes) -are the only value classes that should be used in designing library schemas as -these are the only ones that general tools will support. -If additional value classes are needed, they should be proposed on `hed-schemas` repository -[**issue forum**](https://github.com/hed-standard/hed-schemas/issues). - -Library schema may define additional value classes and -specify their allowed characters, but no additional hard-coded behavior will be -available in the standard toolset. This does not preclude special-purpose tools -from incorporating their own behavior. - -#### 7.4.6. Schema attributes - -The standard schema attributes listed in -[**A.1.4. Schema attributes**](./Appendix_A.md#(*allowedCharacter*, *defaultUnits*, *extensionAllowed*, -*recommended*, *relatedTag*, *requireChild*, *required*, *SIUnit*, *SIUnitModifier*, -*SIUnitSymbolModifier*, *suggestedTag*, *tagGroup*, *takesValue*, *topLevelTagGroup*, -*unique*, *unitClass*, *unitPrefix*, *unitSymbol*, *valueClass*) should have the same -meaning as in the standard HED schema. The hard-coded behavior associated with the schema -attributes will be the same. Library schema may define additional schema attributes. -They will be checked for syntax, but no additional hard-coded behavior will be available -in the standard toolset. This does not preclude special-purpose tools from incorporating -their own behavior. - -#### 7.4.7. Syntax checking - -Regardless of whether an entity is in the standard HED schema or a library schema, -HED schema validation tools perform basic syntax checking. - -````{admonition} Basic syntax checking for HED schemas. -:class: tip - -1. All attributes used in the schema proper must be defined in the schema attribute section of the schema. -2. Undefined attributes cause an error in schema validation. -3. Similar rules apply to unit classes, unit modifiers, value classes, and properties. -4. Actual handling of the semantics by HED tools only occurs for entities appearing in the standard HED schema. -```` - -## 7.5. Library schemas in BIDS +## 7.4. Library schemas in BIDS The most common use case (for 99.9% of the HED users) is to tag events using -a standard HED schemas (preferably the latest one) available in the +a standard HED schema (preferably the latest one) available in the `standard_schema/hedxml` directory of the `hed-schemas` repository of the `hed-standard` organization on GitHub. The standard schemas are available at: @@ -385,65 +413,19 @@ The standard schemas are available at: The **official library schemas** are available at [**https://github.com/hed-standard/hed-schemas/tree/main/library_schemas**](https://github.com/hed-standard/hed-schemas/tree/main/library_schemas). -Standard schemas are referenced by their version number (e.g., `8.0.0`), +Standard schemas are referenced by their version number (e.g., `8.1.0`), while library schema are referenced by a combination of library name and version number (e.g., `score_1.0.0`). -The following example specifies that version 8.0.0 of the standard HED schema is -to be used in addition to two library schemas: -the `score` library version `1.0.0` and the `testlib` library version `1.0.2`. - - -````{admonition} **Example:** An example specification with multiple schemas. - -```json -{ - "Name": "A wonderful experiment", - "BIDSVersion": "1.8.0", - "HEDVersion": ["8.0.0", "sc:score_1.0.0", "ts:testlib_1.0.2"] -} - -``` -```` - -Based on the above description tools will download: -1. The standard HED schema: -[https://raw.githubusercontent.com/hed-standard/hed-schemas/main/standard_schema/hedxml/HED8.0.0.xml](https://raw.githubusercontent.com/hed-standard/hed-schemas/main/standard_schema/hedxml/HED8.0.0.xml). -2. The HED `score` library schema version 1.0.0: -[https://raw.githubusercontent.com/hed-standard/hed-schemas/main/library_schemas/score/hedxml/HED_score_1.0.0.xml](https://raw.githubusercontent.com/hed-standard/hed-schemas/main/library_schemas/score/hedxml/HED_score_0.0.1.xml). -3. The HED `testlib` library schema version 1.0.2: -[https://raw.githubusercontent.com/hed-standard/hed-schemas/main/library_schemas/testlib/hedxml/HED_testlib_1.0.2.xml](https://raw.githubusercontent.com/hed-standard/hed-schemas/main/library_schemas/testlib/hedxml/HED_testlib_1.0.2.xml). - -A schema browser is available for each library. -For example the schema browser for the `score` library schema is available at -[https://www.hedtags.org/display_hed_score.html](https://www.hedtags.org/display_hed_score.html). - -Given the `HEDVersion` specification from the previous example, annotators -can use any combination of tags from the three indicated schemas. -In this example the standard HED schema version appears without a prefix in the version -specification, so tags from this schema may appear directly in the annotation. - -The `sc` and `ts` are local names used to distinguish -tags from the additional schema. -Tags from the `score` library schema are of the form `sc:xxx` where `xxx` -is a tag from the `score` schema. -Similarly, tags from the `testlib` library schema are of the form `ts:yyy` -where `yyy` is a tag from the `testlib` schema. +For BIDS datasets, the versions of the HED schema are specified by +the `HEDVersion` field of the BIDS `dataset_description.json` file. +The following example specifies that version 8.1.0 of the standard HED schema is +to be used in addition to `score` library schema version `1.0.0`. -The array specification of the schema versions can have at most one version -appearing without a colon prefix. - - -### 7.5.1 Using library schema in BIDS - -The following `datset_description.json` of a BIDS dataset -indicates that HED standard schema version 8.1.0 should be used -alone with SCORE library schema 1.0.0. -The tags are.... ````{admonition} Illustration of using the namespace prefix for tagging. :class: tip - +The `dataset_description.json` file contains: ```json { @@ -453,61 +435,49 @@ The tags are.... } ``` +A typical annotation is: + ```text "Data-feature, sc:Photomyogenic-response, sc:Wicket-spikes" ``` ```` -Additional information can be found in [**HED schema format**](./03_HED_formats.md#31-hed-schema-format) of Chapter 3 -and [**Appendix A: Schema format details**](Appendix_A.md) for additional information. -Schema developers should also consult the -[**HED schema development guide**](https://www.hed-resources.org/en/latest/HedSchemaDevelopmentGuide.html). - -### 7.5.2 Partnered schemas in BIDS - -In the following example of a BIDS `dataset_description.json`, -the annotator indicates that tags from the SCORE library version 1.0.0 will prefixed by `sc:`, -while tags from HED standard schema version 8.1.0 will not be prefixed. +Based on the above description tools will download: +1. The standard HED schema: +[https://raw.githubusercontent.com/hed-standard/hed-schemas/main/standard_schema/hedxml/HED8.1.0.xml](https://raw.githubusercontent.com/hed-standard/hed-schemas/main/standard_schema/hedxml/HED8.1.0.xml). +2. The HED `score` library schema version 1.0.0: +[https://raw.githubusercontent.com/hed-standard/hed-schemas/main/library_schemas/score/hedxml/HED_score_1.0.0.xml](https://raw.githubusercontent.com/hed-standard/hed-schemas/main/library_schemas/score/hedxml/HED_score_0.0.1.xml). +In the dataset annotations for the above example, tags drawn from the score schema would +be prefixed with `sc:`, where `sc` is a local name used to distinguish +tags from the additional schema. -````{admonition} **Example:** BIDS dataset description using HED version 8.1.0 and score library 1.0.0. -```json +The array specification of the schema versions in BIDS can have at most one version +appearing without a colon prefix. -{ - "Name": "A great experiment", - "BIDSVersion": "1.8.0", - "HEDVersion": ["8.1.0", "sc:score_1.0.0"] -} -``` -```` +SCORE version 1.0.0 is not partnered, so the HED version specification had to include +both the library and standard schema versions. +In contrast, SCORE version 1.1.0 is partnered with HED standard schema 8.2.0, +so no namespace prefixes are needed as shown in the following example: +````{admonition} **Example:** An example specification of HED version for a partnered schema. +:class: tip -In the following example of a BIDS `dataset_description.json`, -the annotator indicates that tags from the SCORE library version 1.1.0 partnered schema. +The `dataset_description.json` file contains: -````{admonition} **Example:** BIDS dataset description using score library 1.1.0 partered with 8.2.0. ```json - { "Name": "A great experiment", "BIDSVersion": "1.8.0", "HEDVersion": "score_1.1.0" } ``` -```` - +A typical annotation is: -Notice that standard schema version 8.2.0 is not mentioned in the `HEDVersion` field. -This is because a given version of a library schema is partnered with a fixed version -of the standard schema as indicated by the schema header using the `withStandard`: - - -If schema designers wish to partner with a different version of the standard schema, -they must release a distinct version of the library schema. - -**Partnered library schema are strongly encouraged**. -Library schema designers should partner with the latest HED standard schema and -ideally release a new partnered version when a new version of the HED standard schema is released. \ No newline at end of file +```text +"Data-feature, Photomyogenic-response, Wicket-spikes" +``` +```` diff --git a/tests/json_tests/SIDECAR_BRACES_INVALID.json b/tests/json_tests/SIDECAR_BRACES_INVALID.json index c2d381d..f2031bf 100644 --- a/tests/json_tests/SIDECAR_BRACES_INVALID.json +++ b/tests/json_tests/SIDECAR_BRACES_INVALID.json @@ -267,7 +267,7 @@ { "event_code": { "HED": { - "face": "(Red, Blue), ({response_time}),(Green, (Yellow))", + "face": "(Red, Blue), ({response_time}, (Green, (Yellow))", "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" } }, From e51a5542ccb003efe51814c7f527ef28b30448d5 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Wed, 19 Apr 2023 16:24:39 -0500 Subject: [PATCH 03/13] Updated the sidecars --- docs/source/03_HED_formats.md | 330 +++++++++++++++++++--------------- docs/source/Appendix_B.md | 14 +- 2 files changed, 193 insertions(+), 151 deletions(-) diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 2b05120..4a443cd 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -714,7 +714,7 @@ Terms from only one schema can appear in the annotation without a namespace pref See [**TAG_PREFIX_INVALID**](./Appendix_B.md#tag_prefix_invalid) for information on the specific validation errors associated with missing schemas. -See [**7.5. Library schema in BIDS**](./07_Library_schemas.md#75-library-schemas-in-bids) for an example of how the +See [**7.4. Library schema in BIDS**](./07_Library_schemas.md#74-library-schemas-in-bids) for an example of how the prefix notation is used in BIDS. @@ -897,145 +897,97 @@ Additional details and examples for `Event-context` can be found in ### 3.2.9. Sidecars -A sidecar is a dictionary that can be used to associate tabular file columns -and their values with HED annotations. -The rows of tabular event files represent time markers on the experimental timeline, -and the assembled annotations for each row describe what happened at that time marker. -A sidecar containing annotations associated with the columns of such an event file -allows HED tools to assemble HED annotations for each row in the file. +JSON sidecars are an integral part of the [**BIDS**](https://bids.neuroimaging.io/) +(Brain Imaging Data Structure) neuroimaging standard and are used to associate +metadata with data files. -The rows of tabular files representing other types of information -can also be annotated in the same way. +The JSON sidecars that are relevant to HED are associated with tabular data files. +For example, the rows of tabular event files represent time markers on the experimental timeline, +and the assembled HED annotations for each row describe what happened at that time marker. +A sidecar containing annotations associated with the columns of such an event file +allows HED tools to assemble HED annotations for each row of the file. -The "HED" key, which may only appear at the second level in the JSON dictionary, -designates an entry that contains HED annotations. -"HED" keys that appear at other levels of the JSON sidecar are considered to be -in error. +In addition to sidecars, HED annotations can also be given in the `HED` column of tabular files. +At validation or analysis time the HED information from both the `HED` column of a tabular file +and its associated sidecar are assembled to provide the annotation. -HED sidecar validation assumes that the dictionary is saved in JSON format and complies with the +HED validators assume that the annotation dictionary is saved in JSON format and +that they comply with the [**BIDS sidecar**](https://bids-specification.readthedocs.io/en/stable/appendices/hed.html) format. #### 3.2.9.1. Sidecar entries -A BIDS sidecar is dictionary with many possible types of entries, three of which are relevant to HED. -These entries all have `"HED"` as a key in one or more second-level dictionaries. - -````{Admonition} Three types of JSON sidecar entries of interest to HED tools -- **Categorical entries**: are associated with a particular event file column and provide -individual annotations for each column value. -The dictionary is not required to provide annotations for every possible -value a categorical column, although tools may choose to issue a warning if appropriate. -The dictionary may also include annotations for values that do not appear in the associated event file column. -

- -- **Value entries**: are associated with a particular event file column and provide -an annotation that applies to any entry in the column. -The HED annotation must contain a single `#` placeholder, -and each individual column value is substituted for the `#` in the annotation -when the annotation for the entire row is assembled. +A BIDS sidecar is a JSON dictionary with several types of entries, three of which are relevant to HED: -

- -- **Dummy entries**: are similar in format to categorical entries, -but are not associated with any event file columns. -Rather these annotations are mainly used to gather HED definitions. - -```` -HED definitions are required to be separated into -dummy sidecar column entries. -They may not appear in sidecar entries containing tags other than definitions. +````{Admonition} Three types of JSON sidecar HED-related entries. +**Categorical entries** +- The top-level JSON key corresponds to a column name in the event file. +- The value associated with the HED key is a dictionary of HED annotations. +- The keys of the annotation dictionary are the unique column values. +- The entry is not required to have annotations for every possible unique column value. +- Tools may choose to issue a warning if a column value does not have an annotation. +- The annotation dictionary may include annotations for values that do not appear in a particular event file. -The sidecar does not have to provide a HED-relevant entry for every event file column. -Columns with no corresponding sidecar entry are skipped during assembly of the HED annotation -for an event file row. -For compatibility with [**BIDS**](https://bids.neuroimaging.io/), -tabular file column entries containing `n/a` are ignored. -The sidecar is not permitted to provide an annotation for `n/a`. -Further, `"HED"` can only appear as a second-level dictionary key. +**Value entries**: +- The top-level JSON key corresponds to a column name in the event file. +- The value associated with the HED key is a HED string. +- The entry's annotation is applicable to all values in its associated event file column. +- The HED annotation must contain a single `#` placeholder. +- Each row's column value is substituted for the `#` in the annotation +when the row annotation is assembled. -The following example illustrates the three types of JSON sidecar entries that are relevant to HED. -Entries without a `"HED"` key in the second level entry dictionaries are ignored. +**Dummy entries**: +- The top-level JSON key must not correspond to a column name in the event file. +- The value associated with the HED key is a dictionary of HED annotations. +- The keys are dummy entries. +- Used to gather HED definitions. -(example-sidecar-anchor)= -````{Admonition} Examples of the three types of sidecar annotation entries relevant to HED -:class: tip -```json -{ - "trial_type": { - "LongName": "Event category", - "Description": "Indicator of type of action that is expected", - "HED": { - "go": "Sensory-event, Visual-presentation, (Square, Blue)", - "stop": "Sensory-event, Visual-presentation, (Square, Red)" - } - }, - "response_time": { - "LongName": "Response time after stimulus", - "Description": "Time from stimulus presentation until subject presses button", - "HED": "(Delay/# ms, Agent-action, (Experiment-participant, (Press, Mouse-button)))" - }, - "dummy_defs": { - "HED": { - "MyDef1": "(Definition/Cue1, (Buzz))", - "MyDef2": "(Definition/Image/#, (Image, Face, Label/#))" - } - } -} -``` ```` -In the example, the `trial_type` key references a **categorical** entry. -Categorical entries have keys corresponding to the event file column names. -The value of a categorical entry is a dictionary which has a `"HED"` key. -In the above example, the keys of this second dictionary are the values (`go` and `stop`) that -appear in the `trial_type` column of the event file. -The values are the HED annotations associated with those values. -Thus, the `"Sensory-event, Visual-presentation, (Square, Blue)"` is the HED annotation -associated with a `go` value in the `trial_type` column of the associated event file. - -The `response_time` key references a **value annotation**. -Value entries have keys, one of which is `"HED"`. -Associated with the `"HED"` key is a HED annotation value. -There must be exactly one `#` placeholder in the annotation. -The actual value in the `response_time` column is substituted for the -`#` when the annotation is needed. - -The `dummy_defs` is an example of a **dummy annotation**. -The value of this entry is a dictionary with a `"HED"` key -pointing to a dictionary. -A dummy annotation is similar in form to a **categorical annotation**, -but its keys do not correspond to any event file column names. -Rather it is used as a container to organize HED definitions. +The other types of sidecar entries include categorical and value +entries with no `"HED"` key, as well as arbitrary entries +whose keys do not correspond to column names in an associated tabular file. -In the example, -`Definition/Cue1` is a definition that does not use a placeholder (`#`) modifier in its name, -while `Definition/Image/#` is a definition whose name `Image` is modified by a placeholder value. -Notice that `Image` is both a definition name and an actual tag in the schema in this example. -This is permitted. +When annotations are assembled, sidecar entries with no `"HED"` key are ignored +as are entries in the corresponding tabular data file that have `n/a` or blank values. + +See [**3.2.9.4. A sidecar example**](./03_HED_formats.md/#3294-a-sidecar-example) +for an elaborated example of these different types of entries and +[**3.2.10.2 Event-level processing**](./03_HED_formats.md/#32102-event-level-processing) +for an example of how the resulting HED annotations are assembled. #### 3.2.9.2. Sidecar validation -As with other entities definitions should be removed from sidecars and validated separately, -although validation error messages for such definitions should be associated with -the locations of the definitions in the sidecars. +All HED-related entries in a JSON sidecar must +have `"HED"` as a key in a second-level dictionary. +`"HED"` cannot appear as a sidecar key that is not at the second level. +Further, a sidecar is not permitted to provide a HED annotation for `n/a`. +Both of these generate a [**SIDECAR_INVALID**](./Appendix_B.md#sidecar_invalid) error. -HED categorical sidecar entries contain HED strings and should be validated in the same way. +HED definitions are required to be separated into dummy sidecar column entries +and cannot appear in sidecar entries containing tags other than definitions. +A HED definition appearing in a categorical or value sidecar entry +generates a [**DEFINITION_INVALID**](./Appendix_B.md#definition_invalid) error. -HED value sidecar entries must contain exactly one `#` placeholder in the HED string annotation associated -with the entry. The `#` placeholder should correspond to a `#` in the HED schema, -indicating that the parent tag (also included in the annotation) expects a value. +The sidecar does not have to provide a HED-relevant entry for every event file column. +Columns with no corresponding sidecar entry are skipped during assembly of the +HED annotation for an event file row. +However, if a value is encountered in a tabular file column that is +annotated as a categorical column but does not have a HED annotation, +a [**SIDECAR_KEY_MISSING**](./Appendix_B.md#sidecar_key_missing) warning is generated. + +HED value sidecar entries must contain exactly one `#` placeholder in +the HED string annotation associated with the entry. +The `#` placeholder should correspond to a `#` in the HED schema, +indicating that the parent tag (also included in the annotation) expects a value. +These issues generate a [**PLACEHOLDER_INVALID**](./Appendix_B.md#placeholder_invalid) error. If the placeholder is followed by a unit designator, the validator checks that these units are consistent with the unit class of the corresponding `#` in the schema. The units are not mandatory. -Errors that are particularly relevant to sidecars include [**PLACEHOLDER_INVALID**](./Appendix_B.md#placeholder_invalid) and [**SIDECAR_INVALID**](./Appendix_B.md#sidecar_invalid). - -If the sidecar is missing an annotation for a categorical column value, -the [**SIDECAR_KEY_MISSING**](./Appendix_B.md#sidecar_key_missing) warning is generated. - #### 3.2.9.3. Sidecar curly braces The curly brace notation is new with HED specification version 3.2.0 and is @@ -1061,27 +1013,59 @@ an annotation that uses curly braces (to prevent circular references). `````` -The following example illustrates the three types of JSON sidecar entries that are relevant to HED. -Entries without a `"HED"` key in the second level entry dictionaries are ignored. +If curly braces appear in an ordinary HED annotation (not in a sidecar), +a [**CHARACTER_INVALID**](./Appendix_B.md#character_invalid) error is generated. + +If a sidecar appears in a `Definition`, +a [**DEFINITION_INVALID**](./Appendix_B.md#definition_invalid) error is generated. + +If the curly brace notation is used improperly in a sidecar or elsewhere, a +[**SIDECAR_BRACES_INVALID**](./Appendix_B.md#sidecar_braces_invalid) is generated. + -(example-sidecar-anchor1)= -````{Admonition} Examples of the three types of sidecar annotation entries relevant to HED +#### 3.2.9.4. A sidecar example + +The following example illustrates the different types of JSON sidecar entries. + +(example-sidecar-anchor)= +````{Admonition} Different types of sidecar annotation entries that might appear in :class: tip ```json { - "trial_type": { + "event_type": { "LongName": "Event category", - "Description": "Indicator of type of action that is expected", + "Description": "Indicator of type of event.", + "Levels": { + "show": "Show a face to a participant.", + "press": "Participant presses key to indicate symmetry." + }, "HED": { - "go": "Sensory-event, Visual-presentation, (Square, Blue)", - "stop": "Sensory-event, Visual-presentation, (Square, Red)" + "show": "Sensory-event, Visual-presentation, {stim_file}", + "press": "Agent-action, (Experiment-participant, (Press, {key}))" } }, - "response_time": { - "LongName": "Response time after stimulus", + "stim_file": { + "LongName": "Stimulus image file", "Description": "Time from stimulus presentation until subject presses button", - "HED": "(Delay/# ms, Agent-action, (Experiment-participant, (Press, Mouse-button)))" + "HED": "(Image, Face, Pathname/#)" + }, + "key": { + "LongName": "Indicates which key is pressed.", + "Description": "Indicator of participant evaluation.", + "HED": { + "left-arrow": "((Leftward, Arrow), Keypad-key)", + "right-arrow": "((Rightward, Arrow), Keypad-key)" + } + }, + "symmetry": { + "LongName": "Indicates symmetrical or asymmetrical.", + "Description": "Indicates the participant's judgement of symmetry.", + "HED": { + "symmetric": "(Judge, Asymmetrical)", + "asymmetric": "(Judge, Symmetrical)" + } }, + "dummy_defs": { "HED": { "MyDef1": "(Definition/Cue1, (Buzz))", @@ -1092,14 +1076,43 @@ Entries without a `"HED"` key in the second level entry dictionaries are ignored ``` ```` +In the example, `"event_type"` is the name of a column that is annotated using the +**categorical** strategy. +Its top-level dictionary has `"LongName"`, `"Description"`, `"Levels"`, and `"HED"` keys. -If curly braces appear in an ordinary HED annotation (not in a sidecar), -an [**CHARACTER_INVALID**](./Appendix_B.md#character_invalid) error is generated. -If a sidecar appears in a `Definition`, -a [**DEFINITION_INVALID**](./Appendix_B.md#definition_invalid) error is generated. -If the curly brace notation is used improperly in a sidecar or elsewhere, a -[**SIDECAR_BRACES_INVALID**](./Appendix_B.md#sidecar_braces_invalid) is generated. +The value of `"Levels"` is a dictionary with the unique values in the `"event_type"` +column keyed to full text descriptions of these unique values. + +The value of `"HED"` is a dictionary with the unique values in `"event_type"` +keyed to the corresponding HED annotations of these unique values. +In the above example, the unique values are `"show"` and `"press"`. +The HED annotation for `show` is `"Sensory-event, Visual-presentation, {stim_file}"`. +Notice use of curly braces in the notation. Here `"stim_file"` must +correspond to another HED-annotated column in the sidecar. +The `"stim_file"` column is an example of a value column. +Its top level dictionary keys are `"LongName"`, `"Description"`, and `"HED"`. +and its annotation entry: +`"(Image, Face, Pathname/#)"`. +This annotation has a single `#`. +The filename in the `stim_file` column replaces this `#` when the + +Since `"stim_file` and `"key"` appear within curly braces in annotations +for `"event_type"`, their HED annotations can not use curly braces. + + +The `"dummy_defs"` is an example of a **dummy annotation**. +The value of this entry is a dictionary with a `"HED"` key +pointing to a dictionary. +A dummy annotation is similar in form to a **categorical annotation**, +but its keys do not correspond to any event file column names. +Rather it is used as a container to organize HED definitions. + +In the example, +`Definition/Cue1` is a definition that does not use a placeholder (`#`) modifier in its name, +while `Definition/Image/#` is a definition whose name `Image` is modified by a placeholder value. +Notice that `Image` is both a definition name and an actual tag in the schema in this example. +This is permitted. ### 3.2.10. Tabular files @@ -1142,7 +1155,21 @@ the HED strings associated with each row of the tabular file must be assembled t annotation for the row. We refer to this as *event-level* or *row* processing. -````{Admonition} General procedure for event-level (row) processing. +If the HED schema used for processing contains a schema node that has the `required` attribute, then +the assembled HED annotations for each row must include that tag. +Currently, HED schema versions ≥ 8.0.0 do not contain any nodes with the `required` +attribute, and this attribute may be deprecated in future versions of the schema. + +If the HED schema used for processing contains a schema node that has the `unique` attribute, +then the assembled HED annotations for each row must contain no more than one occurrence of that tag. +Currently, only `Event-context` has the `unique` attribute for HED schema versions ≥ 8.0.0. + +See [**REQUIRED_TAG_MISSING**](./Appendix_B.md#required_tag_missing) +and [**TAG_NOT_UNIQUE**](./Appendix_B.md#tag_not_unique) for information +on the validation errors that may occur with tags that have the `required` or `unique` +schema attributes, respectively. + +````{Admonition} General procedure for event-level (row) assembly. 1. Start with an empty list. 2. For each categorical column, the column value for the row is looked up in the sidecar. @@ -1155,21 +1182,35 @@ the row value is substituted for `#` placeholder in the annotation and the resul In all cases `n/a` column values are skipped. ```` -For an example, see [**How HED works in BIDS**](https://www.hed-resources.org/en/latest/BidsAnnotationQuickstart.html#how-hed-works-in-bids) tutorial. +To illustrate the assembly process, consider the following excerpt from an event file: -If the HED schema used for processing contains a schema node that has the `required` attribute, then -the assembled HED annotations for each row must include that tag. -Currently, HED schema versions >= 8.0.0 do not contain any nodes with the `required` -attribute, and this attribute may be deprecated in future versions of the schema. -If the HED schema used for processing contains a schema node that has the `unique` attribute, -then the assembled HED annotations for each row must contain no more than one occurrence of that tag. -Currently, only `Event-context` has the `unique` attribute for HED schema versions >= 8.0.0. +````{Admonition} General procedure for event-level (row) assembly. + +| onset | duration | event_type | stim_file | key | symmetry | HED | +| ----- | -------- | ---------- | --------- | --- | -------- | --- | +| 3.42 | n/a | show | h234.bmp | n/a | n/a | "(Recording, Label/Setup)" | +| 3.86 | n/a | press | n/a | left-arrow | asymmetric | n/a | +| 7.42 | n/a | show | h734.bmp | n/a | n/a | n/a | +```` + +Using the [**example sidecar**](example-sidecar-anchor) +results in the following assembled HED annotation for the first row of the event file: + +````{Admonition} General procedure for event-level (row) assembly. +:class: tip + +```shell +"Sensory-event, Visual-presentation, (Image, Face, Pathname/h234.bmp), (Recording, Label/Setup)" +``` +```` + +The specific annotation `(Image, Face, Pathname/h234.bmp)` has been substituted for +`{stim_file}` and the annotation for in the `HED` column of the `events.tsv` file +has been included. The entries with `n/a` have been ignored. + +For more examples of event assembly, see [**How HED works in BIDS**](https://www.hed-resources.org/en/latest/BidsAnnotationQuickstart.html#how-hed-works-in-bids) tutorial. -See [**REQUIRED_TAG_MISSING**](./Appendix_B.md#required_tag_missing) -and [**TAG_NOT_UNIQUE**](./Appendix_B.md#tag_not_unique) for information -on the validation errors that may occur with tags that have the `required` or `unique` -schema attributes, respectively. #### 3.2.10.3 File-level processing @@ -1186,6 +1227,7 @@ In particular every `Offset` tag group must correspond to a preceding `Onset` ta See [**ONSET_OFFSET_ERROR**](./Appendix_B.md#onset_offset_error) for details on the type of errors that are generated due to `Onset` and `Offset` errors. + ## 3.3. Semantic versioning HED schema use the following rules for diff --git a/docs/source/Appendix_B.md b/docs/source/Appendix_B.md index aa40398..f30094b 100644 --- a/docs/source/Appendix_B.md +++ b/docs/source/Appendix_B.md @@ -96,8 +96,8 @@ the definition's contents. **g.** A definition has placeholders (`#`) in incorrect positions. **h.** Definitions of the same name appear with and without a `#`. **i.** Multiple `Definition` tags with same name are encountered. -**j.** A tag with a `required` or `unique` attribute appears in a definition. -**k.** A definition appears in an unexpected place such as an events file. +**j.** A tag with a `required` or `unique` attribute appears in a definition. +**k.** A definition appears in an unexpected place such as an events file. See [**3.2.8.1. The Definition tag**](./03_HED_formats.md#3281-the-definition-tag) for an explanation of the rules for definitions. @@ -175,17 +175,17 @@ additional information on the `required` tag. **a.** A name appearing in curly braces in a sidecar HED annotation is not the word `HED` or the name of a HED-annotated column in the sidecar. **b.** A column name entry in a sidecar has a HED annotation with curly braces, but this name also appears in curly braces in another HED annotation. -**c.** The curly braces in a sidecar are nested or unmatched. +**c.** The curly braces in a sidecar are nested or unmatched. -See [**3.2.9.3. Sidecar curly braces**](./03_HED_formats.md#3293-sidecar-curly-braces) for information +See [**3.2.9. Sidecars**](./03_HED_formats.md#329-sidecars) for information on the requirements for using sidecars. ### SIDECAR_INVALID -**a.** The `"HED"` key is not a second-level dictionary key. -**b.** An annotation entry is provided for `n/a`. +**a.** The `"HED"` key is not a second-level dictionary key. +**b.** An annotation entry is provided for `n/a`. -See [**3.2.9.2. Sidecar validation**](./03_HED_formats.md#3292-sidecar-validation) for a +See [**3.2.9. Sidecars**](./03_HED_formats.md#329-sidecars) for a general explanation of sidecar requirements. ### SIDECAR_KEY_MISSING* From 9588cee7f4683a46d5fa11d322c88e8907f9ab8b Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Thu, 20 Apr 2023 07:20:44 -0500 Subject: [PATCH 04/13] Updated the schema errors for libraries --- docs/source/07_Library_schemas.md | 11 ++++------- docs/source/Appendix_B.md | 18 +++++++++++++++--- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/docs/source/07_Library_schemas.md b/docs/source/07_Library_schemas.md index b4a8ede..97dc265 100644 --- a/docs/source/07_Library_schemas.md +++ b/docs/source/07_Library_schemas.md @@ -161,7 +161,7 @@ HED standard schema 8.2.0: | `withStandard` | Header attribute | | | `unmerged` | Header attribute | | | `inLibrary` | Element attribute | | -| `rooted` | Node attribute | | +| `rooted` | Node attribute | | | `reserved` | Node attribute | . | @@ -193,12 +193,9 @@ define the structure of events and the data. By partnering with a standard schema, a library schema is assured of having HED support for key features such as events of temporal extent and definitions. -As these structural features evolve in HED, -partnership provides a natural update path for library schemas. -Developers of library schemas are strongly encouraged to a release new version -of the partnered library schema when a new HED standard schema version is released -so that the latest version of a partnered library schema uses the latest version -of the standard HED schema. +Developers of partnered library schemas should release new versions +whenever HED updates its standard schema. +This ensures that the partnered library schema benefits from the latest updates to HED features and tools. If the update can be done without conflict, this update may be initiated as part of the release mechanism diff --git a/docs/source/Appendix_B.md b/docs/source/Appendix_B.md index f30094b..d68c210 100644 --- a/docs/source/Appendix_B.md +++ b/docs/source/Appendix_B.md @@ -351,9 +351,6 @@ when the planned XSD validation is implemented start with HED_XML. ### B.2.1. General validation errors -#### LIBRARY_NAME_INVALID - -**a.** The specified library name is not alphabetic or lowercase. #### SCHEMA_ATTRIBUTE_INVALID @@ -379,6 +376,21 @@ under an appropriate unit class). **a.** The schema header has invalid characters or format. **b.** The schema header has unrecognized attributes. +#### SCHEMA_LIBRARY_INVALID + +Library schema errors are specific to library schema. Library schema may also raise any of the other schema errors. +**a.** The specified library name is not alphabetic or lowercase. +**b.** The `withStandard` attribute is used in a header that does not also have the `library` attribute. +**c.** The `withStandard` attribute value does not correspond to a valid standard schema version. +**d.** The `rooted` attribute appears in a schema whose header does not have `unmerged="true"` as well as appropriate `library` and `withStandard` header values. +**e.** A node with the `rooted` attribute is not at the top level. +**f.** A node with the `rooted` attribute does not correspond to a node in its partnered standard schema. +**g.** A library schema with the `unmerged="true"` header attribute has an `inLibrary` attribute in some element. +**h.** A library schema with the `unmerged="true"` duplicates special section items found in its partnered standard schema. + + + + #### SCHEMA_SECTION_MISSING **a.** A required schema section is missing. From cd391035f699b434f000bf500c161f8a78fd175a Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Thu, 20 Apr 2023 15:18:18 -0500 Subject: [PATCH 05/13] Rewrote Inset section --- docs/source/03_HED_formats.md | 30 ++- docs/source/05_Advanced_annotation.md | 59 +++++- docs/source/Appendix_B.md | 14 +- ...ROR.json => ONSET_OFFSET_INSET_ERROR.json} | 183 +++++++++++++++++- 4 files changed, 253 insertions(+), 33 deletions(-) rename tests/json_tests/{ONSET_OFFSET_ERROR.json => ONSET_OFFSET_INSET_ERROR.json} (79%) diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 4a443cd..7b438e4 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -19,7 +19,14 @@ A key requirement for third generation HED (versions >=8.0.0) is that all node n the HED schema (except for `#` placeholders) **must be unique**. Additional details about HED schema format can be found in appendix -[**A. Schema format details**](./Appendix_A.md) +[**A. Schema format details**](./Appendix_A.md). +[**7. Library schemas**](./07_Library_schemas.md#7-library-schemas) +discusses the additional requirements and restrictions on library schemas. + +[**B.2. Schema validation errors**](./Appendix_B.md#b2-schema-validation-errors) +gives the errors +Library specific schema issues usually generate [**SCHEMA_LIBRARY_INVALID**](./Appendix_B.md#schema_library_invalid) errors. + ### 3.1.1. Official schema releases @@ -91,10 +98,6 @@ See [**Appendix A. Schema format details**](./Appendix_A.md) for additional deta The schema header line specifies the version, which must satisfy semantic versioning. See [**SCHEMA_VERSION_INVALID**](./Appendix_B.md#schema_version_invalid). -If the schema is a library schema rather than the standard schema, the library name must be included. -Library names should be lowercase and may only contain alphabetic characters. -Library names must contain only alphabetic lowercase characters and should be short and descriptive. -See [**LIBRARY_NAME_INVALID**](./Appendix_B.md#library_name_invalid). A schema's library name or lack there of is used to locate the schema in the HED schema repository located in the @@ -846,10 +849,11 @@ for details on the types of errors that occur with `Def` and `Def-expand`. See also [**Using definitions**](./05_Advanced_annotation.md#52-using-definitions) for more details and examples. -#### 3.2.8.3. `Onset` and `Offset` tags +#### 3.2.8.3. `Onset`, `Offset`, and `Inset` The `Onset` and `Offset` tags are used to represent the temporal extent of events that have non-zero duration. + Each of these tags must appear in a top level tag group with a `Def` or `Def-expand-group` anchor. @@ -870,9 +874,17 @@ in their tag group with the `topLevelTagGroup` attribute. This implies, for example, that HED definition's contents may not include `Onset` or `Offset` tags. -See [**ONSET_OFFSET_ERROR**](./Appendix_B.md#onset_offset_error) and +An `Inset` tag designates an intermediate time point in an event of temporal extent. +Like `Onset` and `Offset`, the `Inset` tag has the `topLevelTagGroup` attribute +and must be anchored by a `Def` or `Def-expand`. +The anchor must be the same name as that of an ongoing `Onset`. +In addition to its anchor, the `Inset` tag group may contain a single additional +tag group with additional information about that marked point. +An event of temporal extent may contain several of these intermediate points. + +See [**ONSET_OFFSET_INSET_ERROR**](./Appendix_B.md#onset_offset_inset_error) and [**TAG_GROUP_ERROR**](./Appendix_B.md#tag_group_error) and -for a listing of specific errors associated with onsets and offsets. +for a listing of specific errors associated with onsets, and offsets, and insets. [**Chapter 5.3.1 Using Onset and Offset**](./05_Advanced_annotation.md#531-using-onset-and-offset) in Chapter 5 gives examples of usage and additional details. @@ -1224,7 +1236,7 @@ The validator must also check to make sure that `Onset` and `Offset` tags are properly matched within the data recording. In particular every `Offset` tag group must correspond to a preceding `Onset` tag group. -See [**ONSET_OFFSET_ERROR**](./Appendix_B.md#onset_offset_error) for details on the +See [**ONSET_OFFSET_INSET_ERROR**](./Appendix_B.md#onset_offset_inset_error) for details on the type of errors that are generated due to `Onset` and `Offset` errors. diff --git a/docs/source/05_Advanced_annotation.md b/docs/source/05_Advanced_annotation.md index dd79b42..24cb04a 100644 --- a/docs/source/05_Advanced_annotation.md +++ b/docs/source/05_Advanced_annotation.md @@ -255,18 +255,20 @@ interchangeably with the `Def/xxx`. **Long forms:** ~ *(Property/Organizational-property/Def/xxx,* - *Property/Data-property/Data-marker/Temporal-marker/Onset, (tag-group)* + *Property/Data-property/Data-marker/Temporal-marker/Onset, (tag-group))* ~ *(Property/Organizational-property/Def/xxx/#,* - *Property/Data-property/Data-marker/Temporal-marker/Onset, (tag-group)* - ~ *(Property/Organizational-property/Def/xxx, Property/Data-property/Data-marker/Temporal-marker/Offset)* - ~ *(Property/Organizational-property/Def/xxx/#, Property/Data-property/Data-marker/Temporal-marker/Offset)* + *Property/Data-property/Data-marker/Temporal-marker/Onset, (tag-group))* + ~ *(Property/Organizational-property/Def/xxx,* + *Property/Data-property/Data-marker/Temporal-marker/Offset)* + ~ *(Property/Organizational-property/Def/xxx/#,* + *Property/Data-property/Data-marker/Temporal-marker/Offset)* ````{admonition} Notes: :class: tip 1. *xxx* is the name of the definition anchoring the scoped event. 2. *yyy* is the value substituted for a definition's placeholder if it has one. -3. The *(tag-group)* contains optional tags specific to that temporal event. -This tag group is not the tag group specifying the contents of the definition.. +3. The *(tag-group)*, which is optional, contains tags specific to that temporal event. +This tag group is not the tag group specifying the contents of the definition. 4. The additional tag-group is only in effect for that particular scoped event and not for all events anchored by *Def/xxx*. 5. If the *Def/xxx/#* form is used, the `#` must be replaced by an actual value. @@ -295,9 +297,9 @@ playing of different clips. **Long form:** > [event 1] > *Event/Sensory-event,* -> *(Attribute/Informational/Def/PlayMovie,* +> *(Property/Organizational-property/Def/PlayMovie,* > *Data-property/Data-marker/Temporal-marker/Onset,* -> *(Attribute/Informational/Label/StarWars,* +> *(Property/Informational-property/Label/StarWars,* > *(Item/Object/Man-made-object/Media/Media-clip,* > *Properity/Informational-property/ID/3284)))* @@ -305,7 +307,7 @@ playing of different clips. > [event n] > *Event/Sensory-event,* -> *(Attribute/Informational/Def/PlayMovie,* +> *(Property/Organizational-property/Def/PlayMovie,* > *Data-property/Data-marker/Temporal-marker/Offset)* ```` @@ -351,6 +353,45 @@ Library functions in Python, Matlab, and JavaScript are available to support gathering of definitions and the expansion. These definitions may be given in JSON sidecars or provided externally. +### 5.3.2. Using `Inset` + +The `Inset` tag group marks an intermediate point in an event of temporal extent +defined by `Onset` and `Offset`. +Like the `Offset`, the `Inset` tag is anchored by a `Def` or `Def-expand` tag +that is the anchor of some `Onset`. + +The `Inset` tag group may contain an additional internal tag group in addition to the +anchor `Def` tag. This internal tag group usually contains annotations specific +to this instance of the event. As with all HED tags and groups, order does not matter. + +The following table summarizes `Inset` usage. +**Note**: A `Def-expand/xxx` tag group can be used +interchangeably with the `Def/xxx`. + + +``````{admonition} **Syntax summary for Inset.** +**Short forms:** + ~ *(Def/xxx, Inset, (tag-group))* + ~ *(Def/xxx/yyy, Inset, (tag-group))* + +**Long forms:** + ~ *(Property/Organizational-property/Def/xxx,* + *Property/Data-property/Data-marker/Temporal-marker/Inset, (tag-group))* + ~ *(Property/Organizational-property/Def/xxx/#,* + *Property/Data-property/Data-marker/Temporal-marker/Inset, (tag-group))* + +````{admonition} Notes: +:class: tip +1. *xxx* is the name of the definition anchoring the scoped event. +2. *yyy* is the value substituted for a definition's placeholder if it has one. +3. The *(tag-group)*, which is optional, contains information specific to that intermediate. +point in the ongoing event. This tag group is not the tag group specifying the contents of the definition.. +4. The additional tag-group is only in effect at that particular point. +5. If the *Def/xxx/#* form is used, the `#` must be replaced by an actual value that is +the same as the value used for its `Onset`. +```` +`````` + ### 5.3.2. Using `Duration` diff --git a/docs/source/Appendix_B.md b/docs/source/Appendix_B.md index d68c210..2a4aa27 100644 --- a/docs/source/Appendix_B.md +++ b/docs/source/Appendix_B.md @@ -112,7 +112,7 @@ for more details and examples of definition syntax. See [**3.2.3 Tag forms**](./03_HED_formats.md#322-tag-forms) for more information. -### ONSET_OFFSET_ERROR +### ONSET_OFFSET_INSET_ERROR Note: For the purpose of `Onset`/`Offset` matching, `Def` or `Def-expand` tags with different placeholder substitutions are considered to be different. @@ -127,15 +127,17 @@ different placeholder substitutions are considered to be different. without the appearance of an intervening `Onset` of the same name. **h.** An `Onset` tag group with has tags besides the anchor `Def` or `Def-expand-group` that are not in a tag group. -**i.** An `Onset` or an `Offset` with a given `Def` or `Def-expand-group` anchor appears in the same -event marker with another `Onset` or `Offset` that uses the same anchor. - +**i.** An `Onset`, `Inset` or `Offset` with a given `Def` or `Def-expand-group` anchor +appears in an event marker with the same time as with another `Onset`, `Inset`, or `Offset` +that uses the same anchor. +**j.** An `Inset` tag is not grouped with a `Def` or `Def-expand` of an ongoing `Onset`. +**k.** An `Inset` group has more than a single tag group in addition to its defining `Def` or `Def-expand`. **Note:** if the `Onset` tag group's definition is in expanded form, the `Def-expand` will be an additional internal tag group. -See [**3.2.8.3 Onset and Offset tags**](./03_HED_formats.md#3283-onset-and-offset-tags) -for a specification of the required behavior of `Onset` and `Offset`. +See [**3.2.8.3 Onset, Offset, and Inset**](./03_HED_formats.md#3283-onset-offset-and-inset) +for a specification of the required behavior of the `Onset`, `Offset`, and `Inset` tags. [**5.3.1. Using Onset and Offset**](./05_Advanced_annotation.md#531-using-onset-and-offset) in Chapter 5 gives examples of usage and additional details. diff --git a/tests/json_tests/ONSET_OFFSET_ERROR.json b/tests/json_tests/ONSET_OFFSET_INSET_ERROR.json similarity index 79% rename from tests/json_tests/ONSET_OFFSET_ERROR.json rename to tests/json_tests/ONSET_OFFSET_INSET_ERROR.json index c90c180..1f39674 100644 --- a/tests/json_tests/ONSET_OFFSET_ERROR.json +++ b/tests/json_tests/ONSET_OFFSET_INSET_ERROR.json @@ -1,6 +1,6 @@ [ { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-not-tag-group", "description": "An Onset or Offset tag does not appear in a tag group.", "schema": "8.1.0", @@ -97,7 +97,7 @@ } }, { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-nested-group", "description": "An Onset or Offset tag appears in a nested tag group (not a top-level tag group).", "schema": "8.1.0", @@ -184,7 +184,7 @@ } }, { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-wrong-number-of-defs", "description": "An Onset or Offset tag is not grouped with exactly one Def-expand tag group or a Def tag.", "schema": "8.1.0", @@ -276,7 +276,7 @@ } }, { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-error-onset-has-more-groups", "description": "An Onset group has more than one additional tag group.", "schema": "8.1.0", @@ -372,7 +372,7 @@ } }, { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-offset-has-groups", "description": "An Offset appears with one or more tags or additional tag groups.", "schema": "8.1.0", @@ -484,7 +484,7 @@ } }, { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-mismatch", "description": "An Offset tag associated with a given definition appears after a previous Offset tag without the appearance of an intervening Onset of the same name.", "schema": "8.1.0", @@ -562,7 +562,7 @@ } }, { - "error_code": "ONSET_OFFSET_ERROR", + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-extra tags", "description": "An Onset tag group with has tags besides the anchor Def or Def-expand that are not in a tag group.", "schema": "8.1.0", @@ -650,8 +650,8 @@ } } }, - { - "error_code": "ONSET_OFFSET_ERROR", + { + "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-duplicated-onset-or-offset", "description": "An Onset or an Offset with a given Def or Def-expand anchor appears in the same event marker with another Onset or Offset that uses the same anchor.", "schema": "8.1.0", @@ -746,5 +746,170 @@ ] } } + }, + { + "error_code": "ONSET_OFFSET_INSET_ERROR", + "name": "inset-outside-its-event", + "description": "An Inset tag is not grouped with a Def or Def-expand of an ongoing Onset.", + "schema": "8.1.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "event_tests": { + "fails": [ + [ + ["onset", "duration", "HED"], + [ 4.5, 0, "(Def/MyColor, Offset)"], + [ 6.5, 0, "Red, (Def/MyColor, Offset)"], + [ 5.5, 0, "(Def/MyColor, Offset)"] + ] + ], + "passes": [ + [ + ["onset", "duration", "HED"], + [ 4.5, 0, "(Def/MyColor, Onset)"], + [ 5.5, 0, "(Def/MyColor, Offset)"], + [ 6.5, 0, "Red"] + ] + ] + }, + "combo_tests": { + "fails": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Def/MyColor, Onset)", + "ball": "(Def/MyColor, Offset)", + "snack": "(Def/MyColor, Inset)" + } + } + }, + "events": + [ + ["onset", "duration", "event_code", "HED"], + [ 4.5, 0, "snack", "Red, Blue"], + [ 4.8, 0, "face", "Red, Blue"], + [ 5.0, 0, "face", "Green"] + ] + } + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Def/MyColor, Onset)", + "ball": "(Def/MyColor, Offset)", + "snack": "(Def/MyColor, Inset)" + } + } + }, + "events": + [ + ["onset", "duration", "event_code", "HED"], + [ 4.5, 0, "face", "Blue"], + [ 4.8, 0, "snack", "Blue"], + [ 5.0, 0, "ball", "Green, Def/MyColor"] + ] + } + ] + } + } + }, + { + "error_code": "ONSET_OFFSET_INSET_ERROR", + "name": "inset-group-has-extras", + "description": "An Inset group has tags or groups in addition to its defining Def or Def-expand.", + "schema": "8.1.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "event_tests": { + "fails": [ + [ + ["onset", "duration", "HED"], + [ 2.5, 0, "Red, (Def/MyColor, Onset)"], + [ 4.5, 0, "(Def/MyColor, Blue, Inset)"], + [ 6.5, 0, "Red, (Def/MyColor, Onset)"], + [ 5.5, 0, "(Def/MyColor, Offset)"] + ] + ], + "passes": [ + [ + ["onset", "duration", "HED"], + [ 4.5, 0, "(Def/MyColor, (Blue), Onset)"], + [ 4.8, 0, "(Def/MyColor, (Green), Inset)"], + [ 5.5, 0, "(Def/MyColor, Offset)"], + [ 6.5, 0, "Red"] + ] + ] + }, + "combo_tests": { + "fails": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Def/MyColor, Onset)", + "ball": "(Def/MyColor, Offset)", + "snack": "(Def/MyColor, Inset)" + } + } + }, + "events": + [ + ["onset", "duration", "event_code", "HED"], + [ 4.5, 0, "snack", "Red, Blue"], + [ 4.8, 0, "face", "Red, Blue"], + [ 5.0, 0, "face", "Green"] + ] + } + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Def/MyColor, Onset)", + "ball": "(Def/MyColor, Offset)", + "snack": "(Def/MyColor, Inset)" + } + } + }, + "events": + [ + ["onset", "duration", "event_code", "HED"], + [ 4.5, 0, "face", "Blue"], + [ 4.5, 0, "face", "Blue"], + [ 4.8, 0, "snack", "Blue"], + [ 5.0, 0, "ball", "Green, Def/MyColor"] + ] + } + ] + } + } } ] \ No newline at end of file From bd52f3044c81f03ee4a1183f06330636cec0b8b7 Mon Sep 17 00:00:00 2001 From: IanCa Date: Mon, 24 Apr 2023 17:14:37 -0500 Subject: [PATCH 06/13] Add SCHEMA_LIBRARY_INVALID tests --- tests/json_tests/SCHEMA_LIBRARY_INVALID.json | 269 +++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 tests/json_tests/SCHEMA_LIBRARY_INVALID.json diff --git a/tests/json_tests/SCHEMA_LIBRARY_INVALID.json b/tests/json_tests/SCHEMA_LIBRARY_INVALID.json new file mode 100644 index 0000000..3f7630a --- /dev/null +++ b/tests/json_tests/SCHEMA_LIBRARY_INVALID.json @@ -0,0 +1,269 @@ +[ + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-bad-name", + "warning": true, + "description": "A schema library issue, indicating the name is invalid.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score_invalidchar\" withStandard=\"8.2.0\" unmerged=\"True\"" + ], + [ + "HED version=\"1.0.0\" library=\"score1\" withStandard=\"8.2.0\" unmerged=\"True\"" + ], + [ + "HED version=\"1.0.0\" library=\"Score\" withStandard=\"8.2.0\" unmerged=\"True\"" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-bad_with-standard", + "warning": true, + "description": "A schema library issue, the with-standard attribute is present without the library attribute.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" withStandard=\"8.2.0\" unmerged=\"True\"" + ], + [ + "HED version=\"1.0.0\" withStandard=\"8.2.0\"" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-bad_with-standard-version", + "warning": true, + "description": "A schema library issue, indicating it references a version of the standard that can't be found.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.9.9\" unmerged=\"True\"" + ], + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"7.9.9\" unmerged=\"True\"" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-rooted-present", + "warning": true, + "description": "A schema library issue, indicating the rooted property appears in a file it shouldn't.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\"", + "!# start schema", + "'''Event''' {rooted}", + "!# end schema", + "!# end hed" + ], + [ + "HED version=\"1.0.0\"", + "!# start schema", + "'''Event''' {rooted}", + "!# end schema", + "'''Schema attributes'''", + "* rooted {nodeProperty} ", + "'''Properties'''", + "* nodeProperty", + "!# end hed" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-rooted-not-top-level", + "warning": true, + "description": "A schema library issue, indicating a node is being rooted that is not a top level node.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''NewNode'''", + "* NewExtension {rooted}", + "!# end schema", + "!# end hed" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-rooted-not-in-base", + "warning": true, + "description": "A schema library issue, rooted tag does not exist.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''DummyTag'''", + "'''DummyTag'''{rooted}", + "!# end schema", + "!# end hed" + ], + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''DummyTag'''{rooted}", + "!# end schema", + "!# end hed" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-rooted-in-library-present", + "warning": true, + "description": "A schema library issue, indicating the InLibrary attribute appears when it shouldn't.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "* ExtendedEvent {inLibrary=\"score\"}", + "!# end schema", + "!# end hed" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "* ExtendedEvent", + "!# end schema", + "!# end hed" + ] + ] + } + } + }, + { + "error_code": "SCHEMA_LIBRARY_INVALID", + "name": "library-invalid-rooted-in-duplicate-other", + "warning": true, + "description": "A schema library issue, indicating the InLibrary attribute appears when it shouldn't.", + "schema": "", + "definitions": [], + "tests": { + "schema_tests": { + "fails": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "* ExtendedEvent", + "!# end schema", + "'''Unit classes'''", + "* weightUnits", + "** g {SIUnit, unitSymbol, conversionFactor=1.0}", + "!# end hed" + ] + ], + "passes": [ + [ + "HED version=\"1.0.0\" library=\"score\" withStandard=\"8.2.0\" unmerged=\"True\"", + "!# start schema", + "'''Event''' {rooted}", + "* ExtendedEvent", + "!# end schema", + "'''Unit classes'''", + "* weightUnits", + "** testNewUnit {conversionFactor=10.0}", + "!# end hed" + ] + ] + } + } + } +] \ No newline at end of file From fa45577538a3be9d0e97766536976cc285c1cbdd Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Wed, 26 Apr 2023 16:45:56 -0500 Subject: [PATCH 07/13] Added a DOI from Zenodo to README --- README.md | 2 ++ docs/source/03_HED_formats.md | 21 +++++++++++---------- docs/source/07_Library_schemas.md | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index b84530a..547f265 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7869149.svg)](https://doi.org/10.5281/zenodo.7869149) + # HED specification **Note** This repository is primarily for managing the HED ecosystem specification, diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 7b438e4..1378fd1 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -1025,10 +1025,10 @@ an annotation that uses curly braces (to prevent circular references). `````` -If curly braces appear in an ordinary HED annotation (not in a sidecar), +If curly braces appear in the HED column of a tabular file, a [**CHARACTER_INVALID**](./Appendix_B.md#character_invalid) error is generated. -If a sidecar appears in a `Definition`, +If curly braces appear in a `Definition`, a [**DEFINITION_INVALID**](./Appendix_B.md#definition_invalid) error is generated. If the curly brace notation is used improperly in a sidecar or elsewhere, a @@ -1183,13 +1183,14 @@ schema attributes, respectively. ````{Admonition} General procedure for event-level (row) assembly. -1. Start with an empty list. -2. For each categorical column, the column value for the row is looked up in the sidecar. -If an annotation for that column value is available it is concatenated to the list. -3. For each value column, if a column an associated value entry in the sidecar, -the row value is substituted for `#` placeholder in the annotation and the result concatenated to the list. -4. If a `HED` column annotation exists for that row, it is concatenated to the list. -5. Finally, all the entries of the list are joined using a comma (`,`) separator. +1. Create an empty result list. +2. Create an assembly list of columns that contain HED annotations +and whose names do not appear in the curly braces of other HED annotations. +3. For each the column in the assembly list look up the annotation in the sidecar, replacing all curly braces and place holder values appropriately. +Append to the result list. +4. If a `HED` column annotation exists for that row and `HED` did not appear +in curly braces in the sidecar, concatentate the annotation to the result list. +5. Finally, join all the entries of the result list using a comma (`,`) separator. In all cases `n/a` column values are skipped. ```` @@ -1209,7 +1210,7 @@ To illustrate the assembly process, consider the following excerpt from an event Using the [**example sidecar**](example-sidecar-anchor) results in the following assembled HED annotation for the first row of the event file: -````{Admonition} General procedure for event-level (row) assembly. +````{Admonition} A result for event-level (row) assembly of the sample file. :class: tip ```shell diff --git a/docs/source/07_Library_schemas.md b/docs/source/07_Library_schemas.md index 97dc265..5d79371 100644 --- a/docs/source/07_Library_schemas.md +++ b/docs/source/07_Library_schemas.md @@ -160,7 +160,7 @@ HED standard schema 8.2.0: | --------- | ----- | ---- | | `withStandard` | Header attribute |
  • Indicates that this is a partnered library schema.
  • Its value is the version of its standard schema partner.
| | `unmerged` | Header attribute |
  • Indicates that this schema contains only library information.
  • Its value is either "true" or "false.
  • If "false", the attribute should be omitted.
| -| `inLibrary` | Element attribute |
  • Indicates that this element is in the library schema.
  • Its value is the library name in lowercase.
  • The attribute appears only merged schemas.
| +| `inLibrary` | Element attribute |
  • Indicates that this element is in the library schema.
  • Its value is the library name in lowercase.
  • The attribute appears only in merged schemas.
| | `rooted` | Node attribute |
  • Indicates that this node is equivalent to a node in its
    partnered standard schema.
  • A node with this name must exist in both the library and its partnered library schema.
  • A node with the `rooted` attribute must be
    a top-level node in the unmerged schema.
  • A rooted node in the unmerged schema must not
    have a description or other attributes,
    since these are inherited from the standard schema.
| | `reserved` | Node attribute |
  • Indicates that this node has special meaning or function.
  • **Can only appear in standard schemas.**
. | From c73f43b13048c099b13f7baabb60826e8f1ef42f Mon Sep 17 00:00:00 2001 From: IanCa Date: Mon, 8 May 2023 15:29:42 -0500 Subject: [PATCH 08/13] Fix/update sidebar brace tests --- tests/json_tests/SIDECAR_BRACES_INVALID.json | 244 ++++++++++++++++++- 1 file changed, 232 insertions(+), 12 deletions(-) diff --git a/tests/json_tests/SIDECAR_BRACES_INVALID.json b/tests/json_tests/SIDECAR_BRACES_INVALID.json index f2031bf..025c16f 100644 --- a/tests/json_tests/SIDECAR_BRACES_INVALID.json +++ b/tests/json_tests/SIDECAR_BRACES_INVALID.json @@ -88,11 +88,11 @@ }, "events": [ - ["onset", "duration", "event_code","HED"], - [ 4.5, 0, "face", "Blue"], - [ 5.0, 0, "ball", "Green, Def/MyColor"], - [ 5.0, 0, "face", ""], - [ 5.0, 0, "face", "n/a"] + ["onset", "duration", "event_code","HED", "response_time"], + [ 4.5, 0, "face", "Blue", 0], + [ 5.0, 0, "ball", "Green, Def/MyColor", 1], + [ 5.0, 0, "face", "", 2], + [ 5.0, 0, "face", "n/a", 3] ] } ] @@ -122,7 +122,6 @@ } }, "response_time": { - "Description": "Has description but no HED", "HED": "Label/#, {event_code}" } }, @@ -135,12 +134,13 @@ } }, "response_time": { - "Description": "Has description but no HED", "HED": "Label/#" }, "event_type": { + "HED": { "banana": "Blue, {response_time}", "apple": "Green" + } } } ], @@ -198,7 +198,123 @@ "HED": "Label/#" } }, - "events": + "events": + [ + ["onset", "duration", "response_time", "event_code","HED"], + [ 4.5, 0, 3.4, "face", "Blue"], + [ 5.0, 0, 6.8, "ball", "Green, Def/MyColor"], + [ 5.0, 0, "n/a", "face", ""], + [ 5.0, 0, "any", "face", "n/a"] + ] + } + ] + } + } + }, + { + "error_code": "SIDECAR_BRACES_INVALID", + "name": "sidecar-braces-self-reference", + "description": "The item in curly braces has a HED annotation that contains itself.", + "schema": "8.2.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), {HED}", + "ball": "{HED}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "HED": "Label/#, {response_time}" + } + } + ], + "passes": [ + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + }, + "response_count": { + "Description": "A count used to test curly braces in value columns.", + "HED": "(Item-count/#, {response_time})" + } + }, + { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow))", + "ball": "{HED}, (Def/Acc/3.5 m-per-s^2, {response_action})" + } + }, + "response_action": { + "Description": "Does not correspond to curly braces", + "HED": "Label/#" + } + } + ] + }, + "event_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "combo_tests": { + "fails": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{HED}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#, {response_time}" + } + }, + "events": + [ + ["onset", "duration", "response_time", "event_code","HED"], + [ 4.5, 0, 3.4, "face", "Blue"], + [ 5.0, 0, 6.8, "ball", "Green, Def/MyColor"], + [ 5.0, 0, "n/a", "face", ""], + [ 5.0, 0, "any", "face", "n/a"] + ] + } + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": [ ["onset", "duration", "response_time", "event_code","HED"], [ 4.5, 0, 3.4, "face", "Blue"], @@ -267,7 +383,7 @@ { "event_code": { "HED": { - "face": "(Red, Blue), ({response_time}, (Green, (Yellow))", + "face": "(Red, Blue), ({response_time}, (Green, (Yellow)))", "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" } }, @@ -297,6 +413,28 @@ }, "combo_tests": { "fails": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": + [ + ["onset", "duration", "event_code","HED"], + [ 4.5, 0, "face", "Blue"], + [ 5.0, 0, "ball", "Green, Def/MyColor"], + [ 5.0, 0, "face", ""], + [ 5.0, 0, "face", "n/a"] + ] + } ], "passes": [ { @@ -312,17 +450,99 @@ "HED": "Label/#" } }, - "events": + "events": + [ + ["onset", "duration", "event_code","HED", "response_time"], + [ 4.5, 0, "face", "Blue", 1], + [ 5.0, 0, "ball", "Green, Def/MyColor", 1], + [ 5.0, 0, "face", "", 1], + [ 5.0, 0, "face", "n/a", 1] + ] + } + ] + } + } + }, + { + "error_code": "INVALID_CHARACTER", + "name": "sidecar-braces-in-events-file", + "description": "The curly braces in the sidecar are mismatched or nested.", + "schema": "8.1.0", + "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], + "tests": { + "string_tests": { + "fails": [ + "{HED}, Def/MyColor" + ], + "passes": [ + ] + }, + "sidecar_tests": { + "fails": [ + ], + "passes": [ + ] + }, + "event_tests": { + "fails": [ + [ + ["onset", "duration", "HED"], + [ 4.5, 0, "{who_knows}, Red"] + ] + ], + "passes": [ + ] + }, + "combo_tests": { + "fails": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": [ ["onset", "duration", "event_code","HED"], - [ 4.5, 0, "face", "Blue"], + [ 4.5, 0, "face", "Blue, {response_time}"], [ 5.0, 0, "ball", "Green, Def/MyColor"], [ 5.0, 0, "face", ""], [ 5.0, 0, "face", "n/a"] ] } + ], + "passes": [ + { + "sidecar": { + "event_code": { + "HED": { + "face": "(Red, Blue), (Green, (Yellow)), ({HED})", + "ball": "{response_time}, (Def/Acc/3.5 m-per-s^2)" + } + }, + "response_time": { + "Description": "Has description with HED", + "HED": "Label/#" + } + }, + "events": + [ + ["onset", "duration", "event_code","HED", "response_time"], + [ 4.5, 0, "face", "Blue", 1], + [ 5.0, 0, "ball", "Green, Def/MyColor", 1], + [ 5.0, 0, "face", "", 1], + [ 5.0, 0, "face", "n/a", 1] + ] + } ] } } } -] \ No newline at end of file +] From 424a3f58c2c15f00f905e0818e05b0bb00795bab Mon Sep 17 00:00:00 2001 From: IanCa Date: Tue, 9 May 2023 17:39:49 -0500 Subject: [PATCH 09/13] Update offset/onset tests to use 8.2.0 for inset tag --- .../json_tests/ONSET_OFFSET_INSET_ERROR.json | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/tests/json_tests/ONSET_OFFSET_INSET_ERROR.json b/tests/json_tests/ONSET_OFFSET_INSET_ERROR.json index 1f39674..e47ad7b 100644 --- a/tests/json_tests/ONSET_OFFSET_INSET_ERROR.json +++ b/tests/json_tests/ONSET_OFFSET_INSET_ERROR.json @@ -3,7 +3,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-not-tag-group", "description": "An Onset or Offset tag does not appear in a tag group.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -65,7 +65,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "ball", "Onset, Red"], @@ -83,7 +83,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 5.5, 0, "n/a","(Onset, Def/Acc/5.4 m-per-s^2)"], @@ -100,7 +100,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-nested-group", "description": "An Onset or Offset tag appears in a nested tag group (not a top-level tag group).", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -155,7 +155,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "n/a", "((Onset, Def/MyColor), Red)"], @@ -172,7 +172,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "Blue"], @@ -187,7 +187,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-wrong-number-of-defs", "description": "An Onset or Offset tag is not grouped with exactly one Def-expand tag group or a Def tag.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -246,7 +246,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "face", "Green, Def/MyColor"], @@ -264,7 +264,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "Blue"], @@ -279,7 +279,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-error-onset-has-more-groups", "description": "An Onset group has more than one additional tag group.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -341,7 +341,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "Red, Def/MyColor"], @@ -360,7 +360,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "((Def-expand/MyColor, (Label/Pie)), (Green, (Yellow)), Onset)"], @@ -375,7 +375,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-offset-has-groups", "description": "An Offset appears with one or more tags or additional tag groups.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -396,7 +396,7 @@ "ball": "((Def-expand/MyColor, (Label/Pie)), Onset)", "square": "(Offset, Def/MyColor, (Red))", "circle": "((Def-expand/MyColor, (Label/Pie)), Offset, Blue)" - + } } } @@ -444,11 +444,11 @@ "ball": "((Def-expand/MyColor, (Label/Pie)), Onset)", "square": "(Offset, Def/MyColor, (Red))", "circle": "((Def-expand/MyColor, (Label/Pie)), Offset, Blue)" - + } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "face", "n/a"], @@ -470,7 +470,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "face", "n/a"], @@ -487,7 +487,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-mismatch", "description": "An Offset tag associated with a given definition appears after a previous Offset tag without the appearance of an intervening Onset of the same name.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -531,7 +531,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "ball", "Red, Blue"], @@ -550,7 +550,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "face", "Blue"], @@ -565,7 +565,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-extra tags", "description": "An Onset tag group with has tags besides the anchor Def or Def-expand that are not in a tag group.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -621,7 +621,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "Red, Def/MyColor"], @@ -639,7 +639,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "Blue"], @@ -654,7 +654,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "onset-offset-error-duplicated-onset-or-offset", "description": "An Onset or an Offset with a given Def or Def-expand anchor appears in the same event marker with another Onset or Offset that uses the same anchor.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -686,7 +686,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "(Def/MyColor, (Blue), Onset)"], @@ -702,7 +702,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "(Def/MyColor, Offset)"], @@ -718,7 +718,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "(Def/MyColor, Offset)"], @@ -736,7 +736,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code","HED"], [ 4.5, 0, "face", "Blue"], @@ -751,7 +751,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "inset-outside-its-event", "description": "An Inset tag is not grouped with a Def or Def-expand of an ongoing Onset.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { @@ -796,7 +796,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "snack", "Red, Blue"], @@ -816,7 +816,7 @@ } } }, - "events": + "events": [ ["onset", "duration", "event_code", "HED"], [ 4.5, 0, "face", "Blue"], @@ -832,7 +832,7 @@ "error_code": "ONSET_OFFSET_INSET_ERROR", "name": "inset-group-has-extras", "description": "An Inset group has tags or groups in addition to its defining Def or Def-expand.", - "schema": "8.1.0", + "schema": "8.2.0", "definitions": ["(Definition/Acc/#, (Acceleration/#, Red))", "(Definition/MyColor, (Label/Pie))"], "tests": { "string_tests": { From 9091a69dd86f380c7f16518e0808d3405912ced7 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Fri, 12 May 2023 10:04:18 -0500 Subject: [PATCH 10/13] Minor corrections to the docs...upped Python to 3.11 due to readthedocs failure --- CHANGELOG.md | 10 + docs/source/03_HED_formats.md | 6 +- docs/source/05_Advanced_annotation.md | 11 +- hedwiki/HED8.2.0.mediawiki | 1304 +++++ hedxml/HED8.2.0.xml | 7296 +++++++++++++++++++++++++ hedxml/HEDLatest.xml | 252 +- readthedocs.yml | 2 +- 7 files changed, 8861 insertions(+), 20 deletions(-) create mode 100644 hedwiki/HED8.2.0.mediawiki create mode 100644 hedxml/HED8.2.0.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index f5dd98c..e982c62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # CHANGELOG for HED specification +## Changes for HED specification 3.2.0 +- The `Inset` tag was introduced to mark intermediate points in events of temporal extent. +- Partnered schemas were introduced using the `withStandard` schema header attribute +and the `rooted` schema attribute. +- The curly brace annotation for sidecars was introduced. + +## Changes for HED specification 3.1.1 +This release is added additional minor corrections and +clarifications in the specification document and does not include any enhancements from version 3.0.0. + ## Changes for HED specification 3.1.0 This release is focused on corrections and clarifications in the specification document and does not include any enhancements. diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 1378fd1..3dd7c04 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -1019,9 +1019,11 @@ for the curly braces and their contents when the HED annotation is assembled. 1. The item within the curly braces must either be the word `HED` or the name of another HED-annotated column within the sidecar. 2. The HED annotation for the column in curly braces directly replaces the curly braces and their contents in the target annotation. -3. A sidecar column name cannot both appear in a curly braces and have +3. During assembly of a HED annoation for an event, if an 'n/a' value appears in a curly brace column, +the curly brace express is removed and any extra parentheses or commas are also removed. +4. A sidecar column name cannot both appear in a curly braces and have an annotation that uses curly braces (to prevent circular references). -4. The curly braces cannot be used within a `Definition`. +5. The curly braces cannot be used within a `Definition`. `````` diff --git a/docs/source/05_Advanced_annotation.md b/docs/source/05_Advanced_annotation.md index 24cb04a..43e66aa 100644 --- a/docs/source/05_Advanced_annotation.md +++ b/docs/source/05_Advanced_annotation.md @@ -228,7 +228,12 @@ Using this method, an event with temporal scope actually corresponds to two poin The initiation event is tagged by a `(Def/xxx, Onset)` where `xxx` is a defined name. The end of the event’s temporal scope is marked either by a `(Def/xxx, Offset)` or by -another `(Def/xxx, Onset)`. The `Def/xxx` is said to **anchor** the definition. +another `(Def/xxx, Onset)`. The `Def/xxx` is said to **anchor** the `Onset` +(and similarly for `Offset`). +By anchor, we mean that tools use the anchor to determine +where each event of temporal extent begins and ends. +A `Def-expand` tag group can also anchor the `Onset` and `Offset` groups. + The `Onset` tag group may contain an additional internal tag group in addition to the anchor `Def` tag. This internal tag group usually contains annotations specific to this instance of the event. As with all HED tags and groups, order does not matter. @@ -357,8 +362,8 @@ These definitions may be given in JSON sidecars or provided externally. The `Inset` tag group marks an intermediate point in an event of temporal extent defined by `Onset` and `Offset`. -Like the `Offset`, the `Inset` tag is anchored by a `Def` or `Def-expand` tag -that is the anchor of some `Onset`. +Like the `Offset`, the `Inset` tag is anchored by a `Def` tag or `Def-expand` tag group +that is the anchor of its enclosing `Onset`. The `Inset` tag group may contain an additional internal tag group in addition to the anchor `Def` tag. This internal tag group usually contains annotations specific diff --git a/hedwiki/HED8.2.0.mediawiki b/hedwiki/HED8.2.0.mediawiki new file mode 100644 index 0000000..26d775d --- /dev/null +++ b/hedwiki/HED8.2.0.mediawiki @@ -0,0 +1,1304 @@ +HED version="8.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://github.com/hed-standard/hed-specification/raw/master/hedxml/HED8.0.0.xsd" + +'''Prologue''' +The HED standard schema is a hierarchically-organized vocabulary for annotating events and experimental structure. HED annotations consist of comma-separated tags drawn from this vocabulary. This vocabulary can be augmented by terms drawn from specialized library schema. + +Each term in this vocabulary has a human-readable description and may include additional attributes that give additional properties or that specify how tools should treat the tag during analysis. The meaning of these attributes is described in the Additional schema properties section. + +!# start schema + +'''Event''' {suggestedTag=Task-property}[Something that happens at a given time and (typically) place. Elements of this tag subtree designate the general category in which an event falls.] +* Sensory-event {suggestedTag=Task-event-role, suggestedTag=Sensory-presentation}[Something perceivable by the participant. An event meant to be an experimental stimulus should include the tag Task-property/Task-event-role/Experimental-stimulus.] +* Agent-action {suggestedTag=Task-event-role, suggestedTag=Agent}[Any action engaged in by an agent (see the Agent subtree for agent categories). A participant response to an experiment stimulus should include the tag Agent-property/Agent-task-role/Experiment-participant.] +* Data-feature {suggestedTag=Data-property}[An event marking the occurrence of a data feature such as an interictal spike or alpha burst that is often added post hoc to the data record.] +* Experiment-control [An event pertaining to the physical control of the experiment during its operation.] +* Experiment-procedure [An event indicating an experimental procedure, as in performing a saliva swab during the experiment or administering a survey.] +* Experiment-structure [An event specifying a change-point of the structure of experiment. This event is typically used to indicate a change in experimental conditions or tasks.] +* Measurement-event {suggestedTag=Data-property}[A discrete measure returned by an instrument.] + +'''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.] +* 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.] + +'''Action''' {extensionAllowed}[Do something.] +* Communicate [Convey knowledge of or information about something.] +** Communicate-gesturally {relatedTag=Move-face, relatedTag=Move-upper-extremity}[Communicate nonverbally using visible bodily actions, either in place of speech or together and in parallel with spoken words. Gestures include movement of the hands, face, or other parts of the body.] +*** Clap-hands [Strike the palms of against one another resoundingly, and usually repeatedly, especially to express approval.] +*** Clear-throat {relatedTag=Move-face, relatedTag=Move-head}[Cough slightly so as to speak more clearly, attract attention, or to express hesitancy before saying something awkward.] +*** Frown {relatedTag=Move-face}[Express disapproval, displeasure, or concentration, typically by turning down the corners of the mouth.] +*** Grimace {relatedTag=Move-face}[Make a twisted expression, typically expressing disgust, pain, or wry amusement.] +*** Nod-head {relatedTag=Move-head}[Tilt head in alternating up and down arcs along the sagittal plane. It is most commonly, but not universally, used to indicate agreement, acceptance, or acknowledgement.] +*** Pump-fist {relatedTag=Move-upper-extremity}[Raise with fist clenched in triumph or affirmation.] +*** Raise-eyebrows {relatedTag=Move-face, relatedTag=Move-eyes}[Move eyebrows upward.] +*** Shake-fist {relatedTag=Move-upper-extremity}[Clench hand into a fist and shake to demonstrate anger.] +*** Shake-head {relatedTag=Move-head}[Turn head from side to side as a way of showing disagreement or refusal.] +*** Shhh {relatedTag=Move-upper-extremity}[Place finger over lips and possibly uttering the syllable shhh to indicate the need to be quiet.] +*** Shrug {relatedTag=Move-upper-extremity, relatedTag=Move-torso}[Lift shoulders up towards head to indicate a lack of knowledge about a particular topic.] +*** Smile {relatedTag=Move-face}[Form facial features into a pleased, kind, or amused expression, typically with the corners of the mouth turned up and the front teeth exposed.] +*** Spread-hands {relatedTag=Move-upper-extremity}[Spread hands apart to indicate ignorance.] +*** Thumbs-down {relatedTag=Move-upper-extremity}[Extend the thumb downward to indicate disapproval.] +*** Thumb-up {relatedTag=Move-upper-extremity}[Extend the thumb upward to indicate approval.] +*** Wave {relatedTag=Move-upper-extremity}[Raise hand and move left and right, as a greeting or sign of departure.] +*** Widen-eyes {relatedTag=Move-face, relatedTag=Move-eyes}[Open eyes and possibly with eyebrows lifted especially to express surprise or fear.] +*** Wink {relatedTag=Move-face, relatedTag=Move-eyes}[Close and open one eye quickly, typically to indicate that something is a joke or a secret or as a signal of affection or greeting.] +** Communicate-musically [Communicate using music.] +*** Hum [Make a low, steady continuous sound like that of a bee. Sing with the lips closed and without uttering speech.] +*** Play-instrument [Make musical sounds using an instrument.] +*** Sing [Produce musical tones by means of the voice.] +*** Vocalize [Utter vocal sounds.] +*** Whistle [Produce a shrill clear sound by forcing breath out or air in through the puckered lips.] +** Communicate-vocally [Communicate using mouth or vocal cords.] +*** Cry [Shed tears associated with emotions, usually sadness but also joy or frustration.] +*** Groan [Make a deep inarticulate sound in response to pain or despair.] +*** Laugh [Make the spontaneous sounds and movements of the face and body that are the instinctive expressions of lively amusement and sometimes also of contempt or derision.] +*** Scream [Make loud, vociferous cries or yells to express pain, excitement, or fear.] +*** Shout [Say something very loudly.] +*** Sigh [Emit a long, deep, audible breath expressing sadness, relief, tiredness, or a similar feeling.] +*** Speak [Communicate using spoken language.] +*** Whisper [Speak very softly using breath without vocal cords.] +* Move [Move in a specified direction or manner. Change position or posture.] +** Breathe [Inhale or exhale during respiration.] +*** Blow [Expel air through pursed lips.] +*** Cough [Suddenly and audibly expel air from the lungs through a partially closed glottis, preceded by inhalation.] +*** Exhale [Blow out or expel breath.] +*** Hiccup [Involuntarily spasm the diaphragm and respiratory organs, with a sudden closure of the glottis and a characteristic sound like that of a cough.] +*** Hold-breath [Interrupt normal breathing by ceasing to inhale or exhale.] +*** Inhale [Draw in with the breath through the nose or mouth.] +*** Sneeze [Suddenly and violently expel breath through the nose and mouth.] +*** Sniff [Draw in air audibly through the nose to detect a smell, to stop it from running, or to express contempt.] +** Move-body [Move entire body.] +*** Bend [Move body in a bowed or curved manner.] +*** Dance [Perform a purposefully selected sequences of human movement often with aesthetic or symbolic value. Move rhythmically to music, typically following a set sequence of steps.] +*** Fall-down [Lose balance and collapse.] +*** Flex [Cause a muscle to stand out by contracting or tensing it. Bend a limb or joint.] +*** Jerk [Make a quick, sharp, sudden movement.] +*** Lie-down [Move to a horizontal or resting position.] +*** Recover-balance [Return to a stable, upright body position.] +*** Sit-down [Move from a standing to a sitting position.] +*** Sit-up [Move from lying down to a sitting position.] +*** Stand-up [Move from a sitting to a standing position.] +*** Stretch [Straighten or extend body or a part of body to its full length, typically so as to tighten muscles or in order to reach something.] +*** Shudder [Tremble convulsively, sometimes as a result of fear or revulsion.] +*** Stumble [Trip or momentarily lose balance and almost fall.] +*** Turn [Change or cause to change direction.] +** Move-body-part [Move one part of a body.] +*** Move-eyes [Move eyes.] +**** Blink [Shut and open the eyes quickly.] +**** Close-eyes [Lower and keep eyelids in a closed position.] +**** Fixate [Direct eyes to a specific point or target.] +**** Inhibit-blinks [Purposely prevent blinking.] +**** Open-eyes [Raise eyelids to expose pupil.] +**** Saccade [Move eyes rapidly between fixation points.] +**** Squint [Squeeze one or both eyes partly closed in an attempt to see more clearly or as a reaction to strong light.] +**** Stare [Look fixedly or vacantly at someone or something with eyes wide open.] +*** Move-face [Move the face or jaw.] +**** Bite [Seize with teeth or jaws an object or organism so as to grip or break the surface covering.] +**** Burp [Noisily release air from the stomach through the mouth. Belch.] +**** Chew [Repeatedly grinding, tearing, and or crushing with teeth or jaws.] +**** Gurgle [Make a hollow bubbling sound like that made by water running out of a bottle.] +**** Swallow [Cause or allow something, especially food or drink to pass down the throat.] +***** Gulp [Swallow quickly or in large mouthfuls, often audibly, sometimes to indicate apprehension.] +**** Yawn [Take a deep involuntary inhalation with the mouth open often as a sign of drowsiness or boredom.] +*** Move-head [Move head.] +**** Lift-head [Tilt head back lifting chin.] +**** Lower-head [Move head downward so that eyes are in a lower position.] +**** Turn-head [Rotate head horizontally to look in a different direction.] +*** Move-lower-extremity [Move leg and/or foot.] +**** Curl-toes [Bend toes sometimes to grip.] +**** Hop [Jump on one foot.] +**** Jog [Run at a trot to exercise.] +**** Jump [Move off the ground or other surface through sudden muscular effort in the legs.] +**** Kick [Strike out or flail with the foot or feet. Strike using the leg, in unison usually with an area of the knee or lower using the foot.] +**** Pedal [Move by working the pedals of a bicycle or other machine.] +**** Press-foot [Move by pressing foot.] +**** Run [Travel on foot at a fast pace.] +**** Step [Put one leg in front of the other and shift weight onto it.] +***** Heel-strike [Strike the ground with the heel during a step.] +***** Toe-off [Push with toe as part of a stride.] +**** Trot [Run at a moderate pace, typically with short steps.] +**** Walk [Move at a regular pace by lifting and setting down each foot in turn never having both feet off the ground at once.] +*** Move-torso [Move body trunk.] +*** Move-upper-extremity [Move arm, shoulder, and/or hand.] +**** Drop [Let or cause to fall vertically.] +**** Grab [Seize suddenly or quickly. Snatch or clutch.] +**** Grasp [Seize and hold firmly.] +**** Hold-down [Prevent someone or something from moving by holding them firmly.] +**** Lift [Raising something to higher position.] +**** Make-fist [Close hand tightly with the fingers bent against the palm.] +**** Point [Draw attention to something by extending a finger or arm.] +**** Press {relatedTag=Push}[Apply pressure to something to flatten, shape, smooth or depress it. This action tag should be used to indicate key presses and mouse clicks.] +**** Push {relatedTag=Press}[Apply force in order to move something away. Use Press to indicate a key press or mouse click.] +**** Reach [Stretch out your arm in order to get or touch something.] +**** Release [Make available or set free.] +**** Retract [Draw or pull back.] +**** Scratch [Drag claws or nails over a surface or on skin.] +**** Snap-fingers [Make a noise by pushing second finger hard against thumb and then releasing it suddenly so that it hits the base of the thumb.] +**** Touch [Come into or be in contact with.] +* Perceive [Produce an internal, conscious image through stimulating a sensory system.] +** Hear [Give attention to a sound.] +** See [Direct gaze toward someone or something or in a specified direction.] +** Smell [Inhale in order to ascertain an odor or scent.] +** Taste [Sense a flavor in the mouth and throat on contact with a substance.] +** Sense-by-touch [Sense something through receptors in the skin.] +* Perform [Carry out or accomplish an action, task, or function.] +** Close [Act as to blocked against entry or passage.] +** Collide-with [Hit with force when moving.] +** Halt [Bring or come to an abrupt stop.] +** Modify [Change something.] +** Open [Widen an aperture, door, or gap, especially one allowing access to something.] +** Operate [Control the functioning of a machine, process, or system.] +** Play [Engage in activity for enjoyment and recreation rather than a serious or practical purpose.] +** Read [Interpret something that is written or printed.] +** Repeat [Make do or perform again.] +** Rest [Be inactive in order to regain strength, health, or energy.] +** Write [Communicate or express by means of letters or symbols written or imprinted on a surface.] +* Think [Direct the mind toward someone or something or use the mind actively to form connected ideas.] +** Allow [Allow access to something such as allowing a car to pass.] +** Attend-to [Focus mental experience on specific targets.] +** Count [Tally items either silently or aloud.] +** Deny [Refuse to give or grant something requested or desired by someone.] +** Detect [Discover or identify the presence or existence of something.] +** Discriminate [Recognize a distinction.] +** Encode [Convert information or an instruction into a particular form.] +** Evade [Escape or avoid, especially by cleverness or trickery.] +** Generate [Cause something, especially an emotion or situation to arise or come about.] +** Identify [Establish or indicate who or what someone or something is.] +** Imagine [Form a mental image or concept of something.] +** Judge [Evaluate evidence to make a decision or form a belief.] +** Learn [Adaptively change behavior as the result of experience.] +** Memorize [Adaptively change behavior as the result of experience.] +** Plan [Think about the activities required to achieve a desired goal. ] +** Predict [Say or estimate that something will happen or will be a consequence of something without having exact informaton.] +** Recognize [Identify someone or something from having encountered them before.] +** Respond [React to something such as a treatment or a stimulus.] +** Recall [Remember information by mental effort.] +** Switch-attention [Transfer attention from one focus to another.] +** Track [Follow a person, animal, or object through space or time.] + +'''Item''' {extensionAllowed}[An independently existing thing (living or nonliving).] +* Biological-item [An entity that is biological, that is related to living organisms.] +** Anatomical-item [A biological structure, system, fluid or other substance excluding single molecular entities.] +*** Body [The biological structure representing an organism.] +*** Body-part [Any part of an organism.] +**** Head [The upper part of the human body, or the front or upper part of the body of an animal, typically separated from the rest of the body by a neck, and containing the brain, mouth, and sense organs.] +***** Hair [The filamentous outgrowth of the epidermis.] +***** Ear [A sense organ needed for the detection of sound and for establishing balance.] +***** Face [The anterior portion of the head extending from the forehead to the chin and ear to ear. The facial structures contain the eyes, nose and mouth, cheeks and jaws.] +****** Cheek [The fleshy part of the face bounded by the eyes, nose, ear, and jaw line.] +****** Chin [The part of the face below the lower lip and including the protruding part of the lower jaw.] +****** Eye [The organ of sight or vision.] +****** Eyebrow [The arched strip of hair on the bony ridge above each eye socket.] +****** Forehead [The part of the face between the eyebrows and the normal hairline.] +****** Lip [Fleshy fold which surrounds the opening of the mouth.] +****** Nose [A structure of special sense serving as an organ of the sense of smell and as an entrance to the respiratory tract.] +****** Mouth [The proximal portion of the digestive tract, containing the oral cavity and bounded by the oral opening.] +****** Teeth [The hard bonelike structures in the jaws. A collection of teeth arranged in some pattern in the mouth or other part of the body.] +**** Lower-extremity [Refers to the whole inferior limb (leg and/or foot).] +***** Ankle [A gliding joint between the distal ends of the tibia and fibula and the proximal end of the talus.] +***** Calf [The fleshy part at the back of the leg below the knee.] +***** Foot [The structure found below the ankle joint required for locomotion.] +****** Big-toe [The largest toe on the inner side of the foot.] +****** Heel [The back of the foot below the ankle.] +****** Instep [The part of the foot between the ball and the heel on the inner side.] +****** Little-toe [The smallest toe located on the outer side of the foot.] +****** Toes [The terminal digits of the foot.] +***** Knee [A joint connecting the lower part of the femur with the upper part of the tibia.] +***** Shin [Front part of the leg below the knee.] +***** Thigh [Upper part of the leg between hip and knee.] +**** Torso [The body excluding the head and neck and limbs.] +***** Torso-back [The rear surface of the human body from the shoulders to the hips.] +***** Buttocks [The round fleshy parts that form the lower rear area of a human trunk.] +***** Torso-chest [The anterior side of the thorax from the neck to the abdomen.] +***** Gentalia {deprecatedFrom=8.1.0}[The external organs of reproduction.] +***** Hip [The lateral prominence of the pelvis from the waist to the thigh.] +***** Waist [The abdominal circumference at the navel.] +**** Upper-extremity [Refers to the whole superior limb (shoulder, arm, elbow, wrist, hand).] +***** Elbow [A type of hinge joint located between the forearm and upper arm.] +***** Forearm [Lower part of the arm between the elbow and wrist.] +***** Hand [The distal portion of the upper extremity. It consists of the carpus, metacarpus, and digits.] +****** Finger [Any of the digits of the hand.] +******* Index-finger [The second finger from the radial side of the hand, next to the thumb.] +******* Little-finger [The fifth and smallest finger from the radial side of the hand.] +******* Middle-finger [The middle or third finger from the radial side of the hand.] +******* Ring-finger [The fourth finger from the radial side of the hand.] +******* Thumb [The thick and short hand digit which is next to the index finger in humans.] +****** Palm [The part of the inner surface of the hand that extends from the wrist to the bases of the fingers.] +****** Knuckles [A part of a finger at a joint where the bone is near the surface, especially where the finger joins the hand.] +***** Shoulder [Joint attaching upper arm to trunk.] +***** Upper-arm [Portion of arm between shoulder and elbow.] +***** Wrist [A joint between the distal end of the radius and the proximal row of carpal bones.] +** Organism [A living entity, more specifically a biological entity that consists of one or more cells and is capable of genomic replication (independently or not).] +*** Animal [A living organism that has membranous cell walls, requires oxygen and organic foods, and is capable of voluntary movement.] +*** Human [The bipedal primate mammal Homo sapiens.] +*** Plant [Any living organism that typically synthesizes its food from inorganic substances and possesses cellulose cell walls.] +* Language-item {suggestedTag=Sensory-presentation}[An entity related to a systematic means of communicating by the use of sounds, symbols, or gestures.] +** Character [A mark or symbol used in writing.] +** Clause [A unit of grammatical organization next below the sentence in rank, usually consisting of a subject and predicate.] +** Glyph [A hieroglyphic character, symbol, or pictograph.] +** Nonword [A group of letters or speech sounds that looks or sounds like a word but that is not accepted as such by native speakers.] +** Paragraph [A distinct section of a piece of writing, usually dealing with a single theme.] +** Phoneme [A speech sound that is distinguished by the speakers of a particular language.] +** Phrase [A phrase is a group of words functioning as a single unit in the syntax of a sentence.] +** Sentence [A set of words that is complete in itself, conveying a statement, question, exclamation, or command and typically containing an explicit or implied subject and a predicate containing a finite verb.] +** Syllable [A unit of spoken language larger than a phoneme.] +** Textblock [A block of text.] +** Word [A word is the smallest free form (an item that may be expressed in isolation with semantic or pragmatic content) in a language.] +* Object {suggestedTag=Sensory-presentation}[Something perceptible by one or more of the senses, especially by vision or touch. A material thing.] +** Geometric-object [An object or a representation that has structure and topology in space.] +*** Pattern [An arrangement of objects, facts, behaviors, or other things which have scientific, mathematical, geometric, statistical, or other meaning.] +**** Dots [A small round mark or spot.] +**** LED-pattern [A pattern created by lighting selected members of a fixed light emitting diode array.] +*** 2D-shape [A planar, two-dimensional shape.] +**** Arrow [A shape with a pointed end indicating direction.]. +**** Clockface [The dial face of a clock. A location identifier based on clockface numbering or anatomic subregion.] +**** Cross [A figure or mark formed by two intersecting lines crossing at their midpoints.] +**** Dash [A horizontal stroke in writing or printing to mark a pause or break in sense or to represent omitted letters or words.] +**** Ellipse [A closed plane curve resulting from the intersection of a circular cone and a plane cutting completely through it, especially a plane not parallel to the base.] +***** Circle [A ring-shaped structure with every point equidistant from the center.] +**** Rectangle [A parallelogram with four right angles.] +***** Square [A square is a special rectangle with four equal sides.] +**** Single-point [A point is a geometric entity that is located in a zero-dimensional spatial region and whose position is defined by its coordinates in some coordinate system.] +**** Star [A conventional or stylized representation of a star, typically one having five or more points.] +**** Triangle [A three-sided polygon.] +*** 3D-shape [A geometric three-dimensional shape.] +**** Box [A square or rectangular vessel, usually made of cardboard or plastic.] +***** Cube [A solid or semi-solid in the shape of a three dimensional square.] +**** Cone [A shape whose base is a circle and whose sides taper up to a point.] +**** Cylinder [A surface formed by circles of a given radius that are contained in a plane perpendicular to a given axis, whose centers align on the axis.] +**** Ellipsoid [A closed plane curve resulting from the intersection of a circular cone and a plane cutting completely through it, especially a plane not parallel to the base. ] +***** Sphere [A solid or hollow three-dimensional object bounded by a closed surface such that every point on the surface is equidistant from the center.] +**** Pyramid [A polyhedron of which one face is a polygon of any number of sides, and the other faces are triangles with a common vertex.] +** Ingestible-object [Something that can be taken into the body by the mouth for digestion or absorption.] +** Man-made-object [Something constructed by human means.] +*** Building [A structure that has a roof and walls and stands more or less permanently in one place.] +**** Room [An area within a building enclosed by walls and floor and ceiling.] +**** Roof [A roof is the covering on the uppermost part of a building which provides protection from animals and weather, notably rain, but also heat, wind and sunlight.] +**** Entrance [The means or place of entry.] +**** Attic [A room or a space immediately below the roof of a building.] +**** Basement [The part of a building that is wholly or partly below ground level.] +*** Clothing [A covering designed to be worn on the body.] +*** Device [An object contrived for a specific purpose.] +**** Assistive-device [A device that help an individual accomplish a task.] +***** Glasses [Frames with lenses worn in front of the eye for vision correction, eye protection, or protection from UV rays.] +***** Writing-device [A device used for writing.] +****** Pen [A common writing instrument used to apply ink to a surface for writing or drawing.] +****** Pencil [An implement for writing or drawing that is constructed of a narrow solid pigment core in a protective casing that prevents the core from being broken or marking the hand.] +**** Computing-device [An electronic device which take inputs and processes results from the inputs.] +***** Cellphone [A telephone with access to a cellular radio system so it can be used over a wide area, without a physical connection to a network.] +***** Desktop-computer [A computer suitable for use at an ordinary desk.] +***** Laptop-computer [A computer that is portable and suitable for use while traveling.] +***** Tablet-computer [A small portable computer that accepts input directly on to its screen rather than via a keyboard or mouse.] +**** Engine [A motor is a machine designed to convert one or more forms of energy into mechanical energy.] +**** IO-device [Hardware used by a human (or other system) to communicate with a computer.] +***** Input-device [A piece of equipment used to provide data and control signals to an information processing system such as a computer or information appliance.] +****** Computer-mouse [A hand-held pointing device that detects two-dimensional motion relative to a surface.] +******* Mouse-button [An electric switch on a computer mouse which can be pressed or clicked to select or interact with an element of a graphical user interface.] +******* Scroll-wheel [A scroll wheel or mouse wheel is a wheel used for scrolling made of hard plastic with a rubbery surface usually located between the left and right mouse buttons and is positioned perpendicular to the mouse surface.] +****** Joystick [A control device that uses a movable handle to create two-axis input for a computer device.] +****** Keyboard [A device consisting of mechanical keys that are pressed to create input to a computer.] +******* Keyboard-key [A button on a keyboard usually representing letters, numbers, functions, or symbols.] +******** # {takesValue}[Value of a keyboard key.] +****** Keypad [A device consisting of keys, usually in a block arrangement, that provides limited input to a system.] +******* Keypad-key [A key on a separate section of a computer keyboard that groups together numeric keys and those for mathematical or other special functions in an arrangement like that of a calculator.] +******** # {takesValue}[Value of keypad key.] +****** Microphone [A device designed to convert sound to an electrical signal.] +****** Push-button [A switch designed to be operated by pressing a button.] +***** Output-device [Any piece of computer hardware equipment which converts information into human understandable form.] +****** Display-device [An output device for presentation of information in visual or tactile form the latter used for example in tactile electronic displays for blind people.] +******* Head-mounted-display [An instrument that functions as a display device, worn on the head or as part of a helmet, that has a small display optic in front of one (monocular HMD) or each eye (binocular HMD).] +******* LED-display [A LED display is a flat panel display that uses an array of light-emitting diodes as pixels for a video display.] +******* Computer-screen [An electronic device designed as a display or a physical device designed to be a protective meshwork.] +******** Screen-window [A part of a computer screen that contains a display different from the rest of the screen. A window is a graphical control element consisting of a visual area containing some of the graphical user interface of the program it belongs to and is framed by a window decoration.] +****** Auditory-device [A device designed to produce sound.] +******* Headphones [An instrument that consists of a pair of small loudspeakers, or less commonly a single speaker, held close to ears and connected to a signal source such as an audio amplifier, radio, CD player or portable media player.] +******* Loudspeaker [A device designed to convert electrical signals to sounds that can be heard.] +***** Recording-device [A device that copies information in a signal into a persistent information bearer.] +****** EEG-recorder [A device for recording electric currents in the brain using electrodes applied to the scalp, to the surface of the brain, or placed within the substance of the brain.] +****** File-storage [A device for recording digital information to a permanent media.] +****** MEG-recorder [A device for measuring the magnetic fields produced by electrical activity in the brain, usually conducted externally.] +****** Motion-capture [A device for recording the movement of objects or people.] +****** Tape-recorder [A device for recording and reproduction usually using magnetic tape for storage that can be saved and played back.] +***** Touchscreen [A control component that operates an electronic device by pressing the display on the screen.] +**** Machine [A human-made device that uses power to apply forces and control movement to perform an action.] +**** Measurement-device [A device in which a measure function inheres.] +***** Clock [A device designed to indicate the time of day or to measure the time duration of an event or action.] +****** Clock-face [A location identifier based on clockface numbering or anatomic subregion.] +**** Robot [A mechanical device that sometimes resembles a living animal and is capable of performing a variety of often complex human tasks on command or by being programmed in advance.] +**** Tool [A component that is not part of a device but is designed to support its assemby or operation.] +*** Document [A physical object, or electronic counterpart, that is characterized by containing writing which is meant to be human-readable.] +**** Letter [A written message addressed to a person or organization.] +**** Note [A brief written record.] +**** Book [A volume made up of pages fastened along one edge and enclosed between protective covers.] +**** Notebook [A book for notes or memoranda.] +**** Questionnaire [A document consisting of questions and possibly responses, depending on whether it has been filled out.] +*** Furnishing [Furniture, fittings, and other decorative accessories, such as curtains and carpets, for a house or room.] +*** Manufactured-material [Substances created or extracted from raw materials.] +**** Ceramic [A hard, brittle, heat-resistant and corrosion-resistant material made by shaping and then firing a nonmetallic mineral, such as clay, at a high temperature.] +**** Glass [A brittle transparent solid with irregular atomic structure.] +**** Paper [A thin sheet material produced by mechanically or chemically processing cellulose fibres derived from wood, rags, grasses or other vegetable sources in water.] +**** Plastic [Various high-molecular-weight thermoplastic or thermosetting polymers that are capable of being molded, extruded, drawn, or otherwise shaped and then hardened into a form.] +**** Steel [An alloy made up of iron with typically a few tenths of a percent of carbon to improve its strength and fracture resistance compared to iron.] +*** Media [Media are audo/visual/audiovisual modes of communicating information for mass consumption.] +**** Media-clip [A short segment of media.] +***** Audio-clip [A short segment of audio.] +***** Audiovisual-clip [A short media segment containing both audio and video.] +***** Video-clip [A short segment of video.] +**** Visualization [An planned process that creates images, diagrams or animations from the input data.] +***** Animation [A form of graphical illustration that changes with time to give a sense of motion or represent dynamic changes in the portrayal.] +***** Art-installation [A large-scale, mixed-media constructions, often designed for a specific place or for a temporary period of time.] +***** Braille [A display using a system of raised dots that can be read with the fingers by people who are blind.] +***** Image [Any record of an imaging event whether physical or electronic.] +****** Cartoon [A type of illustration, sometimes animated, typically in a non-realistic or semi-realistic style. The specific meaning has evolved over time, but the modern usage usually refers to either an image or series of images intended for satire, caricature, or humor. A motion picture that relies on a sequence of illustrations for its animation.] +****** Drawing [A representation of an object or outlining a figure, plan, or sketch by means of lines.] +****** Icon [A sign (such as a word or graphic symbol) whose form suggests its meaning.] +****** Painting [A work produced through the art of painting.] +****** Photograph [An image recorded by a camera.] +***** Movie [A sequence of images displayed in succession giving the illusion of continuous movement.] +***** Outline-visualization [A visualization consisting of a line or set of lines enclosing or indicating the shape of an object in a sketch or diagram.] +***** Point-light-visualization [A display in which action is depicted using a few points of light, often generated from discrete sensors in motion capture.] +***** Sculpture [A two- or three-dimensional representative or abstract forms, especially by carving stone or wood or by casting metal or plaster.] +***** Stick-figure-visualization [A drawing showing the head of a human being or animal as a circle and all other parts as straight lines.] +*** Navigational-object [An object whose purpose is to assist directed movement from one location to another.] +**** Path [A trodden way. A way or track laid down for walking or made by continual treading.] +**** Road [An open way for the passage of vehicles, persons, or animals on land.] +***** Lane [A defined path with physical dimensions through which an object or substance may traverse.] +**** Runway [A paved strip of ground on a landing field for the landing and takeoff of aircraft.] +*** Vehicle [A mobile machine which transports people or cargo.] +**** Aircraft [A vehicle which is able to travel through air in an atmosphere.] +**** Bicycle [A human-powered, pedal-driven, single-track vehicle, having two wheels attached to a frame, one behind the other.] +**** Boat [A watercraft of any size which is able to float or plane on water.] +**** Car [A wheeled motor vehicle used primarily for the transportation of human passengers.] +**** Cart [A cart is a vehicle which has two wheels and is designed to transport human passengers or cargo.] +**** Tractor [A mobile machine specifically designed to deliver a high tractive effort at slow speeds, and mainly used for the purposes of hauling a trailer or machinery used in agriculture or construction.] +**** Train [A connected line of railroad cars with or without a locomotive.] +**** Truck [A motor vehicle which, as its primary funcion, transports cargo rather than human passangers.] +** Natural-object [Something that exists in or is produced by nature, and is not artificial or man-made.] +*** Mineral [A solid, homogeneous, inorganic substance occurring in nature and having a definite chemical composition.] +*** Natural-feature [A feature that occurs in nature. A prominent or identifiable aspect, region, or site of interest.] +**** Field [An unbroken expanse as of ice or grassland.] +**** Hill [A rounded elevation of limited extent rising above the surrounding land with local relief of less than 300m.] +**** Mountain [A landform that extends above the surrounding terrain in a limited area.] +**** River [A natural freshwater surface stream of considerable volume and a permanent or seasonal flow, moving in a definite channel toward a sea, lake, or another river.] +**** Waterfall [A sudden descent of water over a step or ledge in the bed of a river.] +* Sound [Mechanical vibrations transmitted by an elastic medium. Something that can be heard.] +** Environmental-sound[Sounds occuring in the environment. An accumulation of noise pollution that occurs outside. This noise can be caused by transport, industrial, and recreational activities.] +*** Crowd-sound [Noise produced by a mixture of sounds from a large group of people.] +*** Signal-noise [Any part of a signal that is not the true or original signal but is introduced by the communication mechanism.] +** Musical-sound [Sound produced by continuous and regular vibrations, as opposed to noise.] +*** Tone [A musical note, warble, or other sound used as a particular signal on a telephone or answering machine.] +*** Instrument-sound [Sound produced by a musical instrument.] +*** Vocalized-sound [Musical sound produced by vocal cords in a biological agent.] +** Named-animal-sound [A sound recognizable as being associated with particular animals.] +*** Barking [Sharp explosive cries like sounds made by certain animals, especially a dog, fox, or seal.] +*** Bleating [Wavering cries like sounds made by a sheep, goat, or calf.] +*** Crowing [Loud shrill sounds characteristic of roosters.] +*** Chirping [Short, sharp, high-pitched noises like sounds made by small birds or an insects.] +*** Growling [Low guttural sounds like those that made in the throat by a hostile dog or other animal.] +*** Meowing [Vocalizations like those made by as those cats. These sounds have diverse tones and are sometimes chattered, murmured or whispered. The purpose can be assertive.] +*** Mooing [Deep vocal sounds like those made by a cow.] +*** Purring [Low continuous vibratory sound such as those made by cats. The sound expresses contentment.] +*** Roaring [Loud, deep, or harsh prolonged sounds such as those made by big cats and bears for long-distance communication and intimidation.] +*** Squawking [Loud, harsh noises such as those made by geese.] +** Named-object-sound [A sound identifiable as coming from a particular type of object.] +*** Alarm-sound [A loud signal often loud continuous ringing to alert people to a problem or condition that requires urgent attention.] +*** Beep [A short, single tone, that is typically high-pitched and generally made by a computer or other machine. ] +*** Buzz [A persistent vibratory sound often made by a buzzer device and used to indicate something incorrect.] +*** Ka-ching [The sound made by a mechanical cash register, often to designate a reward.] +*** Click [The sound made by a mechanical cash register, often to designate a reward.] +*** Ding [A short ringing sound such as that made by a bell, often to indicate a correct response or the expiration of time.] +*** Horn-blow [A loud sound made by forcing air through a sound device that funnels air to create the sound, often used to sound an alert.] +*** 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-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.] +**** Anesthetized [Having lost sensation to pain or having senses dulled due to the effects of an anesthetic.] +**** Asleep [Having entered a periodic, readily reversible state of reduced awareness and metabolic activity, usually accompanied by physical relaxation and brain activity.] +**** Attentive [Concentrating and focusing mental energy on the task or surroundings.] +**** Distracted [Lacking in concentration because of being preoccupied.] +**** Awake [In a non sleeping state.] +**** Brain-dead [Characterized by the irreversible absence of cortical and brain stem functioning.] +**** Comatose [In a state of profound unconsciousness associated with markedly depressed cerebral activity.] +**** Drowsy [In a state of near-sleep, a strong desire for sleep, or sleeping for unusually long periods.] +**** Intoxicated [In a state with disturbed psychophysiological functions and responses as a result of administration or ingestion of a psychoactive substance.] +**** Locked-in [In a state of complete paralysis of all voluntary muscles except for the ones that control the movements of the eyes.] +**** Passive [Not responding or initiating an action in response to a stimulus.] +**** Resting [A state in which the agent is not exhibiting any physical exertion.] +**** Vegetative [A state of wakefulness and conscience, but (in contrast to coma) with involuntary opening of the eyes and movements (such as teeth grinding, yawning, or thrashing of the extremities).] +*** Agent-emotional-state [The status of the general temperament and outlook of an agent.] +**** Angry [Experiencing emotions characterized by marked annoyance or hostility.] +**** Aroused [In a state reactive to stimuli leading to increased heart rate and blood pressure, sensory alertness, mobility and readiness to respond.] +**** Awed [Filled with wonder. Feeling grand, sublime or powerful emotions characterized by a combination of joy, fear, admiration, reverence, and/or respect.] +**** Compassionate [Feeling or showing sympathy and concern for others often evoked for a person who is in distress and associated with altruistic motivation.] +**** Content [Feeling satisfaction with things as they are.] +**** Disgusted [Feeling revulsion or profound disapproval aroused by something unpleasant or offensive.] +**** Emotionally-neutral [Feeling neither satisfied nor dissatisfied.] +**** Empathetic [Understanding and sharing the feelings of another. Being aware of, being sensitive to, and vicariously experiencing the feelings, thoughts, and experience of another.] +**** Excited [Feeling great enthusiasm and eagerness.] +**** Fearful [Feeling apprehension that one may be in danger.] +**** Frustrated [Feeling annoyed as a result of being blocked, thwarted, disappointed or defeated.] +**** Grieving [Feeling sorrow in response to loss, whether physical or abstract.] +**** Happy [Feeling pleased and content.] +**** Jealous [Feeling threatened by a rival in a relationship with another individual, in particular an intimate partner, usually involves feelings of threat, fear, suspicion, distrust, anxiety, anger, betrayal, and rejection.] +**** Joyful [Feeling delight or intense happiness.] +**** Loving [Feeling a strong positive emotion of affection and attraction.] +**** Relieved [No longer feeling pain, distress, anxiety, or reassured.] +**** Sad [Feeling grief or unhappiness.] +**** Stressed [Experiencing mental or emotional strain or tension.] +*** Agent-physiological-state [Having to do with the mechanical, physical, or biochemical function of an agent.] +**** Healthy {relatedTag=Sick}[Having no significant health-related issues.] +**** Hungry {relatedTag=Sated, relatedTag=Thirsty}[Being in a state of craving or desiring food.] +**** Rested {relatedTag=Tired}[Feeling refreshed and relaxed.] +**** Sated {relatedTag=Hungry}[Feeling full.] +**** Sick {relatedTag=Healthy}[Being in a state of ill health, bodily malfunction, or discomfort.] +**** Thirsty {relatedTag=Hungry}[Feeling a need to drink.] +**** Tired {relatedTag=Rested}[Feeling in need of sleep or rest.] +*** Agent-postural-state [Pertaining to the position in which agent holds their body.] +**** Crouching [Adopting a position where the knees are bent and the upper body is brought forward and down, sometimes to avoid detection or to defend oneself.] +**** Eyes-closed [Keeping eyes closed with no blinking.] +**** Eyes-open [Keeping eyes open with occasional blinking.] +**** Kneeling [Positioned where one or both knees are on the ground.] +**** On-treadmill [Ambulation on an exercise apparatus with an endless moving belt to support moving in place.] +**** Prone [Positioned in a recumbent body position whereby the person lies on its stomach and faces downward.] +**** Sitting [In a seated position.] +**** Standing [Assuming or maintaining an erect upright position.] +**** Seated-with-chin-rest [Using a device that supports the chin and head.] +** Agent-task-role [The function or part that is ascribed to an agent in performing the task.] +*** Experiment-actor [An agent who plays a predetermined role to create the experiment scenario.] +*** Experiment-controller [An agent exerting control over some aspect of the experiment.] +*** Experiment-participant [Someone who takes part in an activity related to an experiment.] +*** Experimenter [Person who is the owner of the experiment and has its responsibility.] +** Agent-trait [A genetically, environmentally, or socially determined characteristic of an agent.] +*** Age [Length of time elapsed time since birth of the agent.] +**** # {takesValue, valueClass=numericClass} +*** Agent-experience-level [Amount of skill or knowledge that the agent has as pertains to the task.] +**** Expert-level {relatedTag=Intermediate-experience-level, relatedTag=Novice-level}[Having comprehensive and authoritative knowledge of or skill in a particular area related to the task.] +**** Intermediate-experience-level {relatedTag=Expert-level, relatedTag=Novice-level}[Having a moderate amount of knowledge or skill related to the task.] +**** Novice-level {relatedTag=Expert-level, relatedTag=Intermediate-experience-level} [Being inexperienced in a field or situation related to the task.] +*** Gender [Characteristics that are socially constructed, including norms, behaviors, and roles based on sex.] +*** Sex [Physical properties or qualities by which male is distinguished from female.] +**** Female [Biological sex of an individual with female sexual organs such ova.] +**** Male [Biological sex of an individual with male sexual organs producing sperm.] +**** Intersex [Having genitalia and/or secondary sexual characteristics of indeterminate sex.] +*** Ethnicity [Belong to a social group that has a common national or cultural tradition. Use with Label to avoid extension.] +*** Handedness [Individual preference for use of a hand, known as the dominant hand.] +**** Left-handed [Preference for using the left hand or foot for tasks requiring the use of a single hand or foot.] +**** Right-handed [Preference for using the right hand or foot for tasks requiring the use of a single hand or foot.] +**** Ambidextrous [Having no overall dominance in the use of right or left hand or foot in the performance of tasks that require one hand or foot.] +*** Race [Belonging to a group sharing physical or social qualities as defined within a specified society. Use with Label to avoid extension.] +* Data-property {extensionAllowed}[Something that pertains to data or information.] +** Data-marker [An indicator placed to mark something.] +*** Data-break-marker [An indicator place to indicate a gap in the data.] +*** Temporal-marker[An indicator placed at a particular time in the data.] +**** Inset {topLevelTagGroup,reserved,relatedTag=Onset,relatedTag=Offset}[Marks an intermediate point in an ongoing event of temporal extent.] +**** Onset {topLevelTagGroup,reserved,relatedTag=Inset,relatedTag=Offset}[Marks the start of an ongoing event of temporal extent.] +**** Offset {topLevelTagGroup,reserved,relatedTag=Onset, relatedTag=Inset}[Marks the end of an event of temporal extent.] +**** Pause [Indicates the temporary interruption of the operation a process and subsequently wait for a signal to continue.] +**** Time-out [A cancellation or cessation that automatically occurs when a predefined interval of time has passed without a certain event occurring.] +**** Time-sync [A synchronization signal whose purpose to help synchronize different signals or processes. Often used to indicate a marker inserted into the recorded data to allow post hoc synchronization of concurrently recorded data streams.] +** Data-resolution [Smallest change in a quality being measured by an sensor that causes a perceptible change.] +*** Printer-resolution [Resolution of a printer, usually expressed as the number of dots-per-inch for a printer.] +**** # {takesValue, valueClass=numericClass} +*** Screen-resolution [Resolution of a screen, usually expressed as the of pixels in a dimension for a digital display device.] +**** # {takesValue, valueClass=numericClass} +*** Sensory-resolution [Resolution of measurements by a sensing device.] +**** # {takesValue, valueClass=numericClass} +*** Spatial-resolution [Linear spacing of a spatial measurement.] +**** # {takesValue, valueClass=numericClass} +*** Spectral-resolution [Measures the ability of a sensor to resolve features in the electromagnetic spectrum.] +**** # {takesValue, valueClass=numericClass} +*** Temporal-resolution [Measures the ability of a sensor to resolve features in time.] +**** # {takesValue, valueClass=numericClass} +** Data-source-type [The type of place, person, or thing from which the data comes or can be obtained.] +*** Computed-feature[A feature computed from the data by a tool. This tag should be grouped with a label of the form Toolname_propertyName.] +*** Computed-prediction [A computed extrapolation of known data.] +*** Expert-annotation [An explanatory or critical comment or other in-context information provided by an authority.] +*** Instrument-measurement [Information obtained from a device that is used to measure material properties or make other observations.] +*** Observation [Active acquisition of information from a primary source. Should be grouped with a label of the form AgentID_featureName.] +** Data-value [Designation of the type of a data item.] +*** Categorical-value [Indicates that something can take on a limited and usually fixed number of possible values.] +**** Categorical-class-value [Categorical values that fall into discrete classes such as true or false. The grouping is absolute in the sense that it is the same for all participants.] +***** All {relatedTag=Some, relatedTag=None}[To a complete degree or to the full or entire extent.] +***** Correct {relatedTag=Wrong}[Free from error. Especially conforming to fact or truth.] +***** Explicit {relatedTag=Implicit}[Stated clearly and in detail, leaving no room for confusion or doubt.] +***** False {relatedTag=True}[Not in accordance with facts, reality or definitive criteria.] +***** Implicit {relatedTag=Explicit}[Implied though not plainly expressed.] +***** Invalid {relatedTag=Valid}[Not allowed or not conforming to the correct format or specifications.] +***** 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.] +***** 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.] +***** Abnormal {relatedTag=Normal}[Deviating in any way from the state, position, structure, condition, behavior, or rule which is considered a norm.] +***** Asymmetrical {relatedTag=Symmetrical}[Lacking symmetry or having parts that fail to correspond to one another in shape, size, or arrangement.] +***** Audible {relatedTag=Inaudible}[A sound that can be perceived by the participant.] +***** Congruent {relatedTag=Incongruent}[Concordance of multiple evidence lines. In agreement or harmony.] +***** Complex {relatedTag=Simple}[Hard, involved or complicated, elaborate, having many parts.] +***** Constrained {relatedTag=Unconstrained}[Keeping something within particular limits or bounds.] +***** Disordered {relatedTag=Ordered}[Not neatly arranged. Confused and untidy. A structural quality in which the parts of an object are non-rigid.] +***** Familiar {relatedTag=Unfamiliar, relatedTag=Famous}[Recognized, familiar, or within the scope of knowledge.] +***** Famous {relatedTag=Familiar, relatedTag=Unfamiliar}[A person who has a high degree of recognition by the general population for his or her success or accomplishments. A famous person.] +***** Inaudible {relatedTag=Audible}[A sound below the threshold of perception of the participant.] +***** Incongruent {relatedTag=Congruent}[Not in agreement or harmony.] +***** Involuntary {relatedTag=Voluntary}[An action that is not made by choice. In the body, involuntary actions (such as blushing) occur automatically, and cannot be controlled by choice.] +***** Masked {relatedTag=Unmasked}[Information exists but is not provided or is partially obscured due to security, privacy, or other concerns.] +***** Normal {relatedTag=Abnormal}[Being approximately average or within certain limits. Conforming with or constituting a norm or standard or level or type or social norm.] +***** Ordered {relatedTag=Disordered}[Conforming to a logical or comprehensible arrangement of separate elements.] +***** Simple {relatedTag=Complex}[Easily understood or presenting no difficulties.] +***** Symmetrical {relatedTag=Asymmetrical}[Made up of exactly similar parts facing each other or around an axis. Showing aspects of symmetry.] +***** Unconstrained {relatedTag=Constrained}[Moving without restriction.] +***** Unfamiliar {relatedTag=Familiar,relatedTag=Famous}[Not having knowledge or experience of.] +***** Unmasked {relatedTag=Masked}[Information is revealed.] +***** Voluntary {relatedTag=Involuntary}[Using free will or design; not forced or compelled; controlled by individual volition.] +**** Categorical-level-value [Categorical values based on dividing a continuous variable into levels such as high and low.] +***** Cold {relatedTag=Hot}[Having an absence of heat.] +***** Deep {relatedTag=Shallow}[Extending relatively far inward or downward.] +***** High {relatedTag=Low, relatedTag=Medium}[Having a greater than normal degree, intensity, or amount.] +***** Hot {relatedTag=Cold}[Having an excess of heat.] +***** Large {relatedTag=Small}[Having a great extent such as in physical dimensions, period of time, amplitude or frequency.] +***** Liminal {relatedTag=Subliminal, relatedTag=Supraliminal}[Situated at a sensory threshold that is barely perceptible or capable of eliciting a response.] +***** Loud {relatedTag=Quiet}[Having a perceived high intensity of sound.] +***** Low {relatedTag=High}[Less than normal in degree, intensity or amount.] +***** Medium {relatedTag=Low, relatedTag=High}[Mid-way between small and large in number, quantity, magnitude or extent.] +***** Negative {relatedTag=Positive}[Involving disadvantage or harm.] +***** Positive {relatedTag=Negative}[Involving advantage or good.] +***** Quiet {relatedTag=Loud}[Characterizing a perceived low intensity of sound.] +***** Rough {relatedTag=Smooth}[Having a surface with perceptible bumps, ridges, or irregularities.] +***** Shallow {relatedTag=Deep}[Having a depth which is relatively low.] +***** Small {relatedTag=Large}[Having a small extent such as in physical dimensions, period of time, amplitude or frequency.] +***** Smooth {relatedTag=Rough}[Having a surface free from bumps, ridges, or irregularities.] +***** Subliminal {relatedTag=Liminal, relatedTag=Supraliminal}[Situated below a sensory threshold that is imperceptible or not capable of eliciting a response.] +***** Supraliminal {relatedTag=Liminal, relatedTag=Subliminal}[Situated above a sensory threshold that is perceptible or capable of eliciting a response.] +***** Thick {relatedTag=Thin}[Wide in width, extent or cross-section.] +***** Thin {relatedTag=Thick}[Narrow in width, extent or cross-section.] +**** Categorical-orientation-value [Value indicating the orientation or direction of something.] +***** Backward {relatedTag=Forward}[Directed behind or to the rear.] +***** Downward {relatedTag=Leftward,relatedTag=Rightward,relatedTag=Upward}[Moving or leading toward a lower place or level.] +***** Forward {relatedTag=Backward}[At or near or directed toward the front.] +***** Horizontally-oriented {relatedTag=Vertically-oriented}[Oriented parallel to or in the plane of the horizon.] +***** Leftward {relatedTag=Downward, relatedTag=Rightward,relatedTag=Upward}[Going toward or facing the left.] +***** Oblique {relatedTag=Rotated}[Slanting or inclined in direction, course, or position that is neither parallel nor perpendicular nor right-angular.] +***** Rightward {relatedTag=Downward, relatedTag=Leftward,relatedTag=Upward}[Going toward or situated on the right.] +***** Rotated [Positioned offset around an axis or center.] +***** Upward {relatedTag=Downward,relatedTag=Leftward,relatedTag=Rightward}[Moving, pointing, or leading to a higher place, point, or level.] +***** Vertically-oriented {relatedTag=Horizontally-oriented}[Oriented perpendicular to the plane of the horizon.] +*** Physical-value [The value of some physical property of something.] +**** Weight [The relative mass or the quantity of matter contained by something.] +***** # {takesValue, valueClass=numericClass, unitClass=weightUnits} +**** Temperature [A measure of hot or cold based on the average kinetic energy of the atoms or molecules in the system.] +***** # {takesValue, valueClass=numericClass, unitClass=temperatureUnits} +*** Quantitative-value [Something capable of being estimated or expressed with numeric values.] +**** Fraction [A numerical value between 0 and 1.] +***** # {takesValue, valueClass=numericClass} +**** Item-count [The integer count of something which is usually grouped with the entity it is counting. (Item-count/3, A) indicates that 3 of A have occurred up to this point.] +***** # {takesValue, valueClass=numericClass} +**** Item-index [The index of an item in a collection, sequence or other structure. (A (Item-index/3, B)) means that A is item number 3 in B.] +***** # {takesValue, valueClass=numericClass} +**** Item-interval [An integer indicating how many items or entities have passed since the last one of these. An item interval of 0 indicates the current item.] +***** # {takesValue, valueClass=numericClass} +**** Percentage [A fraction or ratio with 100 understood as the denominator.] +***** # {takesValue, valueClass=numericClass} +**** Ratio [A quotient of quantities of the same kind for different components within the same system.] +***** # {takesValue, valueClass=numericClass} +*** Statistical-value {extensionAllowed}[A value based on or employing the principles of statistics.] +**** Data-maximum [The largest possible quantity or degree.] +***** # {takesValue, valueClass=numericClass}[] +**** Data-mean [The sum of a set of values divided by the number of values in the set.] +***** # {takesValue, valueClass=numericClass} +**** Data-median [The value which has an equal number of values greater and less than it.] +***** # {takesValue, valueClass=numericClass} +**** Data-minimum [The smallest possible quantity.] +***** # {takesValue, valueClass=numericClass} +**** Probability [A measure of the expectation of the occurrence of a particular event.] +***** # {takesValue, valueClass=numericClass} +**** Standard-deviation [A measure of the range of values in a set of numbers. Standard deviation is a statistic used as a measure of the dispersion or variation in a distribution, equal to the square root of the arithmetic mean of the squares of the deviations from the arithmetic mean.] +***** # {takesValue, valueClass=numericClass} +**** Statistical-accuracy [A measure of closeness to true value expressed as a number between 0 and 1.] +***** # {takesValue, valueClass=numericClass} +**** Statistical-precision [A quantitative representation of the degree of accuracy necessary for or associated with a particular action.] +***** # {takesValue, valueClass=numericClass} +**** Statistical-recall [Sensitivity is a measurement datum qualifying a binary classification test and is computed by substracting the false negative rate to the integral numeral 1.] +***** # {takesValue, valueClass=numericClass} +**** Statistical-uncertainty [A measure of the inherent variability of repeated observation measurements of a quantity including quantities evaluated by statistical methods and by other means.] +***** # {takesValue, valueClass=numericClass} +*** Spatiotemporal-value [A property relating to space and/or time.] +**** Rate-of-change [The amount of change accumulated per unit time.] +***** Acceleration [Magnitude of the rate of change in either speed or direction. The direction of change should be given separately.] +****** # {takesValue, valueClass=numericClass, unitClass=accelerationUnits} +***** Frequency [Frequency is the number of occurrences of a repeating event per unit time.] +****** # {takesValue, valueClass=numericClass, unitClass=frequencyUnits} +***** Jerk-rate [Magnitude of the rate at which the acceleration of an object changes with respect to time. The direction of change should be given separately.] +****** # {takesValue, valueClass=numericClass, unitClass=jerkUnits} +***** Sampling-rate [The number of digital samples taken or recorded per unit of time.] +****** # {takesValue, unitClass=frequencyUnits} +***** Refresh-rate [The frequency with which the image on a computer monitor or similar electronic display screen is refreshed, usually expressed in hertz.] +****** # {takesValue, valueClass=numericClass} +***** Speed [A scalar measure of the rate of movement of the object expressed either as the distance travelled divided by the time taken (average speed) or the rate of change of position with respect to time at a particular point (instantaneous speed). The direction of change should be given separately.] +****** # {takesValue, valueClass=numericClass, unitClass=speedUnits} +***** Temporal-rate [The number of items per unit of time.] +****** # {takesValue, valueClass=numericClass, unitClass=frequencyUnits} +**** Spatial-value [Value of an item involving space.] +***** Angle[The amount of inclination of one line to another or the plane of one object to another.] +****** # {takesValue, unitClass=angleUnits, valueClass=numericClass} +***** Distance [A measure of the space separating two objects or points.] +****** # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +***** Position [A reference to the alignment of an object, a particular situation or view of a situation, or the location of an object. Coordinates with respect a specified frame of reference or the default Screen-frame if no frame is given.] +****** X-position [The position along the x-axis of the frame of reference.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +****** Y-position [The position along the y-axis of the frame of reference.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +****** Z-position [The position along the z-axis of the frame of reference.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +***** Size [The physical magnitude of something.] +****** Area [The extent of a 2-dimensional surface enclosed within a boundary.] +******* # {takesValue, valueClass=numericClass, unitClass=areaUnits} +****** Depth [The distance from the surface of something especially from the perspective of looking from the front.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +****** Length [The linear extent in space from one end of something to the other end, or the extent of something from beginning to end.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +****** Width [The extent or measurement of something from side to side.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +****** Height [The vertical measurement or distance from the base to the top of an object.] +******* # {takesValue, valueClass=numericClass, unitClass=physicalLengthUnits} +****** Volume [The amount of three dimensional space occupied by an object or the capacity of a space or container.] +******* # {takesValue, valueClass=numericClass, unitClass=volumeUnits} +**** Temporal-value [A characteristic of or relating to time or limited by time.] +***** Delay {topLevelTagGroup, reserved, relatedTag=Duration}[The time at which an event start time is delayed from the current onset time. This tag defines the start time of an event of temporal extent and may be used with the Duration tag.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +***** Duration {topLevelTagGroup, reserved, relatedTag=Delay}[The period of time during which an event occurs. This tag defines the end time of an event of temporal extent and may be used with the Delay tag.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +***** Time-interval [The period of time separating two instances, events, or occurrences.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +***** Time-value [A value with units of time. Usually grouped with tags identifying what the value represents.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +** Data-variability-attribute[An attribute describing how something changes or varies.] +*** Abrupt [Marked by sudden change.] +*** Constant [Continually recurring or continuing without interruption. Not changing in time or space.] +*** Continuous {relatedTag=Discrete,relatedTag=Discontinuous}[Uninterrupted in time, sequence, substance, or extent.] +*** Decreasing {relatedTag=Increasing}[Becoming smaller or fewer in size, amount, intensity, or degree.] +*** Deterministic {relatedTag=Random,relatedTag=Stochastic}[No randomness is involved in the development of the future states of the element.] +*** Discontinuous {relatedTag=Continuous}[Having a gap in time, sequence, substance, or extent.] +*** Discrete {relatedTag=Continuous,relatedTag=Discontinuous}[Constituting a separate entities or parts.] +*** Flickering [Moving irregularly or unsteadily or burning or shining fitfully or with a fluctuating light.] +*** Estimated-value [Something that has been calculated or measured approximately.] +*** Exact-value [A value that is viewed to the true value according to some standard.] +*** Fractal [Having extremely irregular curves or shapes for which any suitably chosen part is similar in shape to a given larger or smaller part when magnified or reduced to the same size.] +*** Increasing {relatedTag=Decreasing}[Becoming greater in size, amount, or degree.] +*** Random {relatedTag=Deterministic,relatedTag=Stochastic}[Governed by or depending on chance. Lacking any definite plan or order or purpose.] +*** Repetitive [A recurring action that is often non-purposeful.] +*** Stochastic {relatedTag=Deterministic,relatedTag=Random}[Uses a random probability distribution or pattern that may be analysed statistically but may not be predicted precisely to determine future states.] +*** Varying [Differing in size, amount, degree, or nature.] +* Environmental-property [Relating to or arising from the surroundings of an agent.] +** Indoors [Located inside a building or enclosure.] +** Outdoors [Any area outside a building or shelter.] +** Real-world [Located in a place that exists in real space and time under realistic conditions.] +** Virtual-world [Using technology that creates immersive, computer-generated experiences that a person can interact with and navigate through. The digital content is generally delivered to the user through some type of headset and responds to changes in head position or through interaction with other types of sensors. Existing in a virtual setting such as a simulation or game environment.] +** Augmented-reality [Using technology that enhances real-world experiences with computer-derived digital overlays to change some aspects of perception of the natural environment. The digital content is shown to the user through a smart device or glasses and responds to changes in the environment.] +** Motion-platform [A mechanism that creates the feelings of being in a real motion environment.] +** Urban [Relating to, located in, or characteristic of a city or densely populated area.] +** Rural [Of or pertaining to the country as opposed to the city.] +** Terrain [Characterization of the physical features of a tract of land.] +*** Composite-terrain [Tracts of land characterized by a mixure of physical features.] +*** Dirt-terrain [Tracts of land characterized by a soil surface and lack of vegetation.] +*** Grassy-terrain [Tracts of land covered by grass.] +*** Gravel-terrain [Tracts of land covered by a surface consisting a loose aggregation of small water-worn or pounded stones.] +*** Leaf-covered-terrain [Tracts of land covered by leaves and composited organic material.] +*** Muddy-terrain [Tracts of land covered by a liquid or semi-liquid mixture of water and some combination of soil, silt, and clay.] +*** Paved-terrain [Tracts of land covered with concrete, asphalt, stones, or bricks.] +*** Rocky-terrain [Tracts of land consisting or full of rock or rocks.] +*** Sloped-terrain [Tracts of land arranged in a sloping or inclined position.] +*** Uneven-terrain [Tracts of land that are not level, smooth, or regular.] +* Informational-property{extensionAllowed}[Something that pertains to a task.] +** Description {requireChild} [An explanation of what the tag group it is in means. If the description is at the top-level of an event string, the description applies to the event.] +*** # {takesValue, valueClass=textClass} +** ID {requireChild} [An alphanumeric name that identifies either a unique object or a unique class of objects. Here the object or class may be an idea, physical countable object (or class), or physical uncountable substance (or class).] +*** # {takesValue, valueClass=textClass} +** Label {requireChild} [A string of 20 or fewer characters identifying something. Labels usually refer to general classes of things while IDs refer to specific instances. A term that is associated with some entity. A brief description given for purposes of identification. An identifying or descriptive marker that is attached to an object.] +*** # {takesValue, valueClass=nameClass} +** Metadata [Data about data. Information that describes another set of data.] +*** CogAtlas [The Cognitive Atlas ID number of something.] +**** # {takesValue} +*** CogPo [The CogPO ID number of something.] +**** # {takesValue} +*** Creation-date {requireChild}[The date on which data creation of this element began.] +**** # {takesValue, valueClass=dateTimeClass} +*** Experimental-note [A brief written record about the experiment.] +**** # {takesValue, valueClass=textClass} +*** Library-name [Official name of a HED library.] +**** # {takesValue, valueClass=nameClass} +*** OBO-identifier [The identifier of a term in some Open Biology Ontology (OBO) ontology.] +**** # {takesValue, valueClass=nameClass} +*** Pathname [The specification of a node (file or directory) in a hierarchical file system, usually specified by listing the nodes top-down.] +**** # {takesValue} +*** Subject-identifier [A sequence of characters used to identify, name, or characterize a trial or study subject.] +**** # {takesValue} +*** Version-identifier [An alphanumeric character string that identifies a form or variant of a type or original.] +**** # {takesValue}[Usually is a semantic version.] +** Parameter [Something user-defined for this experiment.] +*** Parameter-label [The name of the parameter.] +**** # {takesValue, valueClass=nameClass} +*** Parameter-value [The value of the parameter.] +**** # {takesValue, valueClass=textClass} +* Organizational-property [Relating to an organization or the action of organizing something.] +** Collection [A tag designating a grouping of items such as in a set or list.] +*** # {takesValue, valueClass=nameClass}[Name of the collection.] +** Condition-variable [An aspect of the experiment or task that is to be varied during the experiment. Task-conditions are sometimes called independent variables or contrasts.] +*** # {takesValue, valueClass=nameClass}[Name of the condition variable.] +** Control-variable [An aspect of the experiment that is fixed throughout the study and usually is explicitly controlled.] +*** # {takesValue, valueClass=nameClass}[Name of the control variable.] +** Def {requireChild,reserved} [A HED-specific utility tag used with a defined name to represent the tags associated with that definition.] +*** # {takesValue, valueClass=nameClass}[Name of the definition.] +** Def-expand {requireChild,reserved,tagGroup} [A HED specific utility tag that is grouped with an expanded definition. The child value of the Def-expand is the name of the expanded definition.] +*** # {takesValue, valueClass=nameClass} +** Definition {requireChild,reserved,topLevelTagGroup}[A HED-specific utility tag whose child value is the name of the concept and the tag group associated with the tag is an English language explanation of a concept.] +*** # {takesValue, valueClass=nameClass}[Name of the definition.] +** Event-context {reserved,topLevelTagGroup,unique}[A special HED tag inserted as part of a top-level tag group to contain information about the interrelated conditions under which the event occurs. The event context includes information about other events that are ongoing when this event happens.] +** Event-stream [A special HED tag indicating that this event is a member of an ordered succession of events.] +*** # {takesValue, valueClass=nameClass}[Name of the event stream.] +** Experimental-intertrial [A tag used to indicate a part of the experiment between trials usually where nothing is happening.] +*** # {takesValue, valueClass=nameClass}[Optional label for the intertrial block.] +** Experimental-trial [Designates a run or execution of an activity, for example, one execution of a script. A tag used to indicate a particular organizational part in the experimental design often containing a stimulus-response pair or stimulus-response-feedback triad.] +*** # {takesValue, valueClass=nameClass}[Optional label for the trial (often a numerical string).] +** Indicator-variable [An aspect of the experiment or task that is measured as task conditions are varied during the experiment. Experiment indicators are sometimes called dependent variables.] +*** # {takesValue, valueClass=nameClass}[Name of the indicator variable.] +** Recording [A tag designating the data recording. Recording tags are usually have temporal scope which is the entire recording.] +*** # {takesValue, valueClass=nameClass}[Optional label for the recording.] +** Task [An assigned piece of work, usually with a time allotment. A tag used to indicate a linkage the structured activities performed as part of the experiment.] +*** # {takesValue, valueClass=nameClass}[Optional label for the task block.] +** Time-block [A tag used to indicate a contiguous time block in the experiment during which something is fixed or noted.] +*** # {takesValue, valueClass=nameClass}[Optional label for the task block.] +* Sensory-property [Relating to sensation or the physical senses.] +** Sensory-attribute [A sensory characteristic associated with another entity.] +*** Auditory-attribute [Pertaining to the sense of hearing.] +**** Loudness [Perceived intensity of a sound.] +***** # {takesValue, valueClass=numericClass, valueClass=nameClass} +**** Pitch [A perceptual property that allows the user to order sounds on a frequency scale.] +***** # {takesValue, valueClass=numericClass, unitClass=frequencyUnits} +**** Sound-envelope [Description of how a sound changes over time.] +***** Sound-envelope-attack [The time taken for initial run-up of level from nil to peak usually beginning when the key on a musical instrument is pressed.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +***** Sound-envelope-decay [The time taken for the subsequent run down from the attack level to the designated sustain level.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +***** Sound-envelope-release [The time taken for the level to decay from the sustain level to zero after the key is released.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +***** Sound-envelope-sustain [The time taken for the main sequence of the sound duration, until the key is released.] +****** # {takesValue, valueClass=numericClass, unitClass=timeUnits} +**** Timbre [The perceived sound quality of a singing voice or musical instrument.] +***** # {takesValue, valueClass=nameClass} +**** Sound-volume [The sound pressure level (SPL) usually the ratio to a reference signal estimated as the lower bound of hearing.] +***** # {takesValue, valueClass=numericClass, unitClass=intensityUnits} +*** Gustatory-attribute [Pertaining to the sense of taste.] +**** Bitter [Having a sharp, pungent taste.] +**** Salty [Tasting of or like salt.] +**** Savory [Belonging to a taste that is salty or spicy rather than sweet.] +**** Sour [Having a sharp, acidic taste.] +**** Sweet [Having or resembling the taste of sugar.] +*** Olfactory-attribute [Having a smell.] +*** Somatic-attribute [Pertaining to the feelings in the body or of the nervous system.] +**** Pain [The sensation of discomfort, distress, or agony, resulting from the stimulation of specialized nerve endings.] +**** Stress [The negative mental, emotional, and physical reactions that occur when environmental stressors are perceived as exceeding the adaptive capacities of the individual.] +*** Tactile-attribute [Pertaining to the sense of touch.] +**** Tactile-pressure [Having a feeling of heaviness.] +**** Tactile-temperature [Having a feeling of hotness or coldness.] +**** Tactile-texture [Having a feeling of roughness.] +**** Tactile-vibration [Having a feeling of mechanical oscillation.] +*** Vestibular-attribute [Pertaining to the sense of balance or body position.] +*** Visual-attribute [Pertaining to the sense of sight.] +**** Color [The appearance of objects (or light sources) described in terms of perception of their hue and lightness (or brightness) and saturation.] +***** CSS-color [One of 140 colors supported by all browsers. For more details such as the color RGB or HEX values, check: https://www.w3schools.com/colors/colors_groups.asp.] +****** Blue-color [CSS color group.] +******* CadetBlue [CSS-color 0x5F9EA0.] +******* SteelBlue [CSS-color 0x4682B4.] +******* LightSteelBlue [CSS-color 0xB0C4DE.] +******* LightBlue [CSS-color 0xADD8E6.] +******* PowderBlue [CSS-color 0xB0E0E6.] +******* LightSkyBlue [CSS-color 0x87CEFA.] +******* SkyBlue [CSS-color 0x87CEEB.] +******* CornflowerBlue [CSS-color 0x6495ED.] +******* DeepSkyBlue [CSS-color 0x00BFFF.] +******* DodgerBlue [CSS-color 0x1E90FF.] +******* RoyalBlue [CSS-color 0x4169E1.] +******* Blue [CSS-color 0x0000FF.] +******* MediumBlue [CSS-color 0x0000CD.] +******* DarkBlue [CSS-color 0x00008B.] +******* Navy [CSS-color 0x000080.] +******* MidnightBlue [CSS-color 0x191970.] +****** Brown-color [CSS color group.] +******* Cornsilk [CSS-color 0xFFF8DC.] +******* BlanchedAlmond [CSS-color 0xFFEBCD.] +******* Bisque [CSS-color 0xFFE4C4.] +******* NavajoWhite [CSS-color 0xFFDEAD.] +******* Wheat [CSS-color 0xF5DEB3.] +******* BurlyWood [CSS-color 0xDEB887.] +******* Tan [CSS-color 0xD2B48C.] +******* RosyBrown [CSS-color 0xBC8F8F.] +******* SandyBrown [CSS-color 0xF4A460.] +******* GoldenRod [CSS-color 0xDAA520.] +******* DarkGoldenRod [CSS-color 0xB8860B.] +******* Peru [CSS-color 0xCD853F.] +******* Chocolate [CSS-color 0xD2691E.] +******* Olive [CSS-color 0x808000.] +******* SaddleBrown [CSS-color 0x8B4513.] +******* Sienna [CSS-color 0xA0522D.] +******* Brown [CSS-color 0xA52A2A.] +******* Maroon [CSS-color 0x800000.] +****** Cyan-color [CSS color group.] +******* Aqua [CSS-color 0x00FFFF.] +******* Cyan [CSS-color 0x00FFFF.] +******* LightCyan [CSS-color 0xE0FFFF.] +******* PaleTurquoise [CSS-color 0xAFEEEE.] +******* Aquamarine [CSS-color 0x7FFFD4.] +******* Turquoise [CSS-color 0x40E0D0.] +******* MediumTurquoise [CSS-color 0x48D1CC.] +******* DarkTurquoise [CSS-color 0x00CED1.] +****** Green-color [CSS color group.] +******* GreenYellow [CSS-color 0xADFF2F.] +******* Chartreuse [CSS-color 0x7FFF00.] +******* LawnGreen [CSS-color 0x7CFC00.] +******* Lime [CSS-color 0x00FF00.] +******* LimeGreen [CSS-color 0x32CD32.] +******* PaleGreen [CSS-color 0x98FB98.] +******* LightGreen [CSS-color 0x90EE90.] +******* MediumSpringGreen [CSS-color 0x00FA9A.] +******* SpringGreen [CSS-color 0x00FF7F.] +******* MediumSeaGreen [CSS-color 0x3CB371.] +******* SeaGreen [CSS-color 0x2E8B57.] +******* ForestGreen [CSS-color 0x228B22.] +******* Green [CSS-color 0x008000.] +******* DarkGreen [CSS-color 0x006400.] +******* YellowGreen [CSS-color 0x9ACD32.] +******* OliveDrab [CSS-color 0x6B8E23.] +******* DarkOliveGreen [CSS-color 0x556B2F.] +******* MediumAquaMarine [CSS-color 0x66CDAA.] +******* DarkSeaGreen [CSS-color 0x8FBC8F.] +******* LightSeaGreen [CSS-color 0x20B2AA.] +******* DarkCyan [CSS-color 0x008B8B.] +******* Teal [CSS-color 0x008080.] +****** Gray-color [CSS color group.] +******* Gainsboro [CSS-color 0xDCDCDC.] +******* LightGray [CSS-color 0xD3D3D3.] +******* Silver [CSS-color 0xC0C0C0.] +******* DarkGray [CSS-color 0xA9A9A9.] +******* DimGray [CSS-color 0x696969.] +******* Gray [CSS-color 0x808080.] +******* LightSlateGray [CSS-color 0x778899.] +******* SlateGray [CSS-color 0x708090.] +******* DarkSlateGray [CSS-color 0x2F4F4F.] +******* Black [CSS-color 0x000000.] +****** Orange-color [CSS color group.] +******* Orange [CSS-color 0xFFA500.] +******* DarkOrange [CSS-color 0xFF8C00.] +******* Coral [CSS-color 0xFF7F50.] +******* Tomato [CSS-color 0xFF6347.] +******* OrangeRed [CSS-color 0xFF4500.] +****** Pink-color [CSS color group.] +******* Pink [CSS-color 0xFFC0CB.] +******* LightPink [CSS-color 0xFFB6C1.] +******* HotPink [CSS-color 0xFF69B4.] +******* DeepPink [CSS-color 0xFF1493.] +******* PaleVioletRed [CSS-color 0xDB7093.] +******* MediumVioletRed [CSS-color 0xC71585.] +****** Purple-color [CSS color group.] +******* Lavender [CSS-color 0xE6E6FA.] +******* Thistle [CSS-color 0xD8BFD8.] +******* Plum [CSS-color 0xDDA0DD.] +******* Orchid [CSS-color 0xDA70D6.] +******* Violet [CSS-color 0xEE82EE.] +******* Fuchsia [CSS-color 0xFF00FF.] +******* Magenta [CSS-color 0xFF00FF.] +******* MediumOrchid [CSS-color 0xBA55D3.] +******* DarkOrchid [CSS-color 0x9932CC.] +******* DarkViolet [CSS-color 0x9400D3.] +******* BlueViolet [CSS-color 0x8A2BE2.] +******* DarkMagenta [CSS-color 0x8B008B.] +******* Purple [CSS-color 0x800080.] +******* MediumPurple [CSS-color 0x9370DB.] +******* MediumSlateBlue [CSS-color 0x7B68EE.] +******* SlateBlue [CSS-color 0x6A5ACD.] +******* DarkSlateBlue [CSS-color 0x483D8B.] +******* RebeccaPurple [CSS-color 0x663399.] +******* Indigo [CSS-color 0x4B0082.] +****** Red-color [CSS color group.] +******* LightSalmon [CSS-color 0xFFA07A.] +******* Salmon [CSS-color 0xFA8072.] +******* DarkSalmon [CSS-color 0xE9967A.] +******* LightCoral [CSS-color 0xF08080.] +******* IndianRed [CSS-color 0xCD5C5C.] +******* Crimson [CSS-color 0xDC143C.] +******* Red [CSS-color 0xFF0000.] +******* FireBrick [CSS-color 0xB22222.] +******* DarkRed [CSS-color 0x8B0000.] +****** Yellow-color [CSS color group.] +******* Gold [CSS-color 0xFFD700.] +******* Yellow [CSS-color 0xFFFF00.] +******* LightYellow [CSS-color 0xFFFFE0.] +******* LemonChiffon [CSS-color 0xFFFACD.] +******* LightGoldenRodYellow [CSS-color 0xFAFAD2.] +******* PapayaWhip [CSS-color 0xFFEFD5.] +******* Moccasin [CSS-color 0xFFE4B5.] +******* PeachPuff [CSS-color 0xFFDAB9.] +******* PaleGoldenRod [CSS-color 0xEEE8AA.] +******* Khaki [CSS-color 0xF0E68C.] +******* DarkKhaki [CSS-color 0xBDB76B.] +****** White-color [CSS color group.] +******* White [CSS-color 0xFFFFFF.] +******* Snow [CSS-color 0xFFFAFA.] +******* HoneyDew [CSS-color 0xF0FFF0.] +******* MintCream [CSS-color 0xF5FFFA.] +******* Azure [CSS-color 0xF0FFFF.] +******* AliceBlue [CSS-color 0xF0F8FF.] +******* GhostWhite [CSS-color 0xF8F8FF.] +******* WhiteSmoke [CSS-color 0xF5F5F5.] +******* SeaShell [CSS-color 0xFFF5EE.] +******* Beige [CSS-color 0xF5F5DC.] +******* OldLace [CSS-color 0xFDF5E6.] +******* FloralWhite [CSS-color 0xFFFAF0.] +******* Ivory [CSS-color 0xFFFFF0.] +******* AntiqueWhite [CSS-color 0xFAEBD7.] +******* Linen [CSS-color 0xFAF0E6.] +******* LavenderBlush [CSS-color 0xFFF0F5.] +******* MistyRose [CSS-color 0xFFE4E1.] +***** Color-shade [A slight degree of difference between colors, especially with regard to how light or dark it is or as distinguished from one nearly like it.] +****** Dark-shade [A color tone not reflecting much light.] +****** Light-shade [A color tone reflecting more light.] +***** Grayscale [Using a color map composed of shades of gray, varying from black at the weakest intensity to white at the strongest.] +****** # {takesValue, valueClass=numericClass} [White intensity between 0 and 1.] +***** HSV-color [A color representation that models how colors appear under light.] +****** Hue [Attribute of a visual sensation according to which an area appears to be similar to one of the perceived colors.] +******* # {takesValue, valueClass=numericClass} [Angular value between 0 and 360.] +****** Saturation [Colorfulness of a stimulus relative to its own brightness.] +******* # {takesValue, valueClass=numericClass} [B value of RGB between 0 and 1.] +****** HSV-value [An attribute of a visual sensation according to which an area appears to emit more or less light.] +******* # {takesValue, valueClass=numericClass} +***** RGB-color [A color from the RGB schema.] +****** RGB-red [The red component.] +******* # {takesValue, valueClass=numericClass} [R value of RGB between 0 and 1.] +****** RGB-blue [The blue component.] +******* # {takesValue, valueClass=numericClass} [B value of RGB between 0 and 1.] +****** RGB-green [The green component.] +******* # {takesValue, valueClass=numericClass} [G value of RGB between 0 and 1.] +**** Luminance [A quality that exists by virtue of the luminous intensity per unit area projected in a given direction.] +**** Opacity [A measure of impenetrability to light.] +** Sensory-presentation [The entity has a sensory manifestation.] +*** Auditory-presentation [The sense of hearing is used in the presentation to the user.] +**** Loudspeaker-separation {suggestedTag=Distance}[The distance between two loudspeakers. Grouped with the Distance tag.] +**** Monophonic [Relating to sound transmission, recording, or reproduction involving a single transmission path.] +**** Silent [The absence of ambient audible sound or the state of having ceased to produce sounds.] +**** Stereophonic [Relating to, or constituting sound reproduction involving the use of separated microphones and two transmission channels to achieve the sound separation of a live hearing.] +*** Gustatory-presentation [The sense of taste used in the presentation to the user.] +*** Olfactory-presentation [The sense of smell used in the presentation to the user.] +*** Somatic-presentation [The nervous system is used in the presentation to the user.] +*** Tactile-presentation [The sense of touch used in the presentation to the user.] +*** Vestibular-presentation [The sense balance used in the presentation to the user.] +*** Visual-presentation [The sense of sight used in the presentation to the user.] +**** 2D-view [A view showing only two dimensions.] +**** 3D-view [A view showing three dimensions.] +**** Background-view [Parts of the view that are farthest from the viewer and usually the not part of the visual focus.] +**** Bistable-view [Something having two stable visual forms that have two distinguishable stable forms as in optical illusions.] +**** Foreground-view [Parts of the view that are closest to the viewer and usually the most important part of the visual focus.] +**** Foveal-view [Visual presentation directly on the fovea. A view projected on the small depression in the retina containing only cones and where vision is most acute.] +**** Map-view [A diagrammatic representation of an area of land or sea showing physical features, cities, roads.] +***** Aerial-view [Elevated view of an object from above, with a perspective as though the observer were a bird.] +***** Satellite-view [A representation as captured by technology such as a satellite.] +***** Street-view [A 360-degrees panoramic view from a position on the ground.] +**** Peripheral-view [Indirect vision as it occurs outside the point of fixation.] +* Task-property {extensionAllowed}[Something that pertains to a task.] +** Task-attentional-demand [Strategy for allocating attention toward goal-relevant information.] +*** Bottom-up-attention {relatedTag=Top-down-attention}[Attentional guidance purely by externally driven factors to stimuli that are salient because of their inherent properties relative to the background. Sometimes this is referred to as stimulus driven.] +*** Covert-attention {relatedTag=Overt-attention}[Paying attention without moving the eyes.] +*** Divided-attention {relatedTag=Focused-attention}[Integrating parallel multiple stimuli. Behavior involving responding simultaneously to multiple tasks or multiple task demands.] +*** Focused-attention {relatedTag=Divided-attention}[Responding discretely to specific visual, auditory, or tactile stimuli.] +*** Orienting-attention [Directing attention to a target stimulus.] +*** Overt-attention {relatedTag=Covert-attention}[Selectively processing one location over others by moving the eyes to point at that location.] +*** Selective-attention [Maintaining a behavioral or cognitive set in the face of distracting or competing stimuli. Ability to pay attention to a limited array of all available sensory information.] +*** Sustained-attention [Maintaining a consistent behavioral response during continuous and repetitive activity.] +*** Switched-attention [Having to switch attention between two or more modalities of presentation.] +*** Top-down-attention {relatedTag=Bottom-up-attention}[Voluntary allocation of attention to certain features. Sometimes this is referred to goal-oriented attention.] +** Task-effect-evidence [The evidence supporting the conclusion that the event had the specified effect.] +*** Computational-evidence [A type of evidence in which data are produced, and/or generated, and/or analyzed on a computer.] +*** External-evidence [A phenomenon that follows and is caused by some previous phenomenon.] +*** Intended-effect [A phenomenon that is intended to follow and be caused by some previous phenomenon.] +*** Behavioral-evidence [An indication or conclusion based on the behavior of an agent.] +** Task-event-role [The purpose of an event with respect to the task.] +*** Experimental-stimulus [Part of something designed to elicit a response in the experiment.] +*** Incidental [A sensory or other type of event that is unrelated to the task or experiment.] +*** Instructional [Usually associated with a sensory event intended to give instructions to the participant about the task or behavior.] +*** Mishap [Unplanned disruption such as an equipment or experiment control abnormality or experimenter error.] +*** Participant-response [Something related to a participant actions in performing the task.] +*** Task-activity [Something that is part of the overall task or is necessary to the overall experiment but is not directly part of a stimulus-response cycle. Examples would be taking a survey or provided providing a silva sample.] +*** Warning [Something that should warn the participant that the parameters of the task have been or are about to be exceeded such as a warning message about getting too close to the shoulder of the road in a driving task.] +** Task-action-type [How an agent action should be interpreted in terms of the task specification.] +*** Appropriate-action {relatedTag=Inappropriate-action}[An action suitable or proper in the circumstances.] +*** Correct-action {relatedTag=Incorrect-action, relatedTag=Indeterminate-action}[An action that was a correct response in the context of the task.] +*** Correction [An action offering an improvement to replace a mistake or error.] +*** Done-indication {relatedTag=Ready-indication}[An action that indicates that the participant has completed this step in the task.] +*** Incorrect-action {relatedTag=Correct-action, relatedTag=Indeterminate-action}[An action considered wrong or incorrect in the context of the task.] +*** Imagined-action [Form a mental image or concept of something. This is used to identity something that only happened in the imagination of the participant as in imagined movements in motor imagery paradigms.] +*** Inappropriate-action {relatedTag=Appropriate-action}[An action not in keeping with what is correct or proper for the task.] +*** Indeterminate-action {relatedTag=Correct-action,relatedTag=Incorrect-action, relatedTag=Miss, relatedTag=Near-miss}[An action that cannot be distinguished between two or more possibibities in the current context. This tag might be applied when an outside evaluator or a classification algorithm cannot determine a definitive result.] +*** Omitted-action [An expected response was skipped.] +*** Miss {relatedTag=Near-miss}[An action considered to be a failure in the context of the task. For example, if the agent is supposed to try to hit a target and misses.] +*** Near-miss {relatedTag=Miss}[An action barely satisfied the requirements of the task. In a driving experiment for example this could pertain to a narrowly avoided collision or other accident.] +*** Ready-indication {relatedTag=Done-indication}[An action that indicates that the participant is ready to perform the next step in the task.] +** Task-relationship [Specifying organizational importance of sub-tasks.] +*** Background-subtask [A part of the task which should be performed in the background as for example inhibiting blinks due to instruction while performing the primary task.] +*** Primary-subtask [A part of the task which should be the primary focus of the participant.] +** Task-stimulus-role [The role the stimulus plays in the task.] +*** Cue [A signal for an action, a pattern of stimuli indicating a particular response.] +*** Distractor [A person or thing that distracts or a plausible but incorrect option in a multiple-choice question. In pyschological studies this is sometimes referred to as a foil.] +*** Expected {relatedTag=Unexpected, suggestedTag=Target}[Considered likely, probable or anticipated. Something of low information value as in frequent non-targets in an RSVP paradigm.] +*** Extraneous [Irrelevant or unrelated to the subject being dealt with.] +*** Feedback [An evaluative response to an inquiry, process, event, or activity.] +*** Go-signal {relatedTag=Stop-signal}[An indicator to proceed with a planned action.] +*** Meaningful [Conveying significant or relevant information.] +*** Newly-learned [Representing recently acquired information or understanding.] +*** Non-informative [Something that is not useful in forming an opinion or judging an outcome.] +*** Non-target {relatedTag=Target}[Something other than that done or looked for. Also tag Expected if the Non-target is frequent.] +*** Not-meaningful [Not having a serious, important, or useful quality or purpose.] +*** Novel [Having no previous example or precedent or parallel.] +*** Oddball {relatedTag=Unexpected, suggestedTag=Target}[Something unusual, or infrequent.] +*** Planned {relatedTag=Unplanned}[Something that was decided on or arranged in advance.] +*** Penalty [A disadvantage, loss, or hardship due to some action.] +*** Priming [An implicit memory effect in which exposure to a stimulus influences response to a later stimulus.] +*** Query [A sentence of inquiry that asks for a reply.] +*** Reward [A positive reinforcement for a desired action, behavior or response.] +*** Stop-signal {relatedTag=Go-signal}[An indicator that the agent should stop the current activity.] +*** Target [Something fixed as a goal, destination, or point of examination.] +*** Threat [An indicator that signifies hostility and predicts an increased probability of attack.] +*** Timed [Something planned or scheduled to be done at a particular time or lasting for a specified amount of time.] +*** Unexpected {relatedTag=Expected}[Something that is not anticipated.] +*** Unplanned {relatedTag=Planned}[Something that has not been planned as part of the task.] + +'''Relation''' {extensionAllowed}[Concerns the way in which two or more people or things are connected.] +* Comparative-relation [Something considered in comparison to something else. The first entity is the focus.] +** Approximately-equal-to [(A, (Approximately-equal-to, B)) indicates that A and B have almost the same value. Here A and B could refer to sizes, orders, positions or other quantities.] +** Less-than [(A, (Less-than, B)) indicates that A is smaller than B. Here A and B could refer to sizes, orders, positions or other quantities.] +** Less-than-or-equal-to [(A, (Less-than-or-equal-to, B)) indicates that the relative size or order of A is smaller than or equal to B.] +** Greater-than [(A, (Greater-than, B)) indicates that the relative size or order of A is bigger than that of B.] +** Greater-than-or-equal-to [(A, (Greater-than-or-equal-to, B)) indicates that the relative size or order of A is bigger than or the same as that of B.] +** Equal-to [(A, (Equal-to, B)) indicates that the size or order of A is the same as that of B.] +** Not-equal-to [(A, (Not-equal-to, B)) indicates that the size or order of A is not the same as that of B.] +* Connective-relation [Indicates two entities are related in some way. The first entity is the focus.] +** Belongs-to [(A, (Belongs-to, B)) indicates that A is a member of B.] +** Connected-to [(A, (Connected-to, B)) indicates that A is related to B in some respect, usually through a direct link.] +** Contained-in [(A, (Contained-in, B)) indicates that A is completely inside of B.] +** Described-by [(A, (Described-by, B)) indicates that B provides information about A.] +** From-to [(A, (From-to, B)) indicates a directional relation from A to B. A is considered the source.] +** Group-of [(A, (Group-of, B)) indicates A is a group of items of type B.] +** Implied-by [(A, (Implied-by, B)) indicates B is suggested by A.] +** Includes [(A, (Includes, B)) indicates that A has B as a member or part.] +** Interacts-with [(A, (Interacts-with, B)) indicates A and B interact, possibly reciprocally.] +** Member-of [(A, (Member-of, B)) indicates A is a member of group B.] +** Part-of [(A, (Part-of, B)) indicates A is a part of the whole B.] +** Performed-by [(A, (Performed-by, B)) indicates that the action or procedure A was carried out by agent B.] +** Performed-using [(A, (Performed-using, B)) indicates that the action or procedure A was accomplished using B.] +** Related-to [(A, (Related-to, B)) indicates A has some relationship to B.] +** Unrelated-to [(A, (Unrelated-to, B)) indicates that A is not related to B. For example, A is not related to Task.] +* Directional-relation [A relationship indicating direction of change of one entity relative to another. The first entity is the focus.] +** Away-from [(A, (Away-from, B)) indicates that A is going or has moved away from B. The meaning depends on A and B.] +** Towards [(A, (Towards, B)) indicates that A is going to or has moved to B. The meaning depends on A and B.] +* Logical-relation [Indicating a logical relationship between entities. The first entity is usually the focus.] +** And [(A, (And, B)) means A and B are both in effect.] +** Or [(A, (Or, B)) means at least one of A and B are in effect.] +* Spatial-relation [Indicating a relationship about position between entities.] +** Above [(A, (Above, B)) means A is in a place or position that is higher than B.] +** Across-from [(A, (Across-from, B)) means A is on the opposite side of something from B.] +** Adjacent-to [(A, (Adjacent-to, B)) indicates that A is next to B in time or space.] +** Ahead-of [(A, (Ahead-of, B)) indicates that A is further forward in time or space in B.] +** Around [(A, (Around, B)) means A is in or near the present place or situation of B.] +** Behind [(A, (Behind, B)) means A is at or to the far side of B, typically so as to be hidden by it.] +** Below [(A, (Below, B)) means A is in a place or position that is lower than the position of B.] +** Between [(A, (Between, (B, C))) means A is in the space or interval separating B and C.] +** Bilateral-to [(A, (Bilateral, B)) means A is on both sides of B or affects both sides of B.] +** Bottom-edge-of {relatedTag=Left-edge-of,relatedTag=Right-edge-of,relatedTag=Top-edge-of}[(A, (Bottom-edge-of, B)) means A is on the bottom most part or or near the boundary of B.] +** Boundary-of [(A, (Boundary-of, B)) means A is on or part of the edge or boundary of B.] +** Center-of [(A, (Center-of, B)) means A is at a point or or in an area that is approximately central within B.] +** Close-to [(A, (Close-to, B)) means A is at a small distance from or is located near in space to B.] +** Far-from [(A, (Far-from, B)) means A is at a large distance from or is not located near in space to B.] +** In-front-of [(A, (In-front-of, B)) means A is in a position just ahead or at the front part of B, potentially partially blocking B from view.] +** Left-edge-of {relatedTag=Bottom-edge-of,relatedTag=Right-edge-of,relatedTag=Top-edge-of}[(A, (Left-edge-of, B)) means A is located on the left side of B on or near the boundary of B.] +** Left-side-of {relatedTag=Right-side-of}[(A, (Left-side-of, B)) means A is located on the left side of B usually as part of B.] +** Lower-center-of {relatedTag=Center-of,relatedTag=Lower-left-of,relatedTag=Lower-right-of,relatedTag=Upper-center-of,relatedTag=Upper-right-of}[(A, (Lower-center-of, B)) means A is situated on the lower center part of B (due south). This relation is often used to specify qualitative information about screen position.] +** Lower-left-of {relatedTag=Center-of,relatedTag=Lower-center-of,relatedTag=Lower-right-of,relatedTag=Upper-center-of,relatedTag=Upper-left-of,relatedTag=Upper-right-of}[(A, (Lower-left-of, B)) means A is situated on the lower left part of B. This relation is often used to specify qualitative information about screen position.] +** Lower-right-of {relatedTag=Center-of,relatedTag=Lower-center-of,relatedTag=Lower-left-of,relatedTag=Upper-left-of,relatedTag=Upper-center-of,relatedTag=Upper-left-of,relatedTag=Lower-right-of}[(A, (Lower-right-of, B)) means A is situated on the lower right part of B. This relation is often used to specify qualitative information about screen position.] +** Outside-of [(A, (Outside-of, B)) means A is located in the space around but not including B.] +** Over [(A, (Over, B)) means A above is above B so as to cover or protect or A extends over the a general area as from a from a vantage point.] +** Right-edge-of {relatedTag=Bottom-edge-of,relatedTag=Left-edge-of,relatedTag=Top-edge-of}[(A, (Right-edge-of, B)) means A is located on the right side of B on or near the boundary of B.] +** Right-side-of {relatedTag=Left-side-of}[(A, (Right-side-of, B)) means A is located on the right side of B usually as part of B.] +** To-left-of [(A, (To-left-of, B)) means A is located on or directed toward the side to the west of B when B is facing north. This term is used when A is not part of B.] +** To-right-of [(A, (To-right-of, B)) means A is located on or directed toward the side to the east of B when B is facing north. This term is used when A is not part of B.] +** Top-edge-of {relatedTag=Left-edge-of,relatedTag=Right-edge-of,relatedTag=Bottom-edge-of}[(A, (Top-edge-of, B)) means A is on the uppermost part or or near the boundary of B.] +** Top-of [(A, (Top-of, B)) means A is on the uppermost part, side, or surface of B.] +** Upper-center-of {relatedTag=Center-of,relatedTag=Lower-center-of,relatedTag=Lower-left-of,relatedTag=Lower-right-of,relatedTag=Upper-center-of,relatedTag=Upper-right-of}[(A, (Upper-center-of, B)) means A is situated on the upper center part of B (due north). This relation is often used to specify qualitative information about screen position.] +** Upper-left-of {relatedTag=Center-of,relatedTag=Lower-center-of,relatedTag=Lower-left-of,relatedTag=Lower-right-of,relatedTag=Upper-center-of,relatedTag=Upper-right-of}[(A, (Upper-left-of, B)) means A is situated on the upper left part of B. This relation is often used to specify qualitative information about screen position.] +** Upper-right-of {relatedTag=Center-of,relatedTag=Lower-center-of,relatedTag=Lower-left-of,relatedTag=Upper-left-of,relatedTag=Upper-center-of,relatedTag=Lower-right-of}[(A, (Upper-right-of, B)) means A is situated on the upper right part of B. This relation is often used to specify qualitative information about screen position.] +** Underneath [(A, (Underneath, B)) means A is situated directly below and may be concealed by B.] +** Within [(A, (Within, B)) means A is on the inside of or contained in B.] +* Temporal-relation [A relationship that includes a temporal or time-based component.] +** After [(A, (After B)) means A happens at a time subsequent to a reference time related to B.] +** Asynchronous-with [(A, (Asynchronous-with, B)) means A happens at times not occurring at the same time or having the same period or phase as B.] +** Before [(A, (Before B)) means A happens at a time earlier in time or order than B.] +** During [(A, (During, B)) means A happens at some point in a given period of time in which B is ongoing.] +** Synchronous-with [(A, (Synchronous-with, B)) means A happens at occurs at the same time or rate as B.] +** Waiting-for [(A, (Waiting-for, B)) means A pauses for something to happen in B.] + +!# end schema + +'''Unit classes''' [Unit classes and the units for the nodes.] +* accelerationUnits {defaultUnits=m-per-s^2} +** m-per-s^2 {SIUnit, unitSymbol, conversionFactor=1.0} +* angleUnits {defaultUnits=radian} +** radian {SIUnit, conversionFactor=1.0} +** rad {SIUnit, unitSymbol, conversionFactor=1.0} +** degree {conversionFactor=0.0174533} +* areaUnits {defaultUnits=m^2} +** m^2 {SIUnit, unitSymbol, conversionFactor=1.0} +* currencyUnits {defaultUnits=$}[Units indicating the worth of something.] +** dollar {conversionFactor=1.0} +** $ {unitPrefix, unitSymbol, conversionFactor=1.0} +** euro +** point +* electricPotentialUnits {defaultUnits=uv} +** v {SIUnit, unitSymbol, conversionFactor=0.000001} +** Volt {SIUnit, conversionFactor=0.000001} +* frequencyUnits {defaultUnits=Hz} +** hertz {SIUnit, conversionFactor=1.0} +** Hz {SIUnit, unitSymbol, conversionFactor=1.0} +* intensityUnits {defaultUnits=dB} +** 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} +** m-per-s^3 {unitSymbol, conversionFactor=1.0} +* magneticFieldUnits {defaultUnits=fT}[Units used to magnetic field intensity.] +** tesla {SIUnit, conversionFactor=10^-15} +** T {SIUnit, unitSymbol, conversionFactor=10^-15} +* memorySizeUnits {defaultUnits=B} +** byte {SIUnit, conversionFactor=1.0} +** B {SIUnit, unitSymbol, conversionFactor=1.0} +* physicalLengthUnits {defaultUnits=m} +** foot {conversionFactor=0.3048} +** inch {conversionFactor=0.0254} +** meter {SIUnit, conversionFactor=1.0} +** metre {SIUnit, conversionFactor=1.0} +** m {SIUnit, unitSymbol, conversionFactor=1.0} +** mile {conversionFactor=1609.34} +* speedUnits {defaultUnits=m-per-s} +** m-per-s {SIUnit, unitSymbol, conversionFactor=1.0} +** mph {unitSymbol, conversionFactor=0.44704} +** kph {unitSymbol, conversionFactor=0.277778} +* temperatureUnits {defaultUnits=degree Celsius} +** degree Celsius {SIUnit, conversionFactor=1.0} +** oC {SIUnit, unitSymbol, conversionFactor=1.0} +* timeUnits {defaultUnits=s} +** second {SIUnit, conversionFactor=1.0} +** s {SIUnit, unitSymbol, conversionFactor=1.0} +** day {conversionFactor=86400} +** minute {conversionFactor=60} +** hour {conversionFactor=3600}[Should be in 24-hour format.] +* volumeUnits {defaultUnits=m^3} +** m^3 {SIUnit, unitSymbol, conversionFactor=1.0} +* weightUnits {defaultUnits=g} +** g {SIUnit, unitSymbol, conversionFactor=1.0} +** gram {SIUnit, conversionFactor=1.0} +** pound {conversionFactor=453.592} +** lb {conversionFactor=453.592} + + +'''Unit modifiers''' [Unit multiples and submultiples.] +* deca {SIUnitModifier, conversionFactor=10.0} [SI unit multiple representing 10^1.] +* da {SIUnitSymbolModifier, conversionFactor=10.0} [SI unit multiple representing 10^1.] +* hecto {SIUnitModifier, conversionFactor=100.0} [SI unit multiple representing 10^2.] +* h {SIUnitSymbolModifier, conversionFactor=100.0} [SI unit multiple representing 10^2.] +* kilo {SIUnitModifier, conversionFactor=1000.0} [SI unit multiple representing 10^3.] +* k {SIUnitSymbolModifier, conversionFactor=1000.0} [SI unit multiple representing 10^3.] +* mega {SIUnitModifier, conversionFactor=10^6} [SI unit multiple representing 10^6.] +* M {SIUnitSymbolModifier, conversionFactor=10^6} [SI unit multiple representing 10^6.] +* giga {SIUnitModifier, conversionFactor=10^9} [SI unit multiple representing 10^9.] +* G {SIUnitSymbolModifier, conversionFactor=10^9} [SI unit multiple representing 10^9.] +* tera {SIUnitModifier, conversionFactor=10^12} [SI unit multiple representing 10^12.] +* T {SIUnitSymbolModifier, conversionFactor=10^12} [SI unit multiple representing 10^12.] +* peta {SIUnitModifier, conversionFactor=10^15} [SI unit multiple representing 10^15.] +* P {SIUnitSymbolModifier, conversionFactor=10^15} [SI unit multiple representing 10^15.] +* exa {SIUnitModifier, conversionFactor=10^18} [SI unit multiple representing 10^18.] +* E {SIUnitSymbolModifier, conversionFactor=10^18} [SI unit multiple representing 10^18.] +* zetta {SIUnitModifier, conversionFactor=10^21} [SI unit multiple representing 10^21.] +* Z {SIUnitSymbolModifier, conversionFactor=10^21} [SI unit multiple representing 10^21.] +* yotta {SIUnitModifier, conversionFactor=10^24} [SI unit multiple representing 10^24.] +* Y {SIUnitSymbolModifier, conversionFactor=10^24} [SI unit multiple representing 10^24.] +* deci {SIUnitModifier, conversionFactor=0.1}[SI unit submultiple representing 10^-1.] +* d {SIUnitSymbolModifier, conversionFactor=0.1} [SI unit submultiple representing 10^-1.] +* centi {SIUnitModifier, conversionFactor=0.01} [SI unit submultiple representing 10^-2.] +* c {SIUnitSymbolModifier, conversionFactor=0.01} [SI unit submultiple representing 10^-2.] +* milli {SIUnitModifier, conversionFactor=0.001} [SI unit submultiple representing 10^-3.] +* m {SIUnitSymbolModifier, conversionFactor=0.001} [SI unit submultiple representing 10^-3.] +* micro {SIUnitModifier, conversionFactor=10^-6} [SI unit submultiple representing 10^-6.] +* u {SIUnitSymbolModifier, conversionFactor=10^-6} [SI unit submultiple representing 10^-6.] +* nano {SIUnitModifier, conversionFactor=10^-9} [SI unit submultiple representing 10^-9.] +* n {SIUnitSymbolModifier, conversionFactor=10^-9} [SI unit submultiple representing 10^-9.] +* pico {SIUnitModifier, conversionFactor=10^-12} [SI unit submultiple representing 10^-12.] +* p {SIUnitSymbolModifier, conversionFactor=10^-12} [SI unit submultiple representing 10^-12.] +* femto {SIUnitModifier, conversionFactor=10^-15} [SI unit submultiple representing 10^-15.] +* f {SIUnitSymbolModifier, conversionFactor=10^-15} [SI unit submultiple representing 10^-15.] +* atto {SIUnitModifier, conversionFactor=10^-18} [SI unit submultiple representing 10^-18.] +* a {SIUnitSymbolModifier, conversionFactor=10^-18} [SI unit submultiple representing 10^-18.] +* zepto {SIUnitModifier, conversionFactor=10^-21} [SI unit submultiple representing 10^-21.] +* z {SIUnitSymbolModifier, conversionFactor=10^-21} [SI unit submultiple representing 10^-21.] +* yocto {SIUnitModifier, conversionFactor=10^-24} [SI unit submultiple representing 10^-24.] +* y {SIUnitSymbolModifier, conversionFactor=10^-24} [SI unit submultiple representing 10^-24.] + + +'''Value classes''' [Specification of the rules for the values provided by users.] +* dateTimeClass {allowedCharacter=digits,allowedCharacter=T,allowedCharacter=-,allowedCharacter=:}[Date-times should conform to ISO8601 date-time format YYYY-MM-DDThh:mm:ss. Any variation on the full form is allowed.] +* nameClass {allowedCharacter=letters,allowedCharacter=digits,allowedCharacter=_,allowedCharacter=-}[Value class designating values that have the characteristics of node names. The allowed characters are alphanumeric, hyphen, and underbar.] +* numericClass {allowedCharacter=digits,allowedCharacter=E,allowedCharacter=e,allowedCharacter=+,allowedCharacter=-,allowedCharacter=.}[Value must be a valid numerical value.] +* posixPath {allowedCharacter=digits,allowedCharacter=letters,allowedCharacter=/,allowedCharacter=:}[Posix path specification.] +* textClass {allowedCharacter=letters, allowedCharacter=digits, allowedCharacter=blank, allowedCharacter=+, allowedCharacter=-, allowedCharacter=:, allowedCharacter=;, allowedCharacter=., allowedCharacter=/, allowedCharacter=(, allowedCharacter=), allowedCharacter=?, allowedCharacter=*, allowedCharacter=%, allowedCharacter=$, allowedCharacter=@}[Value class designating values that have the characteristics of text such as in descriptions.] + + +'''Schema attributes''' [Allowed attribute modifiers of other sections of the schema.] +* allowedCharacter {valueClassProperty}[A schema attribute of value classes specifying a special character that is allowed in expressing the value of a placeholder. 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 multiplicative factor to multiply these units to convert to default units.] +* deprecatedFrom {elementProperty}[Indicates that this element is deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form.] +* defaultUnits {unitClassProperty}[A schema attribute of unit classes specifying the default units to use if the placeholder has a unit class but the substituted value has no units.] +* extensionAllowed {boolProperty, nodeProperty, isInheritedProperty}[A schema attribute indicating 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.] +* inLibrary {elementProperty} [Indicates this schema element came from the named library schema, not the standard schema. This attribute is added by tools when a library schema is merged into its partnered standard schema.] +* recommended {boolProperty, nodeProperty}[A schema attribute indicating that the event-level HED string should include this tag.] +* relatedTag {nodeProperty, isInheritedProperty}[A schema attribute suggesting HED tags that are closely related to this tag. This attribute is used by tagging tools.] +* requireChild {boolProperty, nodeProperty}[A schema attribute indicating that one of the node elements descendants must be included when using this tag.] +* required {boolProperty, nodeProperty}[A schema attribute indicating that every event-level HED string should include this tag.] +* reserved {boolProperty, nodeProperty}[A schema attribute indicating that this tag has special meaning and requires special handling by tools.] +* rooted {nodeProperty}[Indicates a top-level library schema node is identical to a node of the same name in the partnered standard schema. This attribute can only appear in nodes that have the inLibrary schema attribute.] +* SIUnit {boolProperty, unitProperty}[A schema attribute indicating that this unit element is an SI unit and can be modified by multiple and submultiple names. Note that some units such as byte are designated as SI units although they are not part of the standard.] +* SIUnitModifier {boolProperty, unitModifierProperty}[A schema attribute indicating that this SI unit modifier represents a multiple or submultiple of a base unit rather than a unit symbol.] +* SIUnitSymbolModifier {boolProperty, unitModifierProperty}[A schema attribute indicating that this SI unit modifier represents a multiple or submultiple of a unit symbol rather than a base symbol.] +* suggestedTag {nodeProperty, isInheritedProperty}[A schema attribute that indicates another tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions.] +* tagGroup {boolProperty, nodeProperty}[A schema attribute indicating the tag can only appear inside a tag group.] +* takesValue {boolProperty, nodeProperty}[A schema attribute indicating the tag is a hashtag placeholder that is expected to be replaced with a user-defined value.] +* topLevelTagGroup {boolProperty, nodeProperty}[A schema attribute indicating that this tag (or its descendants) can only appear in a top-level tag group. A tag group can have at most one tag with this attribute.] +* unique {boolProperty, nodeProperty}[A schema attribute indicating that only one of this tag or its descendants can be used in the event-level HED string.] +* unitClass {nodeProperty}[A schema attribute specifying which unit class this value tag belongs to.] +* unitPrefix {boolProperty, unitProperty}[A schema attribute applied specifically to unit elements to designate that the unit indicator is a prefix (e.g., dollar sign in the currency units).] +* unitSymbol {boolProperty, unitProperty}[A schema attribute indicating 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}[A schema attribute specifying which value class this value 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 this schema attribute can apply to any type of element(tag term, unit class, etc).] +* isInheritedProperty [Indicates that this attribute is inherited by child nodes. This property only applies to schema attributes for nodes.] +* nodeProperty [Indicates this schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements.] +* unitClassProperty [Indicates that the schema attribute is meant to be applied to unit classes.] +* unitModifierProperty [Indicates that the schema attribute is meant to be applied to unit modifier classes.] +* unitProperty [Indicates that the schema attribute is meant to be applied to units within a unit class.] +* valueClassProperty [Indicates that the schema attribute is meant to be applied to value classes.] + +'''Epilogue''' +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. +!# end hed \ No newline at end of file diff --git a/hedxml/HED8.2.0.xml b/hedxml/HED8.2.0.xml new file mode 100644 index 0000000..1f55c7a --- /dev/null +++ b/hedxml/HED8.2.0.xml @@ -0,0 +1,7296 @@ + + + The HED standard schema is a hierarchically-organized vocabulary for annotating events and experimental structure. HED annotations consist of comma-separated tags drawn from this vocabulary. This vocabulary can be augmented by terms drawn from specialized library schema. + +Each term in this vocabulary has a human-readable description and may include additional attributes that give additional properties or that specify how tools should treat the tag during analysis. The meaning of these attributes is described in the Additional schema properties section. + + + + + Event + Something that happens at a given time and (typically) place. Elements of this tag subtree designate the general category in which an event falls. + + suggestedTag + Task-property + + + Sensory-event + Something perceivable by the participant. An event meant to be an experimental stimulus should include the tag Task-property/Task-event-role/Experimental-stimulus. + + suggestedTag + Task-event-role + Sensory-presentation + + + + Agent-action + Any action engaged in by an agent (see the Agent subtree for agent categories). A participant response to an experiment stimulus should include the tag Agent-property/Agent-task-role/Experiment-participant. + + suggestedTag + Task-event-role + Agent + + + + Data-feature + An event marking the occurrence of a data feature such as an interictal spike or alpha burst that is often added post hoc to the data record. + + suggestedTag + Data-property + + + + Experiment-control + An event pertaining to the physical control of the experiment during its operation. + + + Experiment-procedure + An event indicating an experimental procedure, as in performing a saliva swab during the experiment or administering a survey. + + + Experiment-structure + An event specifying a change-point of the structure of experiment. This event is typically used to indicate a change in experimental conditions or tasks. + + + Measurement-event + A discrete measure returned by an instrument. + + suggestedTag + Data-property + + + + + Agent + 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. + + suggestedTag + Agent-property + + + 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. + + + 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. + + + + Action + Do something. + + extensionAllowed + + + Communicate + Convey knowledge of or information about something. + + Communicate-gesturally + Communicate nonverbally using visible bodily actions, either in place of speech or together and in parallel with spoken words. Gestures include movement of the hands, face, or other parts of the body. + + relatedTag + Move-face + Move-upper-extremity + + + Clap-hands + Strike the palms of against one another resoundingly, and usually repeatedly, especially to express approval. + + + Clear-throat + Cough slightly so as to speak more clearly, attract attention, or to express hesitancy before saying something awkward. + + relatedTag + Move-face + Move-head + + + + Frown + Express disapproval, displeasure, or concentration, typically by turning down the corners of the mouth. + + relatedTag + Move-face + + + + Grimace + Make a twisted expression, typically expressing disgust, pain, or wry amusement. + + relatedTag + Move-face + + + + Nod-head + Tilt head in alternating up and down arcs along the sagittal plane. It is most commonly, but not universally, used to indicate agreement, acceptance, or acknowledgement. + + relatedTag + Move-head + + + + Pump-fist + Raise with fist clenched in triumph or affirmation. + + relatedTag + Move-upper-extremity + + + + Raise-eyebrows + Move eyebrows upward. + + relatedTag + Move-face + Move-eyes + + + + Shake-fist + Clench hand into a fist and shake to demonstrate anger. + + relatedTag + Move-upper-extremity + + + + Shake-head + Turn head from side to side as a way of showing disagreement or refusal. + + relatedTag + Move-head + + + + Shhh + Place finger over lips and possibly uttering the syllable shhh to indicate the need to be quiet. + + relatedTag + Move-upper-extremity + + + + Shrug + Lift shoulders up towards head to indicate a lack of knowledge about a particular topic. + + relatedTag + Move-upper-extremity + Move-torso + + + + Smile + Form facial features into a pleased, kind, or amused expression, typically with the corners of the mouth turned up and the front teeth exposed. + + relatedTag + Move-face + + + + Spread-hands + Spread hands apart to indicate ignorance. + + relatedTag + Move-upper-extremity + + + + Thumbs-down + Extend the thumb downward to indicate disapproval. + + relatedTag + Move-upper-extremity + + + + Thumb-up + Extend the thumb upward to indicate approval. + + relatedTag + Move-upper-extremity + + + + Wave + Raise hand and move left and right, as a greeting or sign of departure. + + relatedTag + Move-upper-extremity + + + + Widen-eyes + Open eyes and possibly with eyebrows lifted especially to express surprise or fear. + + relatedTag + Move-face + Move-eyes + + + + Wink + Close and open one eye quickly, typically to indicate that something is a joke or a secret or as a signal of affection or greeting. + + relatedTag + Move-face + Move-eyes + + + + + Communicate-musically + Communicate using music. + + Hum + Make a low, steady continuous sound like that of a bee. Sing with the lips closed and without uttering speech. + + + Play-instrument + Make musical sounds using an instrument. + + + Sing + Produce musical tones by means of the voice. + + + Vocalize + Utter vocal sounds. + + + Whistle + Produce a shrill clear sound by forcing breath out or air in through the puckered lips. + + + + Communicate-vocally + Communicate using mouth or vocal cords. + + Cry + Shed tears associated with emotions, usually sadness but also joy or frustration. + + + Groan + Make a deep inarticulate sound in response to pain or despair. + + + Laugh + Make the spontaneous sounds and movements of the face and body that are the instinctive expressions of lively amusement and sometimes also of contempt or derision. + + + Scream + Make loud, vociferous cries or yells to express pain, excitement, or fear. + + + Shout + Say something very loudly. + + + Sigh + Emit a long, deep, audible breath expressing sadness, relief, tiredness, or a similar feeling. + + + Speak + Communicate using spoken language. + + + Whisper + Speak very softly using breath without vocal cords. + + + + + Move + Move in a specified direction or manner. Change position or posture. + + Breathe + Inhale or exhale during respiration. + + Blow + Expel air through pursed lips. + + + Cough + Suddenly and audibly expel air from the lungs through a partially closed glottis, preceded by inhalation. + + + Exhale + Blow out or expel breath. + + + Hiccup + Involuntarily spasm the diaphragm and respiratory organs, with a sudden closure of the glottis and a characteristic sound like that of a cough. + + + Hold-breath + Interrupt normal breathing by ceasing to inhale or exhale. + + + Inhale + Draw in with the breath through the nose or mouth. + + + Sneeze + Suddenly and violently expel breath through the nose and mouth. + + + Sniff + Draw in air audibly through the nose to detect a smell, to stop it from running, or to express contempt. + + + + Move-body + Move entire body. + + Bend + Move body in a bowed or curved manner. + + + Dance + Perform a purposefully selected sequences of human movement often with aesthetic or symbolic value. Move rhythmically to music, typically following a set sequence of steps. + + + Fall-down + Lose balance and collapse. + + + Flex + Cause a muscle to stand out by contracting or tensing it. Bend a limb or joint. + + + Jerk + Make a quick, sharp, sudden movement. + + + Lie-down + Move to a horizontal or resting position. + + + Recover-balance + Return to a stable, upright body position. + + + Sit-down + Move from a standing to a sitting position. + + + Sit-up + Move from lying down to a sitting position. + + + Stand-up + Move from a sitting to a standing position. + + + Stretch + Straighten or extend body or a part of body to its full length, typically so as to tighten muscles or in order to reach something. + + + Shudder + Tremble convulsively, sometimes as a result of fear or revulsion. + + + Stumble + Trip or momentarily lose balance and almost fall. + + + Turn + Change or cause to change direction. + + + + Move-body-part + Move one part of a body. + + Move-eyes + Move eyes. + + Blink + Shut and open the eyes quickly. + + + Close-eyes + Lower and keep eyelids in a closed position. + + + Fixate + Direct eyes to a specific point or target. + + + Inhibit-blinks + Purposely prevent blinking. + + + Open-eyes + Raise eyelids to expose pupil. + + + Saccade + Move eyes rapidly between fixation points. + + + Squint + Squeeze one or both eyes partly closed in an attempt to see more clearly or as a reaction to strong light. + + + Stare + Look fixedly or vacantly at someone or something with eyes wide open. + + + + Move-face + Move the face or jaw. + + Bite + Seize with teeth or jaws an object or organism so as to grip or break the surface covering. + + + Burp + Noisily release air from the stomach through the mouth. Belch. + + + Chew + Repeatedly grinding, tearing, and or crushing with teeth or jaws. + + + Gurgle + Make a hollow bubbling sound like that made by water running out of a bottle. + + + Swallow + Cause or allow something, especially food or drink to pass down the throat. + + Gulp + Swallow quickly or in large mouthfuls, often audibly, sometimes to indicate apprehension. + + + + Yawn + Take a deep involuntary inhalation with the mouth open often as a sign of drowsiness or boredom. + + + + Move-head + Move head. + + Lift-head + Tilt head back lifting chin. + + + Lower-head + Move head downward so that eyes are in a lower position. + + + Turn-head + Rotate head horizontally to look in a different direction. + + + + Move-lower-extremity + Move leg and/or foot. + + Curl-toes + Bend toes sometimes to grip. + + + Hop + Jump on one foot. + + + Jog + Run at a trot to exercise. + + + Jump + Move off the ground or other surface through sudden muscular effort in the legs. + + + Kick + Strike out or flail with the foot or feet. Strike using the leg, in unison usually with an area of the knee or lower using the foot. + + + Pedal + Move by working the pedals of a bicycle or other machine. + + + Press-foot + Move by pressing foot. + + + Run + Travel on foot at a fast pace. + + + Step + Put one leg in front of the other and shift weight onto it. + + Heel-strike + Strike the ground with the heel during a step. + + + Toe-off + Push with toe as part of a stride. + + + + Trot + Run at a moderate pace, typically with short steps. + + + Walk + Move at a regular pace by lifting and setting down each foot in turn never having both feet off the ground at once. + + + + Move-torso + Move body trunk. + + + Move-upper-extremity + Move arm, shoulder, and/or hand. + + Drop + Let or cause to fall vertically. + + + Grab + Seize suddenly or quickly. Snatch or clutch. + + + Grasp + Seize and hold firmly. + + + Hold-down + Prevent someone or something from moving by holding them firmly. + + + Lift + Raising something to higher position. + + + Make-fist + Close hand tightly with the fingers bent against the palm. + + + Point + Draw attention to something by extending a finger or arm. + + + Press + Apply pressure to something to flatten, shape, smooth or depress it. This action tag should be used to indicate key presses and mouse clicks. + + relatedTag + Push + + + + Push + Apply force in order to move something away. Use Press to indicate a key press or mouse click. + + relatedTag + Press + + + + Reach + Stretch out your arm in order to get or touch something. + + + Release + Make available or set free. + + + Retract + Draw or pull back. + + + Scratch + Drag claws or nails over a surface or on skin. + + + Snap-fingers + Make a noise by pushing second finger hard against thumb and then releasing it suddenly so that it hits the base of the thumb. + + + Touch + Come into or be in contact with. + + + + + + Perceive + Produce an internal, conscious image through stimulating a sensory system. + + Hear + Give attention to a sound. + + + See + Direct gaze toward someone or something or in a specified direction. + + + Smell + Inhale in order to ascertain an odor or scent. + + + Taste + Sense a flavor in the mouth and throat on contact with a substance. + + + Sense-by-touch + Sense something through receptors in the skin. + + + + Perform + Carry out or accomplish an action, task, or function. + + Close + Act as to blocked against entry or passage. + + + Collide-with + Hit with force when moving. + + + Halt + Bring or come to an abrupt stop. + + + Modify + Change something. + + + Open + Widen an aperture, door, or gap, especially one allowing access to something. + + + Operate + Control the functioning of a machine, process, or system. + + + Play + Engage in activity for enjoyment and recreation rather than a serious or practical purpose. + + + Read + Interpret something that is written or printed. + + + Repeat + Make do or perform again. + + + Rest + Be inactive in order to regain strength, health, or energy. + + + Write + Communicate or express by means of letters or symbols written or imprinted on a surface. + + + + Think + Direct the mind toward someone or something or use the mind actively to form connected ideas. + + Allow + Allow access to something such as allowing a car to pass. + + + Attend-to + Focus mental experience on specific targets. + + + Count + Tally items either silently or aloud. + + + Deny + Refuse to give or grant something requested or desired by someone. + + + Detect + Discover or identify the presence or existence of something. + + + Discriminate + Recognize a distinction. + + + Encode + Convert information or an instruction into a particular form. + + + Evade + Escape or avoid, especially by cleverness or trickery. + + + Generate + Cause something, especially an emotion or situation to arise or come about. + + + Identify + Establish or indicate who or what someone or something is. + + + Imagine + Form a mental image or concept of something. + + + Judge + Evaluate evidence to make a decision or form a belief. + + + Learn + Adaptively change behavior as the result of experience. + + + Memorize + Adaptively change behavior as the result of experience. + + + Plan + Think about the activities required to achieve a desired goal. + + + Predict + Say or estimate that something will happen or will be a consequence of something without having exact informaton. + + + Recognize + Identify someone or something from having encountered them before. + + + Respond + React to something such as a treatment or a stimulus. + + + Recall + Remember information by mental effort. + + + Switch-attention + Transfer attention from one focus to another. + + + Track + Follow a person, animal, or object through space or time. + + + + + Item + An independently existing thing (living or nonliving). + + extensionAllowed + + + Biological-item + An entity that is biological, that is related to living organisms. + + Anatomical-item + A biological structure, system, fluid or other substance excluding single molecular entities. + + Body + The biological structure representing an organism. + + + Body-part + Any part of an organism. + + Head + The upper part of the human body, or the front or upper part of the body of an animal, typically separated from the rest of the body by a neck, and containing the brain, mouth, and sense organs. + + Hair + The filamentous outgrowth of the epidermis. + + + Ear + A sense organ needed for the detection of sound and for establishing balance. + + + Face + The anterior portion of the head extending from the forehead to the chin and ear to ear. The facial structures contain the eyes, nose and mouth, cheeks and jaws. + + Cheek + The fleshy part of the face bounded by the eyes, nose, ear, and jaw line. + + + Chin + The part of the face below the lower lip and including the protruding part of the lower jaw. + + + Eye + The organ of sight or vision. + + + Eyebrow + The arched strip of hair on the bony ridge above each eye socket. + + + Forehead + The part of the face between the eyebrows and the normal hairline. + + + Lip + Fleshy fold which surrounds the opening of the mouth. + + + Nose + A structure of special sense serving as an organ of the sense of smell and as an entrance to the respiratory tract. + + + Mouth + The proximal portion of the digestive tract, containing the oral cavity and bounded by the oral opening. + + + Teeth + The hard bonelike structures in the jaws. A collection of teeth arranged in some pattern in the mouth or other part of the body. + + + + + Lower-extremity + Refers to the whole inferior limb (leg and/or foot). + + Ankle + A gliding joint between the distal ends of the tibia and fibula and the proximal end of the talus. + + + Calf + The fleshy part at the back of the leg below the knee. + + + Foot + The structure found below the ankle joint required for locomotion. + + Big-toe + The largest toe on the inner side of the foot. + + + Heel + The back of the foot below the ankle. + + + Instep + The part of the foot between the ball and the heel on the inner side. + + + Little-toe + The smallest toe located on the outer side of the foot. + + + Toes + The terminal digits of the foot. + + + + Knee + A joint connecting the lower part of the femur with the upper part of the tibia. + + + Shin + Front part of the leg below the knee. + + + Thigh + Upper part of the leg between hip and knee. + + + + Torso + The body excluding the head and neck and limbs. + + Torso-back + The rear surface of the human body from the shoulders to the hips. + + + Buttocks + The round fleshy parts that form the lower rear area of a human trunk. + + + Torso-chest + The anterior side of the thorax from the neck to the abdomen. + + + Gentalia + The external organs of reproduction. + + deprecatedFrom + 8.1.0 + + + + Hip + The lateral prominence of the pelvis from the waist to the thigh. + + + Waist + The abdominal circumference at the navel. + + + + Upper-extremity + Refers to the whole superior limb (shoulder, arm, elbow, wrist, hand). + + Elbow + A type of hinge joint located between the forearm and upper arm. + + + Forearm + Lower part of the arm between the elbow and wrist. + + + Hand + The distal portion of the upper extremity. It consists of the carpus, metacarpus, and digits. + + Finger + Any of the digits of the hand. + + Index-finger + The second finger from the radial side of the hand, next to the thumb. + + + Little-finger + The fifth and smallest finger from the radial side of the hand. + + + Middle-finger + The middle or third finger from the radial side of the hand. + + + Ring-finger + The fourth finger from the radial side of the hand. + + + Thumb + The thick and short hand digit which is next to the index finger in humans. + + + + Palm + The part of the inner surface of the hand that extends from the wrist to the bases of the fingers. + + + Knuckles + A part of a finger at a joint where the bone is near the surface, especially where the finger joins the hand. + + + + Shoulder + Joint attaching upper arm to trunk. + + + Upper-arm + Portion of arm between shoulder and elbow. + + + Wrist + A joint between the distal end of the radius and the proximal row of carpal bones. + + + + + + Organism + A living entity, more specifically a biological entity that consists of one or more cells and is capable of genomic replication (independently or not). + + Animal + A living organism that has membranous cell walls, requires oxygen and organic foods, and is capable of voluntary movement. + + + Human + The bipedal primate mammal Homo sapiens. + + + Plant + Any living organism that typically synthesizes its food from inorganic substances and possesses cellulose cell walls. + + + + + Language-item + An entity related to a systematic means of communicating by the use of sounds, symbols, or gestures. + + suggestedTag + Sensory-presentation + + + Character + A mark or symbol used in writing. + + + Clause + A unit of grammatical organization next below the sentence in rank, usually consisting of a subject and predicate. + + + Glyph + A hieroglyphic character, symbol, or pictograph. + + + Nonword + A group of letters or speech sounds that looks or sounds like a word but that is not accepted as such by native speakers. + + + Paragraph + A distinct section of a piece of writing, usually dealing with a single theme. + + + Phoneme + A speech sound that is distinguished by the speakers of a particular language. + + + Phrase + A phrase is a group of words functioning as a single unit in the syntax of a sentence. + + + Sentence + A set of words that is complete in itself, conveying a statement, question, exclamation, or command and typically containing an explicit or implied subject and a predicate containing a finite verb. + + + Syllable + A unit of spoken language larger than a phoneme. + + + Textblock + A block of text. + + + Word + A word is the smallest free form (an item that may be expressed in isolation with semantic or pragmatic content) in a language. + + + + Object + Something perceptible by one or more of the senses, especially by vision or touch. A material thing. + + suggestedTag + Sensory-presentation + + + Geometric-object + An object or a representation that has structure and topology in space. + + Pattern + An arrangement of objects, facts, behaviors, or other things which have scientific, mathematical, geometric, statistical, or other meaning. + + Dots + A small round mark or spot. + + + LED-pattern + A pattern created by lighting selected members of a fixed light emitting diode array. + + + + 2D-shape + A planar, two-dimensional shape. + + Arrow + A shape with a pointed end indicating direction. + + + Clockface + The dial face of a clock. A location identifier based on clockface numbering or anatomic subregion. + + + Cross + A figure or mark formed by two intersecting lines crossing at their midpoints. + + + Dash + A horizontal stroke in writing or printing to mark a pause or break in sense or to represent omitted letters or words. + + + Ellipse + A closed plane curve resulting from the intersection of a circular cone and a plane cutting completely through it, especially a plane not parallel to the base. + + Circle + A ring-shaped structure with every point equidistant from the center. + + + + Rectangle + A parallelogram with four right angles. + + Square + A square is a special rectangle with four equal sides. + + + + Single-point + A point is a geometric entity that is located in a zero-dimensional spatial region and whose position is defined by its coordinates in some coordinate system. + + + Star + A conventional or stylized representation of a star, typically one having five or more points. + + + Triangle + A three-sided polygon. + + + + 3D-shape + A geometric three-dimensional shape. + + Box + A square or rectangular vessel, usually made of cardboard or plastic. + + Cube + A solid or semi-solid in the shape of a three dimensional square. + + + + Cone + A shape whose base is a circle and whose sides taper up to a point. + + + Cylinder + A surface formed by circles of a given radius that are contained in a plane perpendicular to a given axis, whose centers align on the axis. + + + Ellipsoid + A closed plane curve resulting from the intersection of a circular cone and a plane cutting completely through it, especially a plane not parallel to the base. + + Sphere + A solid or hollow three-dimensional object bounded by a closed surface such that every point on the surface is equidistant from the center. + + + + Pyramid + A polyhedron of which one face is a polygon of any number of sides, and the other faces are triangles with a common vertex. + + + + + Ingestible-object + Something that can be taken into the body by the mouth for digestion or absorption. + + + Man-made-object + Something constructed by human means. + + Building + A structure that has a roof and walls and stands more or less permanently in one place. + + Room + An area within a building enclosed by walls and floor and ceiling. + + + Roof + A roof is the covering on the uppermost part of a building which provides protection from animals and weather, notably rain, but also heat, wind and sunlight. + + + Entrance + The means or place of entry. + + + Attic + A room or a space immediately below the roof of a building. + + + Basement + The part of a building that is wholly or partly below ground level. + + + + Clothing + A covering designed to be worn on the body. + + + Device + An object contrived for a specific purpose. + + Assistive-device + A device that help an individual accomplish a task. + + Glasses + Frames with lenses worn in front of the eye for vision correction, eye protection, or protection from UV rays. + + + Writing-device + A device used for writing. + + Pen + A common writing instrument used to apply ink to a surface for writing or drawing. + + + Pencil + An implement for writing or drawing that is constructed of a narrow solid pigment core in a protective casing that prevents the core from being broken or marking the hand. + + + + + Computing-device + An electronic device which take inputs and processes results from the inputs. + + Cellphone + A telephone with access to a cellular radio system so it can be used over a wide area, without a physical connection to a network. + + + Desktop-computer + A computer suitable for use at an ordinary desk. + + + Laptop-computer + A computer that is portable and suitable for use while traveling. + + + Tablet-computer + A small portable computer that accepts input directly on to its screen rather than via a keyboard or mouse. + + + + Engine + A motor is a machine designed to convert one or more forms of energy into mechanical energy. + + + IO-device + Hardware used by a human (or other system) to communicate with a computer. + + Input-device + A piece of equipment used to provide data and control signals to an information processing system such as a computer or information appliance. + + Computer-mouse + A hand-held pointing device that detects two-dimensional motion relative to a surface. + + Mouse-button + An electric switch on a computer mouse which can be pressed or clicked to select or interact with an element of a graphical user interface. + + + Scroll-wheel + A scroll wheel or mouse wheel is a wheel used for scrolling made of hard plastic with a rubbery surface usually located between the left and right mouse buttons and is positioned perpendicular to the mouse surface. + + + + Joystick + A control device that uses a movable handle to create two-axis input for a computer device. + + + Keyboard + A device consisting of mechanical keys that are pressed to create input to a computer. + + Keyboard-key + A button on a keyboard usually representing letters, numbers, functions, or symbols. + + # + Value of a keyboard key. + + takesValue + + + + + + Keypad + A device consisting of keys, usually in a block arrangement, that provides limited input to a system. + + Keypad-key + A key on a separate section of a computer keyboard that groups together numeric keys and those for mathematical or other special functions in an arrangement like that of a calculator. + + # + Value of keypad key. + + takesValue + + + + + + Microphone + A device designed to convert sound to an electrical signal. + + + Push-button + A switch designed to be operated by pressing a button. + + + + Output-device + Any piece of computer hardware equipment which converts information into human understandable form. + + Display-device + An output device for presentation of information in visual or tactile form the latter used for example in tactile electronic displays for blind people. + + Head-mounted-display + An instrument that functions as a display device, worn on the head or as part of a helmet, that has a small display optic in front of one (monocular HMD) or each eye (binocular HMD). + + + LED-display + A LED display is a flat panel display that uses an array of light-emitting diodes as pixels for a video display. + + + Computer-screen + An electronic device designed as a display or a physical device designed to be a protective meshwork. + + Screen-window + A part of a computer screen that contains a display different from the rest of the screen. A window is a graphical control element consisting of a visual area containing some of the graphical user interface of the program it belongs to and is framed by a window decoration. + + + + + Auditory-device + A device designed to produce sound. + + Headphones + An instrument that consists of a pair of small loudspeakers, or less commonly a single speaker, held close to ears and connected to a signal source such as an audio amplifier, radio, CD player or portable media player. + + + Loudspeaker + A device designed to convert electrical signals to sounds that can be heard. + + + + + Recording-device + A device that copies information in a signal into a persistent information bearer. + + EEG-recorder + A device for recording electric currents in the brain using electrodes applied to the scalp, to the surface of the brain, or placed within the substance of the brain. + + + File-storage + A device for recording digital information to a permanent media. + + + MEG-recorder + A device for measuring the magnetic fields produced by electrical activity in the brain, usually conducted externally. + + + Motion-capture + A device for recording the movement of objects or people. + + + Tape-recorder + A device for recording and reproduction usually using magnetic tape for storage that can be saved and played back. + + + + Touchscreen + A control component that operates an electronic device by pressing the display on the screen. + + + + Machine + A human-made device that uses power to apply forces and control movement to perform an action. + + + Measurement-device + A device in which a measure function inheres. + + Clock + A device designed to indicate the time of day or to measure the time duration of an event or action. + + Clock-face + A location identifier based on clockface numbering or anatomic subregion. + + + + + Robot + A mechanical device that sometimes resembles a living animal and is capable of performing a variety of often complex human tasks on command or by being programmed in advance. + + + Tool + A component that is not part of a device but is designed to support its assemby or operation. + + + + Document + A physical object, or electronic counterpart, that is characterized by containing writing which is meant to be human-readable. + + Letter + A written message addressed to a person or organization. + + + Note + A brief written record. + + + Book + A volume made up of pages fastened along one edge and enclosed between protective covers. + + + Notebook + A book for notes or memoranda. + + + Questionnaire + A document consisting of questions and possibly responses, depending on whether it has been filled out. + + + + Furnishing + Furniture, fittings, and other decorative accessories, such as curtains and carpets, for a house or room. + + + Manufactured-material + Substances created or extracted from raw materials. + + Ceramic + A hard, brittle, heat-resistant and corrosion-resistant material made by shaping and then firing a nonmetallic mineral, such as clay, at a high temperature. + + + Glass + A brittle transparent solid with irregular atomic structure. + + + Paper + A thin sheet material produced by mechanically or chemically processing cellulose fibres derived from wood, rags, grasses or other vegetable sources in water. + + + Plastic + Various high-molecular-weight thermoplastic or thermosetting polymers that are capable of being molded, extruded, drawn, or otherwise shaped and then hardened into a form. + + + Steel + An alloy made up of iron with typically a few tenths of a percent of carbon to improve its strength and fracture resistance compared to iron. + + + + Media + Media are audo/visual/audiovisual modes of communicating information for mass consumption. + + Media-clip + A short segment of media. + + Audio-clip + A short segment of audio. + + + Audiovisual-clip + A short media segment containing both audio and video. + + + Video-clip + A short segment of video. + + + + Visualization + An planned process that creates images, diagrams or animations from the input data. + + Animation + A form of graphical illustration that changes with time to give a sense of motion or represent dynamic changes in the portrayal. + + + Art-installation + A large-scale, mixed-media constructions, often designed for a specific place or for a temporary period of time. + + + Braille + A display using a system of raised dots that can be read with the fingers by people who are blind. + + + Image + Any record of an imaging event whether physical or electronic. + + Cartoon + A type of illustration, sometimes animated, typically in a non-realistic or semi-realistic style. The specific meaning has evolved over time, but the modern usage usually refers to either an image or series of images intended for satire, caricature, or humor. A motion picture that relies on a sequence of illustrations for its animation. + + + Drawing + A representation of an object or outlining a figure, plan, or sketch by means of lines. + + + Icon + A sign (such as a word or graphic symbol) whose form suggests its meaning. + + + Painting + A work produced through the art of painting. + + + Photograph + An image recorded by a camera. + + + + Movie + A sequence of images displayed in succession giving the illusion of continuous movement. + + + Outline-visualization + A visualization consisting of a line or set of lines enclosing or indicating the shape of an object in a sketch or diagram. + + + Point-light-visualization + A display in which action is depicted using a few points of light, often generated from discrete sensors in motion capture. + + + Sculpture + A two- or three-dimensional representative or abstract forms, especially by carving stone or wood or by casting metal or plaster. + + + Stick-figure-visualization + A drawing showing the head of a human being or animal as a circle and all other parts as straight lines. + + + + + Navigational-object + An object whose purpose is to assist directed movement from one location to another. + + Path + A trodden way. A way or track laid down for walking or made by continual treading. + + + Road + An open way for the passage of vehicles, persons, or animals on land. + + Lane + A defined path with physical dimensions through which an object or substance may traverse. + + + + Runway + A paved strip of ground on a landing field for the landing and takeoff of aircraft. + + + + Vehicle + A mobile machine which transports people or cargo. + + Aircraft + A vehicle which is able to travel through air in an atmosphere. + + + Bicycle + A human-powered, pedal-driven, single-track vehicle, having two wheels attached to a frame, one behind the other. + + + Boat + A watercraft of any size which is able to float or plane on water. + + + Car + A wheeled motor vehicle used primarily for the transportation of human passengers. + + + Cart + A cart is a vehicle which has two wheels and is designed to transport human passengers or cargo. + + + Tractor + A mobile machine specifically designed to deliver a high tractive effort at slow speeds, and mainly used for the purposes of hauling a trailer or machinery used in agriculture or construction. + + + Train + A connected line of railroad cars with or without a locomotive. + + + Truck + A motor vehicle which, as its primary funcion, transports cargo rather than human passangers. + + + + + Natural-object + Something that exists in or is produced by nature, and is not artificial or man-made. + + Mineral + A solid, homogeneous, inorganic substance occurring in nature and having a definite chemical composition. + + + Natural-feature + A feature that occurs in nature. A prominent or identifiable aspect, region, or site of interest. + + Field + An unbroken expanse as of ice or grassland. + + + Hill + A rounded elevation of limited extent rising above the surrounding land with local relief of less than 300m. + + + Mountain + A landform that extends above the surrounding terrain in a limited area. + + + River + A natural freshwater surface stream of considerable volume and a permanent or seasonal flow, moving in a definite channel toward a sea, lake, or another river. + + + Waterfall + A sudden descent of water over a step or ledge in the bed of a river. + + + + + + Sound + Mechanical vibrations transmitted by an elastic medium. Something that can be heard. + + Environmental-sound + Sounds occuring in the environment. An accumulation of noise pollution that occurs outside. This noise can be caused by transport, industrial, and recreational activities. + + Crowd-sound + Noise produced by a mixture of sounds from a large group of people. + + + Signal-noise + Any part of a signal that is not the true or original signal but is introduced by the communication mechanism. + + + + Musical-sound + Sound produced by continuous and regular vibrations, as opposed to noise. + + Tone + A musical note, warble, or other sound used as a particular signal on a telephone or answering machine. + + + Instrument-sound + Sound produced by a musical instrument. + + + Vocalized-sound + Musical sound produced by vocal cords in a biological agent. + + + + Named-animal-sound + A sound recognizable as being associated with particular animals. + + Barking + Sharp explosive cries like sounds made by certain animals, especially a dog, fox, or seal. + + + Bleating + Wavering cries like sounds made by a sheep, goat, or calf. + + + Crowing + Loud shrill sounds characteristic of roosters. + + + Chirping + Short, sharp, high-pitched noises like sounds made by small birds or an insects. + + + Growling + Low guttural sounds like those that made in the throat by a hostile dog or other animal. + + + Meowing + Vocalizations like those made by as those cats. These sounds have diverse tones and are sometimes chattered, murmured or whispered. The purpose can be assertive. + + + Mooing + Deep vocal sounds like those made by a cow. + + + Purring + Low continuous vibratory sound such as those made by cats. The sound expresses contentment. + + + Roaring + Loud, deep, or harsh prolonged sounds such as those made by big cats and bears for long-distance communication and intimidation. + + + Squawking + Loud, harsh noises such as those made by geese. + + + + Named-object-sound + A sound identifiable as coming from a particular type of object. + + Alarm-sound + A loud signal often loud continuous ringing to alert people to a problem or condition that requires urgent attention. + + + Beep + A short, single tone, that is typically high-pitched and generally made by a computer or other machine. + + + Buzz + A persistent vibratory sound often made by a buzzer device and used to indicate something incorrect. + + + Ka-ching + The sound made by a mechanical cash register, often to designate a reward. + + + Click + The sound made by a mechanical cash register, often to designate a reward. + + + Ding + A short ringing sound such as that made by a bell, often to indicate a correct response or the expiration of time. + + + Horn-blow + A loud sound made by forcing air through a sound device that funnels air to create the sound, often used to sound an alert. + + + Siren + A loud, continuous sound often varying in frequency designed to indicate an emergency. + + + + + + Property + 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. + + extensionAllowed + + + Agent-property + Something that pertains to an agent. + + extensionAllowed + + + 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. + + + Anesthetized + Having lost sensation to pain or having senses dulled due to the effects of an anesthetic. + + + Asleep + Having entered a periodic, readily reversible state of reduced awareness and metabolic activity, usually accompanied by physical relaxation and brain activity. + + + Attentive + Concentrating and focusing mental energy on the task or surroundings. + + + Distracted + Lacking in concentration because of being preoccupied. + + + Awake + In a non sleeping state. + + + Brain-dead + Characterized by the irreversible absence of cortical and brain stem functioning. + + + Comatose + In a state of profound unconsciousness associated with markedly depressed cerebral activity. + + + Drowsy + In a state of near-sleep, a strong desire for sleep, or sleeping for unusually long periods. + + + Intoxicated + In a state with disturbed psychophysiological functions and responses as a result of administration or ingestion of a psychoactive substance. + + + Locked-in + In a state of complete paralysis of all voluntary muscles except for the ones that control the movements of the eyes. + + + Passive + Not responding or initiating an action in response to a stimulus. + + + Resting + A state in which the agent is not exhibiting any physical exertion. + + + Vegetative + A state of wakefulness and conscience, but (in contrast to coma) with involuntary opening of the eyes and movements (such as teeth grinding, yawning, or thrashing of the extremities). + + + + Agent-emotional-state + The status of the general temperament and outlook of an agent. + + Angry + Experiencing emotions characterized by marked annoyance or hostility. + + + Aroused + In a state reactive to stimuli leading to increased heart rate and blood pressure, sensory alertness, mobility and readiness to respond. + + + Awed + Filled with wonder. Feeling grand, sublime or powerful emotions characterized by a combination of joy, fear, admiration, reverence, and/or respect. + + + Compassionate + Feeling or showing sympathy and concern for others often evoked for a person who is in distress and associated with altruistic motivation. + + + Content + Feeling satisfaction with things as they are. + + + Disgusted + Feeling revulsion or profound disapproval aroused by something unpleasant or offensive. + + + Emotionally-neutral + Feeling neither satisfied nor dissatisfied. + + + Empathetic + Understanding and sharing the feelings of another. Being aware of, being sensitive to, and vicariously experiencing the feelings, thoughts, and experience of another. + + + Excited + Feeling great enthusiasm and eagerness. + + + Fearful + Feeling apprehension that one may be in danger. + + + Frustrated + Feeling annoyed as a result of being blocked, thwarted, disappointed or defeated. + + + Grieving + Feeling sorrow in response to loss, whether physical or abstract. + + + Happy + Feeling pleased and content. + + + Jealous + Feeling threatened by a rival in a relationship with another individual, in particular an intimate partner, usually involves feelings of threat, fear, suspicion, distrust, anxiety, anger, betrayal, and rejection. + + + Joyful + Feeling delight or intense happiness. + + + Loving + Feeling a strong positive emotion of affection and attraction. + + + Relieved + No longer feeling pain, distress, anxiety, or reassured. + + + Sad + Feeling grief or unhappiness. + + + Stressed + Experiencing mental or emotional strain or tension. + + + + Agent-physiological-state + Having to do with the mechanical, physical, or biochemical function of an agent. + + Healthy + Having no significant health-related issues. + + relatedTag + Sick + + + + Hungry + Being in a state of craving or desiring food. + + relatedTag + Sated + Thirsty + + + + Rested + Feeling refreshed and relaxed. + + relatedTag + Tired + + + + Sated + Feeling full. + + relatedTag + Hungry + + + + Sick + Being in a state of ill health, bodily malfunction, or discomfort. + + relatedTag + Healthy + + + + Thirsty + Feeling a need to drink. + + relatedTag + Hungry + + + + Tired + Feeling in need of sleep or rest. + + relatedTag + Rested + + + + + Agent-postural-state + Pertaining to the position in which agent holds their body. + + Crouching + Adopting a position where the knees are bent and the upper body is brought forward and down, sometimes to avoid detection or to defend oneself. + + + Eyes-closed + Keeping eyes closed with no blinking. + + + Eyes-open + Keeping eyes open with occasional blinking. + + + Kneeling + Positioned where one or both knees are on the ground. + + + On-treadmill + Ambulation on an exercise apparatus with an endless moving belt to support moving in place. + + + Prone + Positioned in a recumbent body position whereby the person lies on its stomach and faces downward. + + + Sitting + In a seated position. + + + Standing + Assuming or maintaining an erect upright position. + + + Seated-with-chin-rest + Using a device that supports the chin and head. + + + + + Agent-task-role + The function or part that is ascribed to an agent in performing the task. + + Experiment-actor + An agent who plays a predetermined role to create the experiment scenario. + + + Experiment-controller + An agent exerting control over some aspect of the experiment. + + + Experiment-participant + Someone who takes part in an activity related to an experiment. + + + Experimenter + Person who is the owner of the experiment and has its responsibility. + + + + Agent-trait + A genetically, environmentally, or socially determined characteristic of an agent. + + Age + Length of time elapsed time since birth of the agent. + + # + + takesValue + + + valueClass + numericClass + + + + + Agent-experience-level + Amount of skill or knowledge that the agent has as pertains to the task. + + Expert-level + Having comprehensive and authoritative knowledge of or skill in a particular area related to the task. + + relatedTag + Intermediate-experience-level + Novice-level + + + + Intermediate-experience-level + Having a moderate amount of knowledge or skill related to the task. + + relatedTag + Expert-level + Novice-level + + + + Novice-level + Being inexperienced in a field or situation related to the task. + + relatedTag + Expert-level + Intermediate-experience-level + + + + + Gender + Characteristics that are socially constructed, including norms, behaviors, and roles based on sex. + + + Sex + Physical properties or qualities by which male is distinguished from female. + + Female + Biological sex of an individual with female sexual organs such ova. + + + Male + Biological sex of an individual with male sexual organs producing sperm. + + + Intersex + Having genitalia and/or secondary sexual characteristics of indeterminate sex. + + + + Ethnicity + Belong to a social group that has a common national or cultural tradition. Use with Label to avoid extension. + + + Handedness + Individual preference for use of a hand, known as the dominant hand. + + Left-handed + Preference for using the left hand or foot for tasks requiring the use of a single hand or foot. + + + Right-handed + Preference for using the right hand or foot for tasks requiring the use of a single hand or foot. + + + Ambidextrous + Having no overall dominance in the use of right or left hand or foot in the performance of tasks that require one hand or foot. + + + + Race + Belonging to a group sharing physical or social qualities as defined within a specified society. Use with Label to avoid extension. + + + + + Data-property + Something that pertains to data or information. + + extensionAllowed + + + Data-marker + An indicator placed to mark something. + + Data-break-marker + An indicator place to indicate a gap in the data. + + + Temporal-marker + An indicator placed at a particular time in the data. + + Inset + Marks an intermediate point in an ongoing event of temporal extent. + + topLevelTagGroup + + + reserved + + + relatedTag + Onset + Offset + + + + Onset + Marks the start of an ongoing event of temporal extent. + + topLevelTagGroup + + + reserved + + + relatedTag + Inset + Offset + + + + Offset + Marks the end of an event of temporal extent. + + topLevelTagGroup + + + reserved + + + relatedTag + Onset + Inset + + + + Pause + Indicates the temporary interruption of the operation a process and subsequently wait for a signal to continue. + + + Time-out + A cancellation or cessation that automatically occurs when a predefined interval of time has passed without a certain event occurring. + + + Time-sync + A synchronization signal whose purpose to help synchronize different signals or processes. Often used to indicate a marker inserted into the recorded data to allow post hoc synchronization of concurrently recorded data streams. + + + + + Data-resolution + Smallest change in a quality being measured by an sensor that causes a perceptible change. + + Printer-resolution + Resolution of a printer, usually expressed as the number of dots-per-inch for a printer. + + # + + takesValue + + + valueClass + numericClass + + + + + Screen-resolution + Resolution of a screen, usually expressed as the of pixels in a dimension for a digital display device. + + # + + takesValue + + + valueClass + numericClass + + + + + Sensory-resolution + Resolution of measurements by a sensing device. + + # + + takesValue + + + valueClass + numericClass + + + + + Spatial-resolution + Linear spacing of a spatial measurement. + + # + + takesValue + + + valueClass + numericClass + + + + + Spectral-resolution + Measures the ability of a sensor to resolve features in the electromagnetic spectrum. + + # + + takesValue + + + valueClass + numericClass + + + + + Temporal-resolution + Measures the ability of a sensor to resolve features in time. + + # + + takesValue + + + valueClass + numericClass + + + + + + Data-source-type + The type of place, person, or thing from which the data comes or can be obtained. + + Computed-feature + A feature computed from the data by a tool. This tag should be grouped with a label of the form Toolname_propertyName. + + + Computed-prediction + A computed extrapolation of known data. + + + Expert-annotation + An explanatory or critical comment or other in-context information provided by an authority. + + + Instrument-measurement + Information obtained from a device that is used to measure material properties or make other observations. + + + Observation + Active acquisition of information from a primary source. Should be grouped with a label of the form AgentID_featureName. + + + + Data-value + Designation of the type of a data item. + + Categorical-value + Indicates that something can take on a limited and usually fixed number of possible values. + + Categorical-class-value + Categorical values that fall into discrete classes such as true or false. The grouping is absolute in the sense that it is the same for all participants. + + All + To a complete degree or to the full or entire extent. + + relatedTag + Some + None + + + + Correct + Free from error. Especially conforming to fact or truth. + + relatedTag + Wrong + + + + Explicit + Stated clearly and in detail, leaving no room for confusion or doubt. + + relatedTag + Implicit + + + + False + Not in accordance with facts, reality or definitive criteria. + + relatedTag + True + + + + Implicit + Implied though not plainly expressed. + + relatedTag + Explicit + + + + Invalid + Not allowed or not conforming to the correct format or specifications. + + relatedTag + Valid + + + + None + No person or thing, nobody, not any. + + relatedTag + All + Some + + + + Some + At least a small amount or number of, but not a large amount of, or often. + + relatedTag + All + None + + + + True + Conforming to facts, reality or definitive criteria. + + relatedTag + False + + + + Valid + Allowable, usable, or acceptable. + + relatedTag + Invalid + + + + Wrong + Inaccurate or not correct. + + relatedTag + Correct + + + + + Categorical-judgment-value + Categorical values that are based on the judgment or perception of the participant such familiar and famous. + + Abnormal + Deviating in any way from the state, position, structure, condition, behavior, or rule which is considered a norm. + + relatedTag + Normal + + + + Asymmetrical + Lacking symmetry or having parts that fail to correspond to one another in shape, size, or arrangement. + + relatedTag + Symmetrical + + + + Audible + A sound that can be perceived by the participant. + + relatedTag + Inaudible + + + + Congruent + Concordance of multiple evidence lines. In agreement or harmony. + + relatedTag + Incongruent + + + + Complex + Hard, involved or complicated, elaborate, having many parts. + + relatedTag + Simple + + + + Constrained + Keeping something within particular limits or bounds. + + relatedTag + Unconstrained + + + + Disordered + Not neatly arranged. Confused and untidy. A structural quality in which the parts of an object are non-rigid. + + relatedTag + Ordered + + + + Familiar + Recognized, familiar, or within the scope of knowledge. + + relatedTag + Unfamiliar + Famous + + + + Famous + A person who has a high degree of recognition by the general population for his or her success or accomplishments. A famous person. + + relatedTag + Familiar + Unfamiliar + + + + Inaudible + A sound below the threshold of perception of the participant. + + relatedTag + Audible + + + + Incongruent + Not in agreement or harmony. + + relatedTag + Congruent + + + + Involuntary + An action that is not made by choice. In the body, involuntary actions (such as blushing) occur automatically, and cannot be controlled by choice. + + relatedTag + Voluntary + + + + Masked + Information exists but is not provided or is partially obscured due to security, privacy, or other concerns. + + relatedTag + Unmasked + + + + Normal + Being approximately average or within certain limits. Conforming with or constituting a norm or standard or level or type or social norm. + + relatedTag + Abnormal + + + + Ordered + Conforming to a logical or comprehensible arrangement of separate elements. + + relatedTag + Disordered + + + + Simple + Easily understood or presenting no difficulties. + + relatedTag + Complex + + + + Symmetrical + Made up of exactly similar parts facing each other or around an axis. Showing aspects of symmetry. + + relatedTag + Asymmetrical + + + + Unconstrained + Moving without restriction. + + relatedTag + Constrained + + + + Unfamiliar + Not having knowledge or experience of. + + relatedTag + Familiar + Famous + + + + Unmasked + Information is revealed. + + relatedTag + Masked + + + + Voluntary + Using free will or design; not forced or compelled; controlled by individual volition. + + relatedTag + Involuntary + + + + + Categorical-level-value + Categorical values based on dividing a continuous variable into levels such as high and low. + + Cold + Having an absence of heat. + + relatedTag + Hot + + + + Deep + Extending relatively far inward or downward. + + relatedTag + Shallow + + + + High + Having a greater than normal degree, intensity, or amount. + + relatedTag + Low + Medium + + + + Hot + Having an excess of heat. + + relatedTag + Cold + + + + Large + Having a great extent such as in physical dimensions, period of time, amplitude or frequency. + + relatedTag + Small + + + + Liminal + Situated at a sensory threshold that is barely perceptible or capable of eliciting a response. + + relatedTag + Subliminal + Supraliminal + + + + Loud + Having a perceived high intensity of sound. + + relatedTag + Quiet + + + + Low + Less than normal in degree, intensity or amount. + + relatedTag + High + + + + Medium + Mid-way between small and large in number, quantity, magnitude or extent. + + relatedTag + Low + High + + + + Negative + Involving disadvantage or harm. + + relatedTag + Positive + + + + Positive + Involving advantage or good. + + relatedTag + Negative + + + + Quiet + Characterizing a perceived low intensity of sound. + + relatedTag + Loud + + + + Rough + Having a surface with perceptible bumps, ridges, or irregularities. + + relatedTag + Smooth + + + + Shallow + Having a depth which is relatively low. + + relatedTag + Deep + + + + Small + Having a small extent such as in physical dimensions, period of time, amplitude or frequency. + + relatedTag + Large + + + + Smooth + Having a surface free from bumps, ridges, or irregularities. + + relatedTag + Rough + + + + Subliminal + Situated below a sensory threshold that is imperceptible or not capable of eliciting a response. + + relatedTag + Liminal + Supraliminal + + + + Supraliminal + Situated above a sensory threshold that is perceptible or capable of eliciting a response. + + relatedTag + Liminal + Subliminal + + + + Thick + Wide in width, extent or cross-section. + + relatedTag + Thin + + + + Thin + Narrow in width, extent or cross-section. + + relatedTag + Thick + + + + + Categorical-orientation-value + Value indicating the orientation or direction of something. + + Backward + Directed behind or to the rear. + + relatedTag + Forward + + + + Downward + Moving or leading toward a lower place or level. + + relatedTag + Leftward + Rightward + Upward + + + + Forward + At or near or directed toward the front. + + relatedTag + Backward + + + + Horizontally-oriented + Oriented parallel to or in the plane of the horizon. + + relatedTag + Vertically-oriented + + + + Leftward + Going toward or facing the left. + + relatedTag + Downward + Rightward + Upward + + + + Oblique + Slanting or inclined in direction, course, or position that is neither parallel nor perpendicular nor right-angular. + + relatedTag + Rotated + + + + Rightward + Going toward or situated on the right. + + relatedTag + Downward + Leftward + Upward + + + + Rotated + Positioned offset around an axis or center. + + + Upward + Moving, pointing, or leading to a higher place, point, or level. + + relatedTag + Downward + Leftward + Rightward + + + + Vertically-oriented + Oriented perpendicular to the plane of the horizon. + + relatedTag + Horizontally-oriented + + + + + + Physical-value + The value of some physical property of something. + + Weight + The relative mass or the quantity of matter contained by something. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + weightUnits + + + + + Temperature + A measure of hot or cold based on the average kinetic energy of the atoms or molecules in the system. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + temperatureUnits + + + + + + Quantitative-value + Something capable of being estimated or expressed with numeric values. + + Fraction + A numerical value between 0 and 1. + + # + + takesValue + + + valueClass + numericClass + + + + + Item-count + The integer count of something which is usually grouped with the entity it is counting. (Item-count/3, A) indicates that 3 of A have occurred up to this point. + + # + + takesValue + + + valueClass + numericClass + + + + + Item-index + The index of an item in a collection, sequence or other structure. (A (Item-index/3, B)) means that A is item number 3 in B. + + # + + takesValue + + + valueClass + numericClass + + + + + Item-interval + An integer indicating how many items or entities have passed since the last one of these. An item interval of 0 indicates the current item. + + # + + takesValue + + + valueClass + numericClass + + + + + Percentage + A fraction or ratio with 100 understood as the denominator. + + # + + takesValue + + + valueClass + numericClass + + + + + Ratio + A quotient of quantities of the same kind for different components within the same system. + + # + + takesValue + + + valueClass + numericClass + + + + + + Statistical-value + A value based on or employing the principles of statistics. + + extensionAllowed + + + Data-maximum + The largest possible quantity or degree. + + # + + takesValue + + + valueClass + numericClass + + + + + Data-mean + The sum of a set of values divided by the number of values in the set. + + # + + takesValue + + + valueClass + numericClass + + + + + Data-median + The value which has an equal number of values greater and less than it. + + # + + takesValue + + + valueClass + numericClass + + + + + Data-minimum + The smallest possible quantity. + + # + + takesValue + + + valueClass + numericClass + + + + + Probability + A measure of the expectation of the occurrence of a particular event. + + # + + takesValue + + + valueClass + numericClass + + + + + Standard-deviation + A measure of the range of values in a set of numbers. Standard deviation is a statistic used as a measure of the dispersion or variation in a distribution, equal to the square root of the arithmetic mean of the squares of the deviations from the arithmetic mean. + + # + + takesValue + + + valueClass + numericClass + + + + + Statistical-accuracy + A measure of closeness to true value expressed as a number between 0 and 1. + + # + + takesValue + + + valueClass + numericClass + + + + + Statistical-precision + A quantitative representation of the degree of accuracy necessary for or associated with a particular action. + + # + + takesValue + + + valueClass + numericClass + + + + + Statistical-recall + Sensitivity is a measurement datum qualifying a binary classification test and is computed by substracting the false negative rate to the integral numeral 1. + + # + + takesValue + + + valueClass + numericClass + + + + + Statistical-uncertainty + A measure of the inherent variability of repeated observation measurements of a quantity including quantities evaluated by statistical methods and by other means. + + # + + takesValue + + + valueClass + numericClass + + + + + + Spatiotemporal-value + A property relating to space and/or time. + + Rate-of-change + The amount of change accumulated per unit time. + + Acceleration + Magnitude of the rate of change in either speed or direction. The direction of change should be given separately. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + accelerationUnits + + + + + Frequency + Frequency is the number of occurrences of a repeating event per unit time. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + frequencyUnits + + + + + Jerk-rate + Magnitude of the rate at which the acceleration of an object changes with respect to time. The direction of change should be given separately. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + jerkUnits + + + + + Sampling-rate + The number of digital samples taken or recorded per unit of time. + + # + + takesValue + + + unitClass + frequencyUnits + + + + + Refresh-rate + The frequency with which the image on a computer monitor or similar electronic display screen is refreshed, usually expressed in hertz. + + # + + takesValue + + + valueClass + numericClass + + + + + Speed + A scalar measure of the rate of movement of the object expressed either as the distance travelled divided by the time taken (average speed) or the rate of change of position with respect to time at a particular point (instantaneous speed). The direction of change should be given separately. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + speedUnits + + + + + Temporal-rate + The number of items per unit of time. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + frequencyUnits + + + + + + Spatial-value + Value of an item involving space. + + Angle + The amount of inclination of one line to another or the plane of one object to another. + + # + + takesValue + + + unitClass + angleUnits + + + valueClass + numericClass + + + + + Distance + A measure of the space separating two objects or points. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Position + A reference to the alignment of an object, a particular situation or view of a situation, or the location of an object. Coordinates with respect a specified frame of reference or the default Screen-frame if no frame is given. + + X-position + The position along the x-axis of the frame of reference. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Y-position + The position along the y-axis of the frame of reference. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Z-position + The position along the z-axis of the frame of reference. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + + Size + The physical magnitude of something. + + Area + The extent of a 2-dimensional surface enclosed within a boundary. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + areaUnits + + + + + Depth + The distance from the surface of something especially from the perspective of looking from the front. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Length + The linear extent in space from one end of something to the other end, or the extent of something from beginning to end. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Width + The extent or measurement of something from side to side. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Height + The vertical measurement or distance from the base to the top of an object. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + physicalLengthUnits + + + + + Volume + The amount of three dimensional space occupied by an object or the capacity of a space or container. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + volumeUnits + + + + + + + Temporal-value + A characteristic of or relating to time or limited by time. + + Delay + The time at which an event start time is delayed from the current onset time. This tag defines the start time of an event of temporal extent and may be used with the Duration tag. + + topLevelTagGroup + + + reserved + + + relatedTag + Duration + + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + Duration + The period of time during which an event occurs. This tag defines the end time of an event of temporal extent and may be used with the Delay tag. + + topLevelTagGroup + + + reserved + + + relatedTag + Delay + + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + Time-interval + The period of time separating two instances, events, or occurrences. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + Time-value + A value with units of time. Usually grouped with tags identifying what the value represents. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + + + + Data-variability-attribute + An attribute describing how something changes or varies. + + Abrupt + Marked by sudden change. + + + Constant + Continually recurring or continuing without interruption. Not changing in time or space. + + + Continuous + Uninterrupted in time, sequence, substance, or extent. + + relatedTag + Discrete + Discontinuous + + + + Decreasing + Becoming smaller or fewer in size, amount, intensity, or degree. + + relatedTag + Increasing + + + + Deterministic + No randomness is involved in the development of the future states of the element. + + relatedTag + Random + Stochastic + + + + Discontinuous + Having a gap in time, sequence, substance, or extent. + + relatedTag + Continuous + + + + Discrete + Constituting a separate entities or parts. + + relatedTag + Continuous + Discontinuous + + + + Flickering + Moving irregularly or unsteadily or burning or shining fitfully or with a fluctuating light. + + + Estimated-value + Something that has been calculated or measured approximately. + + + Exact-value + A value that is viewed to the true value according to some standard. + + + Fractal + Having extremely irregular curves or shapes for which any suitably chosen part is similar in shape to a given larger or smaller part when magnified or reduced to the same size. + + + Increasing + Becoming greater in size, amount, or degree. + + relatedTag + Decreasing + + + + Random + Governed by or depending on chance. Lacking any definite plan or order or purpose. + + relatedTag + Deterministic + Stochastic + + + + Repetitive + A recurring action that is often non-purposeful. + + + Stochastic + Uses a random probability distribution or pattern that may be analysed statistically but may not be predicted precisely to determine future states. + + relatedTag + Deterministic + Random + + + + Varying + Differing in size, amount, degree, or nature. + + + + + Environmental-property + Relating to or arising from the surroundings of an agent. + + Indoors + Located inside a building or enclosure. + + + Outdoors + Any area outside a building or shelter. + + + Real-world + Located in a place that exists in real space and time under realistic conditions. + + + Virtual-world + Using technology that creates immersive, computer-generated experiences that a person can interact with and navigate through. The digital content is generally delivered to the user through some type of headset and responds to changes in head position or through interaction with other types of sensors. Existing in a virtual setting such as a simulation or game environment. + + + Augmented-reality + Using technology that enhances real-world experiences with computer-derived digital overlays to change some aspects of perception of the natural environment. The digital content is shown to the user through a smart device or glasses and responds to changes in the environment. + + + Motion-platform + A mechanism that creates the feelings of being in a real motion environment. + + + Urban + Relating to, located in, or characteristic of a city or densely populated area. + + + Rural + Of or pertaining to the country as opposed to the city. + + + Terrain + Characterization of the physical features of a tract of land. + + Composite-terrain + Tracts of land characterized by a mixure of physical features. + + + Dirt-terrain + Tracts of land characterized by a soil surface and lack of vegetation. + + + Grassy-terrain + Tracts of land covered by grass. + + + Gravel-terrain + Tracts of land covered by a surface consisting a loose aggregation of small water-worn or pounded stones. + + + Leaf-covered-terrain + Tracts of land covered by leaves and composited organic material. + + + Muddy-terrain + Tracts of land covered by a liquid or semi-liquid mixture of water and some combination of soil, silt, and clay. + + + Paved-terrain + Tracts of land covered with concrete, asphalt, stones, or bricks. + + + Rocky-terrain + Tracts of land consisting or full of rock or rocks. + + + Sloped-terrain + Tracts of land arranged in a sloping or inclined position. + + + Uneven-terrain + Tracts of land that are not level, smooth, or regular. + + + + + Informational-property + Something that pertains to a task. + + extensionAllowed + + + Description + An explanation of what the tag group it is in means. If the description is at the top-level of an event string, the description applies to the event. + + requireChild + + + # + + takesValue + + + valueClass + textClass + + + + + ID + An alphanumeric name that identifies either a unique object or a unique class of objects. Here the object or class may be an idea, physical countable object (or class), or physical uncountable substance (or class). + + requireChild + + + # + + takesValue + + + valueClass + textClass + + + + + Label + A string of 20 or fewer characters identifying something. Labels usually refer to general classes of things while IDs refer to specific instances. A term that is associated with some entity. A brief description given for purposes of identification. An identifying or descriptive marker that is attached to an object. + + requireChild + + + # + + takesValue + + + valueClass + nameClass + + + + + Metadata + Data about data. Information that describes another set of data. + + CogAtlas + The Cognitive Atlas ID number of something. + + # + + takesValue + + + + + CogPo + The CogPO ID number of something. + + # + + takesValue + + + + + Creation-date + The date on which data creation of this element began. + + requireChild + + + # + + takesValue + + + valueClass + dateTimeClass + + + + + Experimental-note + A brief written record about the experiment. + + # + + takesValue + + + valueClass + textClass + + + + + Library-name + Official name of a HED library. + + # + + takesValue + + + valueClass + nameClass + + + + + OBO-identifier + The identifier of a term in some Open Biology Ontology (OBO) ontology. + + # + + takesValue + + + valueClass + nameClass + + + + + Pathname + The specification of a node (file or directory) in a hierarchical file system, usually specified by listing the nodes top-down. + + # + + takesValue + + + + + Subject-identifier + A sequence of characters used to identify, name, or characterize a trial or study subject. + + # + + takesValue + + + + + Version-identifier + An alphanumeric character string that identifies a form or variant of a type or original. + + # + Usually is a semantic version. + + takesValue + + + + + + Parameter + Something user-defined for this experiment. + + Parameter-label + The name of the parameter. + + # + + takesValue + + + valueClass + nameClass + + + + + Parameter-value + The value of the parameter. + + # + + takesValue + + + valueClass + textClass + + + + + + + Organizational-property + Relating to an organization or the action of organizing something. + + Collection + A tag designating a grouping of items such as in a set or list. + + # + Name of the collection. + + takesValue + + + valueClass + nameClass + + + + + Condition-variable + An aspect of the experiment or task that is to be varied during the experiment. Task-conditions are sometimes called independent variables or contrasts. + + # + Name of the condition variable. + + takesValue + + + valueClass + nameClass + + + + + Control-variable + An aspect of the experiment that is fixed throughout the study and usually is explicitly controlled. + + # + Name of the control variable. + + takesValue + + + valueClass + nameClass + + + + + Def + A HED-specific utility tag used with a defined name to represent the tags associated with that definition. + + requireChild + + + reserved + + + # + Name of the definition. + + takesValue + + + valueClass + nameClass + + + + + Def-expand + A HED specific utility tag that is grouped with an expanded definition. The child value of the Def-expand is the name of the expanded definition. + + requireChild + + + reserved + + + tagGroup + + + # + + takesValue + + + valueClass + nameClass + + + + + Definition + A HED-specific utility tag whose child value is the name of the concept and the tag group associated with the tag is an English language explanation of a concept. + + requireChild + + + reserved + + + topLevelTagGroup + + + # + Name of the definition. + + takesValue + + + valueClass + nameClass + + + + + Event-context + A special HED tag inserted as part of a top-level tag group to contain information about the interrelated conditions under which the event occurs. The event context includes information about other events that are ongoing when this event happens. + + reserved + + + topLevelTagGroup + + + unique + + + + Event-stream + A special HED tag indicating that this event is a member of an ordered succession of events. + + # + Name of the event stream. + + takesValue + + + valueClass + nameClass + + + + + Experimental-intertrial + A tag used to indicate a part of the experiment between trials usually where nothing is happening. + + # + Optional label for the intertrial block. + + takesValue + + + valueClass + nameClass + + + + + Experimental-trial + Designates a run or execution of an activity, for example, one execution of a script. A tag used to indicate a particular organizational part in the experimental design often containing a stimulus-response pair or stimulus-response-feedback triad. + + # + Optional label for the trial (often a numerical string). + + takesValue + + + valueClass + nameClass + + + + + Indicator-variable + An aspect of the experiment or task that is measured as task conditions are varied during the experiment. Experiment indicators are sometimes called dependent variables. + + # + Name of the indicator variable. + + takesValue + + + valueClass + nameClass + + + + + Recording + A tag designating the data recording. Recording tags are usually have temporal scope which is the entire recording. + + # + Optional label for the recording. + + takesValue + + + valueClass + nameClass + + + + + Task + An assigned piece of work, usually with a time allotment. A tag used to indicate a linkage the structured activities performed as part of the experiment. + + # + Optional label for the task block. + + takesValue + + + valueClass + nameClass + + + + + Time-block + A tag used to indicate a contiguous time block in the experiment during which something is fixed or noted. + + # + Optional label for the task block. + + takesValue + + + valueClass + nameClass + + + + + + Sensory-property + Relating to sensation or the physical senses. + + Sensory-attribute + A sensory characteristic associated with another entity. + + Auditory-attribute + Pertaining to the sense of hearing. + + Loudness + Perceived intensity of a sound. + + # + + takesValue + + + valueClass + numericClass + nameClass + + + + + Pitch + A perceptual property that allows the user to order sounds on a frequency scale. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + frequencyUnits + + + + + Sound-envelope + Description of how a sound changes over time. + + Sound-envelope-attack + The time taken for initial run-up of level from nil to peak usually beginning when the key on a musical instrument is pressed. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + Sound-envelope-decay + The time taken for the subsequent run down from the attack level to the designated sustain level. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + Sound-envelope-release + The time taken for the level to decay from the sustain level to zero after the key is released. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + Sound-envelope-sustain + The time taken for the main sequence of the sound duration, until the key is released. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + timeUnits + + + + + + Timbre + The perceived sound quality of a singing voice or musical instrument. + + # + + takesValue + + + valueClass + nameClass + + + + + Sound-volume + The sound pressure level (SPL) usually the ratio to a reference signal estimated as the lower bound of hearing. + + # + + takesValue + + + valueClass + numericClass + + + unitClass + intensityUnits + + + + + + Gustatory-attribute + Pertaining to the sense of taste. + + Bitter + Having a sharp, pungent taste. + + + Salty + Tasting of or like salt. + + + Savory + Belonging to a taste that is salty or spicy rather than sweet. + + + Sour + Having a sharp, acidic taste. + + + Sweet + Having or resembling the taste of sugar. + + + + Olfactory-attribute + Having a smell. + + + Somatic-attribute + Pertaining to the feelings in the body or of the nervous system. + + Pain + The sensation of discomfort, distress, or agony, resulting from the stimulation of specialized nerve endings. + + + Stress + The negative mental, emotional, and physical reactions that occur when environmental stressors are perceived as exceeding the adaptive capacities of the individual. + + + + Tactile-attribute + Pertaining to the sense of touch. + + Tactile-pressure + Having a feeling of heaviness. + + + Tactile-temperature + Having a feeling of hotness or coldness. + + + Tactile-texture + Having a feeling of roughness. + + + Tactile-vibration + Having a feeling of mechanical oscillation. + + + + Vestibular-attribute + Pertaining to the sense of balance or body position. + + + Visual-attribute + Pertaining to the sense of sight. + + Color + The appearance of objects (or light sources) described in terms of perception of their hue and lightness (or brightness) and saturation. + + CSS-color + One of 140 colors supported by all browsers. For more details such as the color RGB or HEX values, check: https://www.w3schools.com/colors/colors_groups.asp. + + Blue-color + CSS color group. + + CadetBlue + CSS-color 0x5F9EA0. + + + SteelBlue + CSS-color 0x4682B4. + + + LightSteelBlue + CSS-color 0xB0C4DE. + + + LightBlue + CSS-color 0xADD8E6. + + + PowderBlue + CSS-color 0xB0E0E6. + + + LightSkyBlue + CSS-color 0x87CEFA. + + + SkyBlue + CSS-color 0x87CEEB. + + + CornflowerBlue + CSS-color 0x6495ED. + + + DeepSkyBlue + CSS-color 0x00BFFF. + + + DodgerBlue + CSS-color 0x1E90FF. + + + RoyalBlue + CSS-color 0x4169E1. + + + Blue + CSS-color 0x0000FF. + + + MediumBlue + CSS-color 0x0000CD. + + + DarkBlue + CSS-color 0x00008B. + + + Navy + CSS-color 0x000080. + + + MidnightBlue + CSS-color 0x191970. + + + + Brown-color + CSS color group. + + Cornsilk + CSS-color 0xFFF8DC. + + + BlanchedAlmond + CSS-color 0xFFEBCD. + + + Bisque + CSS-color 0xFFE4C4. + + + NavajoWhite + CSS-color 0xFFDEAD. + + + Wheat + CSS-color 0xF5DEB3. + + + BurlyWood + CSS-color 0xDEB887. + + + Tan + CSS-color 0xD2B48C. + + + RosyBrown + CSS-color 0xBC8F8F. + + + SandyBrown + CSS-color 0xF4A460. + + + GoldenRod + CSS-color 0xDAA520. + + + DarkGoldenRod + CSS-color 0xB8860B. + + + Peru + CSS-color 0xCD853F. + + + Chocolate + CSS-color 0xD2691E. + + + Olive + CSS-color 0x808000. + + + SaddleBrown + CSS-color 0x8B4513. + + + Sienna + CSS-color 0xA0522D. + + + Brown + CSS-color 0xA52A2A. + + + Maroon + CSS-color 0x800000. + + + + Cyan-color + CSS color group. + + Aqua + CSS-color 0x00FFFF. + + + Cyan + CSS-color 0x00FFFF. + + + LightCyan + CSS-color 0xE0FFFF. + + + PaleTurquoise + CSS-color 0xAFEEEE. + + + Aquamarine + CSS-color 0x7FFFD4. + + + Turquoise + CSS-color 0x40E0D0. + + + MediumTurquoise + CSS-color 0x48D1CC. + + + DarkTurquoise + CSS-color 0x00CED1. + + + + Green-color + CSS color group. + + GreenYellow + CSS-color 0xADFF2F. + + + Chartreuse + CSS-color 0x7FFF00. + + + LawnGreen + CSS-color 0x7CFC00. + + + Lime + CSS-color 0x00FF00. + + + LimeGreen + CSS-color 0x32CD32. + + + PaleGreen + CSS-color 0x98FB98. + + + LightGreen + CSS-color 0x90EE90. + + + MediumSpringGreen + CSS-color 0x00FA9A. + + + SpringGreen + CSS-color 0x00FF7F. + + + MediumSeaGreen + CSS-color 0x3CB371. + + + SeaGreen + CSS-color 0x2E8B57. + + + ForestGreen + CSS-color 0x228B22. + + + Green + CSS-color 0x008000. + + + DarkGreen + CSS-color 0x006400. + + + YellowGreen + CSS-color 0x9ACD32. + + + OliveDrab + CSS-color 0x6B8E23. + + + DarkOliveGreen + CSS-color 0x556B2F. + + + MediumAquaMarine + CSS-color 0x66CDAA. + + + DarkSeaGreen + CSS-color 0x8FBC8F. + + + LightSeaGreen + CSS-color 0x20B2AA. + + + DarkCyan + CSS-color 0x008B8B. + + + Teal + CSS-color 0x008080. + + + + Gray-color + CSS color group. + + Gainsboro + CSS-color 0xDCDCDC. + + + LightGray + CSS-color 0xD3D3D3. + + + Silver + CSS-color 0xC0C0C0. + + + DarkGray + CSS-color 0xA9A9A9. + + + DimGray + CSS-color 0x696969. + + + Gray + CSS-color 0x808080. + + + LightSlateGray + CSS-color 0x778899. + + + SlateGray + CSS-color 0x708090. + + + DarkSlateGray + CSS-color 0x2F4F4F. + + + Black + CSS-color 0x000000. + + + + Orange-color + CSS color group. + + Orange + CSS-color 0xFFA500. + + + DarkOrange + CSS-color 0xFF8C00. + + + Coral + CSS-color 0xFF7F50. + + + Tomato + CSS-color 0xFF6347. + + + OrangeRed + CSS-color 0xFF4500. + + + + Pink-color + CSS color group. + + Pink + CSS-color 0xFFC0CB. + + + LightPink + CSS-color 0xFFB6C1. + + + HotPink + CSS-color 0xFF69B4. + + + DeepPink + CSS-color 0xFF1493. + + + PaleVioletRed + CSS-color 0xDB7093. + + + MediumVioletRed + CSS-color 0xC71585. + + + + Purple-color + CSS color group. + + Lavender + CSS-color 0xE6E6FA. + + + Thistle + CSS-color 0xD8BFD8. + + + Plum + CSS-color 0xDDA0DD. + + + Orchid + CSS-color 0xDA70D6. + + + Violet + CSS-color 0xEE82EE. + + + Fuchsia + CSS-color 0xFF00FF. + + + Magenta + CSS-color 0xFF00FF. + + + MediumOrchid + CSS-color 0xBA55D3. + + + DarkOrchid + CSS-color 0x9932CC. + + + DarkViolet + CSS-color 0x9400D3. + + + BlueViolet + CSS-color 0x8A2BE2. + + + DarkMagenta + CSS-color 0x8B008B. + + + Purple + CSS-color 0x800080. + + + MediumPurple + CSS-color 0x9370DB. + + + MediumSlateBlue + CSS-color 0x7B68EE. + + + SlateBlue + CSS-color 0x6A5ACD. + + + DarkSlateBlue + CSS-color 0x483D8B. + + + RebeccaPurple + CSS-color 0x663399. + + + Indigo + CSS-color 0x4B0082. + + + + Red-color + CSS color group. + + LightSalmon + CSS-color 0xFFA07A. + + + Salmon + CSS-color 0xFA8072. + + + DarkSalmon + CSS-color 0xE9967A. + + + LightCoral + CSS-color 0xF08080. + + + IndianRed + CSS-color 0xCD5C5C. + + + Crimson + CSS-color 0xDC143C. + + + Red + CSS-color 0xFF0000. + + + FireBrick + CSS-color 0xB22222. + + + DarkRed + CSS-color 0x8B0000. + + + + Yellow-color + CSS color group. + + Gold + CSS-color 0xFFD700. + + + Yellow + CSS-color 0xFFFF00. + + + LightYellow + CSS-color 0xFFFFE0. + + + LemonChiffon + CSS-color 0xFFFACD. + + + LightGoldenRodYellow + CSS-color 0xFAFAD2. + + + PapayaWhip + CSS-color 0xFFEFD5. + + + Moccasin + CSS-color 0xFFE4B5. + + + PeachPuff + CSS-color 0xFFDAB9. + + + PaleGoldenRod + CSS-color 0xEEE8AA. + + + Khaki + CSS-color 0xF0E68C. + + + DarkKhaki + CSS-color 0xBDB76B. + + + + White-color + CSS color group. + + White + CSS-color 0xFFFFFF. + + + Snow + CSS-color 0xFFFAFA. + + + HoneyDew + CSS-color 0xF0FFF0. + + + MintCream + CSS-color 0xF5FFFA. + + + Azure + CSS-color 0xF0FFFF. + + + AliceBlue + CSS-color 0xF0F8FF. + + + GhostWhite + CSS-color 0xF8F8FF. + + + WhiteSmoke + CSS-color 0xF5F5F5. + + + SeaShell + CSS-color 0xFFF5EE. + + + Beige + CSS-color 0xF5F5DC. + + + OldLace + CSS-color 0xFDF5E6. + + + FloralWhite + CSS-color 0xFFFAF0. + + + Ivory + CSS-color 0xFFFFF0. + + + AntiqueWhite + CSS-color 0xFAEBD7. + + + Linen + CSS-color 0xFAF0E6. + + + LavenderBlush + CSS-color 0xFFF0F5. + + + MistyRose + CSS-color 0xFFE4E1. + + + + + Color-shade + A slight degree of difference between colors, especially with regard to how light or dark it is or as distinguished from one nearly like it. + + Dark-shade + A color tone not reflecting much light. + + + Light-shade + A color tone reflecting more light. + + + + Grayscale + Using a color map composed of shades of gray, varying from black at the weakest intensity to white at the strongest. + + # + White intensity between 0 and 1. + + takesValue + + + valueClass + numericClass + + + + + HSV-color + A color representation that models how colors appear under light. + + Hue + Attribute of a visual sensation according to which an area appears to be similar to one of the perceived colors. + + # + Angular value between 0 and 360. + + takesValue + + + valueClass + numericClass + + + + + Saturation + Colorfulness of a stimulus relative to its own brightness. + + # + B value of RGB between 0 and 1. + + takesValue + + + valueClass + numericClass + + + + + HSV-value + An attribute of a visual sensation according to which an area appears to emit more or less light. + + # + + takesValue + + + valueClass + numericClass + + + + + + RGB-color + A color from the RGB schema. + + RGB-red + The red component. + + # + R value of RGB between 0 and 1. + + takesValue + + + valueClass + numericClass + + + + + RGB-blue + The blue component. + + # + B value of RGB between 0 and 1. + + takesValue + + + valueClass + numericClass + + + + + RGB-green + The green component. + + # + G value of RGB between 0 and 1. + + takesValue + + + valueClass + numericClass + + + + + + + Luminance + A quality that exists by virtue of the luminous intensity per unit area projected in a given direction. + + + Opacity + A measure of impenetrability to light. + + + + + Sensory-presentation + The entity has a sensory manifestation. + + Auditory-presentation + The sense of hearing is used in the presentation to the user. + + Loudspeaker-separation + The distance between two loudspeakers. Grouped with the Distance tag. + + suggestedTag + Distance + + + + Monophonic + Relating to sound transmission, recording, or reproduction involving a single transmission path. + + + Silent + The absence of ambient audible sound or the state of having ceased to produce sounds. + + + Stereophonic + Relating to, or constituting sound reproduction involving the use of separated microphones and two transmission channels to achieve the sound separation of a live hearing. + + + + Gustatory-presentation + The sense of taste used in the presentation to the user. + + + Olfactory-presentation + The sense of smell used in the presentation to the user. + + + Somatic-presentation + The nervous system is used in the presentation to the user. + + + Tactile-presentation + The sense of touch used in the presentation to the user. + + + Vestibular-presentation + The sense balance used in the presentation to the user. + + + Visual-presentation + The sense of sight used in the presentation to the user. + + 2D-view + A view showing only two dimensions. + + + 3D-view + A view showing three dimensions. + + + Background-view + Parts of the view that are farthest from the viewer and usually the not part of the visual focus. + + + Bistable-view + Something having two stable visual forms that have two distinguishable stable forms as in optical illusions. + + + Foreground-view + Parts of the view that are closest to the viewer and usually the most important part of the visual focus. + + + Foveal-view + Visual presentation directly on the fovea. A view projected on the small depression in the retina containing only cones and where vision is most acute. + + + Map-view + A diagrammatic representation of an area of land or sea showing physical features, cities, roads. + + Aerial-view + Elevated view of an object from above, with a perspective as though the observer were a bird. + + + Satellite-view + A representation as captured by technology such as a satellite. + + + Street-view + A 360-degrees panoramic view from a position on the ground. + + + + Peripheral-view + Indirect vision as it occurs outside the point of fixation. + + + + + + Task-property + Something that pertains to a task. + + extensionAllowed + + + Task-attentional-demand + Strategy for allocating attention toward goal-relevant information. + + Bottom-up-attention + Attentional guidance purely by externally driven factors to stimuli that are salient because of their inherent properties relative to the background. Sometimes this is referred to as stimulus driven. + + relatedTag + Top-down-attention + + + + Covert-attention + Paying attention without moving the eyes. + + relatedTag + Overt-attention + + + + Divided-attention + Integrating parallel multiple stimuli. Behavior involving responding simultaneously to multiple tasks or multiple task demands. + + relatedTag + Focused-attention + + + + Focused-attention + Responding discretely to specific visual, auditory, or tactile stimuli. + + relatedTag + Divided-attention + + + + Orienting-attention + Directing attention to a target stimulus. + + + Overt-attention + Selectively processing one location over others by moving the eyes to point at that location. + + relatedTag + Covert-attention + + + + Selective-attention + Maintaining a behavioral or cognitive set in the face of distracting or competing stimuli. Ability to pay attention to a limited array of all available sensory information. + + + Sustained-attention + Maintaining a consistent behavioral response during continuous and repetitive activity. + + + Switched-attention + Having to switch attention between two or more modalities of presentation. + + + Top-down-attention + Voluntary allocation of attention to certain features. Sometimes this is referred to goal-oriented attention. + + relatedTag + Bottom-up-attention + + + + + Task-effect-evidence + The evidence supporting the conclusion that the event had the specified effect. + + Computational-evidence + A type of evidence in which data are produced, and/or generated, and/or analyzed on a computer. + + + External-evidence + A phenomenon that follows and is caused by some previous phenomenon. + + + Intended-effect + A phenomenon that is intended to follow and be caused by some previous phenomenon. + + + Behavioral-evidence + An indication or conclusion based on the behavior of an agent. + + + + Task-event-role + The purpose of an event with respect to the task. + + Experimental-stimulus + Part of something designed to elicit a response in the experiment. + + + Incidental + A sensory or other type of event that is unrelated to the task or experiment. + + + Instructional + Usually associated with a sensory event intended to give instructions to the participant about the task or behavior. + + + Mishap + Unplanned disruption such as an equipment or experiment control abnormality or experimenter error. + + + Participant-response + Something related to a participant actions in performing the task. + + + Task-activity + Something that is part of the overall task or is necessary to the overall experiment but is not directly part of a stimulus-response cycle. Examples would be taking a survey or provided providing a silva sample. + + + Warning + Something that should warn the participant that the parameters of the task have been or are about to be exceeded such as a warning message about getting too close to the shoulder of the road in a driving task. + + + + Task-action-type + How an agent action should be interpreted in terms of the task specification. + + Appropriate-action + An action suitable or proper in the circumstances. + + relatedTag + Inappropriate-action + + + + Correct-action + An action that was a correct response in the context of the task. + + relatedTag + Incorrect-action + Indeterminate-action + + + + Correction + An action offering an improvement to replace a mistake or error. + + + Done-indication + An action that indicates that the participant has completed this step in the task. + + relatedTag + Ready-indication + + + + Incorrect-action + An action considered wrong or incorrect in the context of the task. + + relatedTag + Correct-action + Indeterminate-action + + + + Imagined-action + Form a mental image or concept of something. This is used to identity something that only happened in the imagination of the participant as in imagined movements in motor imagery paradigms. + + + Inappropriate-action + An action not in keeping with what is correct or proper for the task. + + relatedTag + Appropriate-action + + + + Indeterminate-action + An action that cannot be distinguished between two or more possibibities in the current context. This tag might be applied when an outside evaluator or a classification algorithm cannot determine a definitive result. + + relatedTag + Correct-action + Incorrect-action + Miss + Near-miss + + + + Omitted-action + An expected response was skipped. + + + Miss + An action considered to be a failure in the context of the task. For example, if the agent is supposed to try to hit a target and misses. + + relatedTag + Near-miss + + + + Near-miss + An action barely satisfied the requirements of the task. In a driving experiment for example this could pertain to a narrowly avoided collision or other accident. + + relatedTag + Miss + + + + Ready-indication + An action that indicates that the participant is ready to perform the next step in the task. + + relatedTag + Done-indication + + + + + Task-relationship + Specifying organizational importance of sub-tasks. + + Background-subtask + A part of the task which should be performed in the background as for example inhibiting blinks due to instruction while performing the primary task. + + + Primary-subtask + A part of the task which should be the primary focus of the participant. + + + + Task-stimulus-role + The role the stimulus plays in the task. + + Cue + A signal for an action, a pattern of stimuli indicating a particular response. + + + Distractor + A person or thing that distracts or a plausible but incorrect option in a multiple-choice question. In pyschological studies this is sometimes referred to as a foil. + + + Expected + Considered likely, probable or anticipated. Something of low information value as in frequent non-targets in an RSVP paradigm. + + relatedTag + Unexpected + + + suggestedTag + Target + + + + Extraneous + Irrelevant or unrelated to the subject being dealt with. + + + Feedback + An evaluative response to an inquiry, process, event, or activity. + + + Go-signal + An indicator to proceed with a planned action. + + relatedTag + Stop-signal + + + + Meaningful + Conveying significant or relevant information. + + + Newly-learned + Representing recently acquired information or understanding. + + + Non-informative + Something that is not useful in forming an opinion or judging an outcome. + + + Non-target + Something other than that done or looked for. Also tag Expected if the Non-target is frequent. + + relatedTag + Target + + + + Not-meaningful + Not having a serious, important, or useful quality or purpose. + + + Novel + Having no previous example or precedent or parallel. + + + Oddball + Something unusual, or infrequent. + + relatedTag + Unexpected + + + suggestedTag + Target + + + + Planned + Something that was decided on or arranged in advance. + + relatedTag + Unplanned + + + + Penalty + A disadvantage, loss, or hardship due to some action. + + + Priming + An implicit memory effect in which exposure to a stimulus influences response to a later stimulus. + + + Query + A sentence of inquiry that asks for a reply. + + + Reward + A positive reinforcement for a desired action, behavior or response. + + + Stop-signal + An indicator that the agent should stop the current activity. + + relatedTag + Go-signal + + + + Target + Something fixed as a goal, destination, or point of examination. + + + Threat + An indicator that signifies hostility and predicts an increased probability of attack. + + + Timed + Something planned or scheduled to be done at a particular time or lasting for a specified amount of time. + + + Unexpected + Something that is not anticipated. + + relatedTag + Expected + + + + Unplanned + Something that has not been planned as part of the task. + + relatedTag + Planned + + + + + + + Relation + Concerns the way in which two or more people or things are connected. + + extensionAllowed + + + Comparative-relation + Something considered in comparison to something else. The first entity is the focus. + + Approximately-equal-to + (A, (Approximately-equal-to, B)) indicates that A and B have almost the same value. Here A and B could refer to sizes, orders, positions or other quantities. + + + Less-than + (A, (Less-than, B)) indicates that A is smaller than B. Here A and B could refer to sizes, orders, positions or other quantities. + + + Less-than-or-equal-to + (A, (Less-than-or-equal-to, B)) indicates that the relative size or order of A is smaller than or equal to B. + + + Greater-than + (A, (Greater-than, B)) indicates that the relative size or order of A is bigger than that of B. + + + Greater-than-or-equal-to + (A, (Greater-than-or-equal-to, B)) indicates that the relative size or order of A is bigger than or the same as that of B. + + + Equal-to + (A, (Equal-to, B)) indicates that the size or order of A is the same as that of B. + + + Not-equal-to + (A, (Not-equal-to, B)) indicates that the size or order of A is not the same as that of B. + + + + Connective-relation + Indicates two entities are related in some way. The first entity is the focus. + + Belongs-to + (A, (Belongs-to, B)) indicates that A is a member of B. + + + Connected-to + (A, (Connected-to, B)) indicates that A is related to B in some respect, usually through a direct link. + + + Contained-in + (A, (Contained-in, B)) indicates that A is completely inside of B. + + + Described-by + (A, (Described-by, B)) indicates that B provides information about A. + + + From-to + (A, (From-to, B)) indicates a directional relation from A to B. A is considered the source. + + + Group-of + (A, (Group-of, B)) indicates A is a group of items of type B. + + + Implied-by + (A, (Implied-by, B)) indicates B is suggested by A. + + + Includes + (A, (Includes, B)) indicates that A has B as a member or part. + + + Interacts-with + (A, (Interacts-with, B)) indicates A and B interact, possibly reciprocally. + + + Member-of + (A, (Member-of, B)) indicates A is a member of group B. + + + Part-of + (A, (Part-of, B)) indicates A is a part of the whole B. + + + Performed-by + (A, (Performed-by, B)) indicates that the action or procedure A was carried out by agent B. + + + Performed-using + (A, (Performed-using, B)) indicates that the action or procedure A was accomplished using B. + + + Related-to + (A, (Related-to, B)) indicates A has some relationship to B. + + + Unrelated-to + (A, (Unrelated-to, B)) indicates that A is not related to B. For example, A is not related to Task. + + + + Directional-relation + A relationship indicating direction of change of one entity relative to another. The first entity is the focus. + + Away-from + (A, (Away-from, B)) indicates that A is going or has moved away from B. The meaning depends on A and B. + + + Towards + (A, (Towards, B)) indicates that A is going to or has moved to B. The meaning depends on A and B. + + + + Logical-relation + Indicating a logical relationship between entities. The first entity is usually the focus. + + And + (A, (And, B)) means A and B are both in effect. + + + Or + (A, (Or, B)) means at least one of A and B are in effect. + + + + Spatial-relation + Indicating a relationship about position between entities. + + Above + (A, (Above, B)) means A is in a place or position that is higher than B. + + + Across-from + (A, (Across-from, B)) means A is on the opposite side of something from B. + + + Adjacent-to + (A, (Adjacent-to, B)) indicates that A is next to B in time or space. + + + Ahead-of + (A, (Ahead-of, B)) indicates that A is further forward in time or space in B. + + + Around + (A, (Around, B)) means A is in or near the present place or situation of B. + + + Behind + (A, (Behind, B)) means A is at or to the far side of B, typically so as to be hidden by it. + + + Below + (A, (Below, B)) means A is in a place or position that is lower than the position of B. + + + Between + (A, (Between, (B, C))) means A is in the space or interval separating B and C. + + + Bilateral-to + (A, (Bilateral, B)) means A is on both sides of B or affects both sides of B. + + + Bottom-edge-of + (A, (Bottom-edge-of, B)) means A is on the bottom most part or or near the boundary of B. + + relatedTag + Left-edge-of + Right-edge-of + Top-edge-of + + + + Boundary-of + (A, (Boundary-of, B)) means A is on or part of the edge or boundary of B. + + + Center-of + (A, (Center-of, B)) means A is at a point or or in an area that is approximately central within B. + + + Close-to + (A, (Close-to, B)) means A is at a small distance from or is located near in space to B. + + + Far-from + (A, (Far-from, B)) means A is at a large distance from or is not located near in space to B. + + + In-front-of + (A, (In-front-of, B)) means A is in a position just ahead or at the front part of B, potentially partially blocking B from view. + + + Left-edge-of + (A, (Left-edge-of, B)) means A is located on the left side of B on or near the boundary of B. + + relatedTag + Bottom-edge-of + Right-edge-of + Top-edge-of + + + + Left-side-of + (A, (Left-side-of, B)) means A is located on the left side of B usually as part of B. + + relatedTag + Right-side-of + + + + Lower-center-of + (A, (Lower-center-of, B)) means A is situated on the lower center part of B (due south). This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-left-of + Lower-right-of + Upper-center-of + Upper-right-of + + + + Lower-left-of + (A, (Lower-left-of, B)) means A is situated on the lower left part of B. This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-center-of + Lower-right-of + Upper-center-of + Upper-left-of + Upper-right-of + + + + Lower-right-of + (A, (Lower-right-of, B)) means A is situated on the lower right part of B. This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-center-of + Lower-left-of + Upper-left-of + Upper-center-of + Upper-left-of + Lower-right-of + + + + Outside-of + (A, (Outside-of, B)) means A is located in the space around but not including B. + + + Over + (A, (Over, B)) means A above is above B so as to cover or protect or A extends over the a general area as from a from a vantage point. + + + Right-edge-of + (A, (Right-edge-of, B)) means A is located on the right side of B on or near the boundary of B. + + relatedTag + Bottom-edge-of + Left-edge-of + Top-edge-of + + + + Right-side-of + (A, (Right-side-of, B)) means A is located on the right side of B usually as part of B. + + relatedTag + Left-side-of + + + + To-left-of + (A, (To-left-of, B)) means A is located on or directed toward the side to the west of B when B is facing north. This term is used when A is not part of B. + + + To-right-of + (A, (To-right-of, B)) means A is located on or directed toward the side to the east of B when B is facing north. This term is used when A is not part of B. + + + Top-edge-of + (A, (Top-edge-of, B)) means A is on the uppermost part or or near the boundary of B. + + relatedTag + Left-edge-of + Right-edge-of + Bottom-edge-of + + + + Top-of + (A, (Top-of, B)) means A is on the uppermost part, side, or surface of B. + + + Upper-center-of + (A, (Upper-center-of, B)) means A is situated on the upper center part of B (due north). This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-center-of + Lower-left-of + Lower-right-of + Upper-center-of + Upper-right-of + + + + Upper-left-of + (A, (Upper-left-of, B)) means A is situated on the upper left part of B. This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-center-of + Lower-left-of + Lower-right-of + Upper-center-of + Upper-right-of + + + + Upper-right-of + (A, (Upper-right-of, B)) means A is situated on the upper right part of B. This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-center-of + Lower-left-of + Upper-left-of + Upper-center-of + Lower-right-of + + + + Underneath + (A, (Underneath, B)) means A is situated directly below and may be concealed by B. + + + Within + (A, (Within, B)) means A is on the inside of or contained in B. + + + + Temporal-relation + A relationship that includes a temporal or time-based component. + + After + (A, (After B)) means A happens at a time subsequent to a reference time related to B. + + + Asynchronous-with + (A, (Asynchronous-with, B)) means A happens at times not occurring at the same time or having the same period or phase as B. + + + Before + (A, (Before B)) means A happens at a time earlier in time or order than B. + + + During + (A, (During, B)) means A happens at some point in a given period of time in which B is ongoing. + + + Synchronous-with + (A, (Synchronous-with, B)) means A happens at occurs at the same time or rate as B. + + + Waiting-for + (A, (Waiting-for, B)) means A pauses for something to happen in B. + + + + + + + accelerationUnits + + defaultUnits + m-per-s^2 + + + m-per-s^2 + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + + angleUnits + + defaultUnits + radian + + + radian + + SIUnit + + + conversionFactor + 1.0 + + + + rad + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + degree + + conversionFactor + 0.0174533 + + + + + areaUnits + + defaultUnits + m^2 + + + m^2 + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + + currencyUnits + Units indicating the worth of something. + + defaultUnits + $ + + + dollar + + conversionFactor + 1.0 + + + + $ + + unitPrefix + + + unitSymbol + + + conversionFactor + 1.0 + + + + euro + + + point + + + + electricPotentialUnits + + defaultUnits + uv + + + v + + SIUnit + + + unitSymbol + + + conversionFactor + 0.000001 + + + + Volt + + SIUnit + + + conversionFactor + 0.000001 + + + + + frequencyUnits + + defaultUnits + Hz + + + hertz + + SIUnit + + + conversionFactor + 1.0 + + + + Hz + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + + intensityUnits + + defaultUnits + dB + + + dB + Intensity expressed as ratio to a threshold. May be used for sound intensity. + + unitSymbol + + + conversionFactor + 1.0 + + + + candela + Units used to express light intensity. + + SIUnit + + + + cd + Units used to express light intensity. + + SIUnit + + + unitSymbol + + + + + jerkUnits + + defaultUnits + m-per-s^3 + + + m-per-s^3 + + unitSymbol + + + conversionFactor + 1.0 + + + + + magneticFieldUnits + Units used to magnetic field intensity. + + defaultUnits + fT + + + tesla + + SIUnit + + + conversionFactor + 10^-15 + + + + T + + SIUnit + + + unitSymbol + + + conversionFactor + 10^-15 + + + + + memorySizeUnits + + defaultUnits + B + + + byte + + SIUnit + + + conversionFactor + 1.0 + + + + B + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + + physicalLengthUnits + + defaultUnits + m + + + foot + + conversionFactor + 0.3048 + + + + inch + + conversionFactor + 0.0254 + + + + meter + + SIUnit + + + conversionFactor + 1.0 + + + + metre + + SIUnit + + + conversionFactor + 1.0 + + + + m + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + mile + + conversionFactor + 1609.34 + + + + + speedUnits + + defaultUnits + m-per-s + + + m-per-s + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + mph + + unitSymbol + + + conversionFactor + 0.44704 + + + + kph + + unitSymbol + + + conversionFactor + 0.277778 + + + + + temperatureUnits + + degree Celsius + + SIUnit + + + conversionFactor + 1.0 + + + + oC + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + + timeUnits + + defaultUnits + s + + + second + + SIUnit + + + conversionFactor + 1.0 + + + + s + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + day + + conversionFactor + 86400 + + + + minute + + conversionFactor + 60 + + + + hour + Should be in 24-hour format. + + conversionFactor + 3600 + + + + + volumeUnits + + defaultUnits + m^3 + + + m^3 + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + + weightUnits + + defaultUnits + g + + + g + + SIUnit + + + unitSymbol + + + conversionFactor + 1.0 + + + + gram + + SIUnit + + + conversionFactor + 1.0 + + + + pound + + conversionFactor + 453.592 + + + + lb + + conversionFactor + 453.592 + + + + + + + deca + SI unit multiple representing 10^1. + + SIUnitModifier + + + conversionFactor + 10.0 + + + + da + SI unit multiple representing 10^1. + + SIUnitSymbolModifier + + + conversionFactor + 10.0 + + + + hecto + SI unit multiple representing 10^2. + + SIUnitModifier + + + conversionFactor + 100.0 + + + + h + SI unit multiple representing 10^2. + + SIUnitSymbolModifier + + + conversionFactor + 100.0 + + + + kilo + SI unit multiple representing 10^3. + + SIUnitModifier + + + conversionFactor + 1000.0 + + + + k + SI unit multiple representing 10^3. + + SIUnitSymbolModifier + + + conversionFactor + 1000.0 + + + + mega + SI unit multiple representing 10^6. + + SIUnitModifier + + + conversionFactor + 10^6 + + + + M + SI unit multiple representing 10^6. + + SIUnitSymbolModifier + + + conversionFactor + 10^6 + + + + giga + SI unit multiple representing 10^9. + + SIUnitModifier + + + conversionFactor + 10^9 + + + + G + SI unit multiple representing 10^9. + + SIUnitSymbolModifier + + + conversionFactor + 10^9 + + + + tera + SI unit multiple representing 10^12. + + SIUnitModifier + + + conversionFactor + 10^12 + + + + T + SI unit multiple representing 10^12. + + SIUnitSymbolModifier + + + conversionFactor + 10^12 + + + + peta + SI unit multiple representing 10^15. + + SIUnitModifier + + + conversionFactor + 10^15 + + + + P + SI unit multiple representing 10^15. + + SIUnitSymbolModifier + + + conversionFactor + 10^15 + + + + exa + SI unit multiple representing 10^18. + + SIUnitModifier + + + conversionFactor + 10^18 + + + + E + SI unit multiple representing 10^18. + + SIUnitSymbolModifier + + + conversionFactor + 10^18 + + + + zetta + SI unit multiple representing 10^21. + + SIUnitModifier + + + conversionFactor + 10^21 + + + + Z + SI unit multiple representing 10^21. + + SIUnitSymbolModifier + + + conversionFactor + 10^21 + + + + yotta + SI unit multiple representing 10^24. + + SIUnitModifier + + + conversionFactor + 10^24 + + + + Y + SI unit multiple representing 10^24. + + SIUnitSymbolModifier + + + conversionFactor + 10^24 + + + + deci + SI unit submultiple representing 10^-1. + + SIUnitModifier + + + conversionFactor + 0.1 + + + + d + SI unit submultiple representing 10^-1. + + SIUnitSymbolModifier + + + conversionFactor + 0.1 + + + + centi + SI unit submultiple representing 10^-2. + + SIUnitModifier + + + conversionFactor + 0.01 + + + + c + SI unit submultiple representing 10^-2. + + SIUnitSymbolModifier + + + conversionFactor + 0.01 + + + + milli + SI unit submultiple representing 10^-3. + + SIUnitModifier + + + conversionFactor + 0.001 + + + + m + SI unit submultiple representing 10^-3. + + SIUnitSymbolModifier + + + conversionFactor + 0.001 + + + + micro + SI unit submultiple representing 10^-6. + + SIUnitModifier + + + conversionFactor + 10^-6 + + + + u + SI unit submultiple representing 10^-6. + + SIUnitSymbolModifier + + + conversionFactor + 10^-6 + + + + nano + SI unit submultiple representing 10^-9. + + SIUnitModifier + + + conversionFactor + 10^-9 + + + + n + SI unit submultiple representing 10^-9. + + SIUnitSymbolModifier + + + conversionFactor + 10^-9 + + + + pico + SI unit submultiple representing 10^-12. + + SIUnitModifier + + + conversionFactor + 10^-12 + + + + p + SI unit submultiple representing 10^-12. + + SIUnitSymbolModifier + + + conversionFactor + 10^-12 + + + + femto + SI unit submultiple representing 10^-15. + + SIUnitModifier + + + conversionFactor + 10^-15 + + + + f + SI unit submultiple representing 10^-15. + + SIUnitSymbolModifier + + + conversionFactor + 10^-15 + + + + atto + SI unit submultiple representing 10^-18. + + SIUnitModifier + + + conversionFactor + 10^-18 + + + + a + SI unit submultiple representing 10^-18. + + SIUnitSymbolModifier + + + conversionFactor + 10^-18 + + + + zepto + SI unit submultiple representing 10^-21. + + SIUnitModifier + + + conversionFactor + 10^-21 + + + + z + SI unit submultiple representing 10^-21. + + SIUnitSymbolModifier + + + conversionFactor + 10^-21 + + + + yocto + SI unit submultiple representing 10^-24. + + SIUnitModifier + + + conversionFactor + 10^-24 + + + + y + SI unit submultiple representing 10^-24. + + SIUnitSymbolModifier + + + conversionFactor + 10^-24 + + + + + + dateTimeClass + Date-times should conform to ISO8601 date-time format YYYY-MM-DDThh:mm:ss. Any variation on the full form is allowed. + + allowedCharacter + digits + T + - + : + + + + nameClass + Value class designating values that have the characteristics of node names. The allowed characters are alphanumeric, hyphen, and underbar. + + allowedCharacter + letters + digits + _ + - + + + + numericClass + Value must be a valid numerical value. + + allowedCharacter + digits + E + e + + + - + . + + + + posixPath + Posix path specification. + + allowedCharacter + digits + letters + / + : + + + + textClass + Value class designating values that have the characteristics of text such as in descriptions. + + allowedCharacter + letters + digits + blank + + + - + : + ; + . + / + ( + ) + ? + * + % + $ + @ + + + + + + allowedCharacter + A schema attribute of value classes specifying a special character that is allowed in expressing the value of a placeholder. 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. + + valueClassProperty + + + + conversionFactor + The multiplicative factor to multiply these units to convert to default units. + + unitProperty + + + unitModifierProperty + + + + deprecatedFrom + Indicates that this element is deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form. + + elementProperty + + + + defaultUnits + A schema attribute of unit classes specifying the default units to use if the placeholder has a unit class but the substituted value has no units. + + unitClassProperty + + + + extensionAllowed + A schema attribute indicating 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. + + boolProperty + + + nodeProperty + + + isInheritedProperty + + + + inLibrary + Indicates this schema element came from the named library schema, not the standard schema. This attribute is added by tools when a library schema is merged into its partnered standard schema. + + elementProperty + + + + recommended + A schema attribute indicating that the event-level HED string should include this tag. + + boolProperty + + + nodeProperty + + + + relatedTag + A schema attribute suggesting HED tags that are closely related to this tag. This attribute is used by tagging tools. + + nodeProperty + + + isInheritedProperty + + + + requireChild + A schema attribute indicating that one of the node elements descendants must be included when using this tag. + + boolProperty + + + nodeProperty + + + + required + A schema attribute indicating that every event-level HED string should include this tag. + + boolProperty + + + nodeProperty + + + + reserved + A schema attribute indicating that this tag has special meaning and requires special handling by tools. + + boolProperty + + + nodeProperty + + + + rooted + Indicates a top-level library schema node is identical to a node of the same name in the partnered standard schema. This attribute can only appear in nodes that have the inLibrary schema attribute. + + nodeProperty + + + + SIUnit + A schema attribute indicating that this unit element is an SI unit and can be modified by multiple and submultiple names. Note that some units such as byte are designated as SI units although they are not part of the standard. + + boolProperty + + + unitProperty + + + + SIUnitModifier + A schema attribute indicating that this SI unit modifier represents a multiple or submultiple of a base unit rather than a unit symbol. + + boolProperty + + + unitModifierProperty + + + + SIUnitSymbolModifier + A schema attribute indicating that this SI unit modifier represents a multiple or submultiple of a unit symbol rather than a base symbol. + + boolProperty + + + unitModifierProperty + + + + suggestedTag + A schema attribute that indicates another tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions. + + nodeProperty + + + isInheritedProperty + + + + tagGroup + A schema attribute indicating the tag can only appear inside a tag group. + + boolProperty + + + nodeProperty + + + + takesValue + A schema attribute indicating the tag is a hashtag placeholder that is expected to be replaced with a user-defined value. + + boolProperty + + + nodeProperty + + + + topLevelTagGroup + A schema attribute indicating that this tag (or its descendants) can only appear in a top-level tag group. A tag group can have at most one tag with this attribute. + + boolProperty + + + nodeProperty + + + + unique + A schema attribute indicating that only one of this tag or its descendants can be used in the event-level HED string. + + boolProperty + + + nodeProperty + + + + unitClass + A schema attribute specifying which unit class this value tag belongs to. + + nodeProperty + + + + unitPrefix + A schema attribute applied specifically to unit elements to designate that the unit indicator is a prefix (e.g., dollar sign in the currency units). + + boolProperty + + + unitProperty + + + + unitSymbol + A schema attribute indicating 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. + + boolProperty + + + unitProperty + + + + valueClass + A schema attribute specifying which value class this value tag belongs to. + + nodeProperty + + + + + + 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 this schema attribute can apply to any type of element(tag term, unit class, etc). + + + isInheritedProperty + Indicates that this attribute is inherited by child nodes. This property only applies to schema attributes for nodes. + + + nodeProperty + Indicates this schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements. + + + unitClassProperty + Indicates that the schema attribute is meant to be applied to unit classes. + + + unitModifierProperty + Indicates that the schema attribute is meant to be applied to unit modifier classes. + + + unitProperty + Indicates that the schema attribute is meant to be applied to units within a unit class. + + + valueClassProperty + Indicates that the schema attribute is meant to be applied to value classes. + + + 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. + + diff --git a/hedxml/HEDLatest.xml b/hedxml/HEDLatest.xml index f5b7cfc..1f55c7a 100644 --- a/hedxml/HEDLatest.xml +++ b/hedxml/HEDLatest.xml @@ -1,6 +1,8 @@ - - This schema includes an xsd and requires unit class, unit modifier, value class, schema attribute and property sections. + + The HED standard schema is a hierarchically-organized vocabulary for annotating events and experimental structure. HED annotations consist of comma-separated tags drawn from this vocabulary. This vocabulary can be augmented by terms drawn from specialized library schema. + +Each term in this vocabulary has a human-readable description and may include additional attributes that give additional properties or that specify how tools should treat the tag during analysis. The meaning of these attributes is described in the Additional schema properties section. @@ -932,6 +934,10 @@ Gentalia The external organs of reproduction. + + deprecatedFrom + 8.1.0 + Hip @@ -2089,6 +2095,10 @@ Having genitalia and/or secondary sexual characteristics of indeterminate sex. + + Ethnicity + Belong to a social group that has a common national or cultural tradition. Use with Label to avoid extension. + Handedness Individual preference for use of a hand, known as the dominant hand. @@ -2105,6 +2115,10 @@ Having no overall dominance in the use of right or left hand or foot in the performance of tasks that require one hand or foot. + + Race + Belonging to a group sharing physical or social qualities as defined within a specified society. Use with Label to avoid extension. + @@ -2123,19 +2137,50 @@ Temporal-marker An indicator placed at a particular time in the data. + + Inset + Marks an intermediate point in an ongoing event of temporal extent. + + topLevelTagGroup + + + reserved + + + relatedTag + Onset + Offset + + Onset - Labels the start or beginning of something, usually an event. + Marks the start of an ongoing event of temporal extent. topLevelTagGroup + + reserved + + + relatedTag + Inset + Offset + Offset - Labels the time at which something stops. + Marks the end of an event of temporal extent. topLevelTagGroup + + reserved + + + relatedTag + Onset + Inset + Pause @@ -3412,7 +3457,17 @@ A characteristic of or relating to time or limited by time. Delay - Time during which some action is awaited. + The time at which an event start time is delayed from the current onset time. This tag defines the start time of an event of temporal extent and may be used with the Duration tag. + + topLevelTagGroup + + + reserved + + + relatedTag + Duration + # @@ -3430,7 +3485,17 @@ Duration - The period of time during which something occurs or continues. + The period of time during which an event occurs. This tag defines the end time of an event of temporal extent and may be used with the Delay tag. + + topLevelTagGroup + + + reserved + + + relatedTag + Delay + # @@ -3929,6 +3994,9 @@ requireChild + + reserved + # Name of the definition. @@ -3947,6 +4015,9 @@ requireChild + + reserved + tagGroup @@ -3967,6 +4038,9 @@ requireChild + + reserved + topLevelTagGroup @@ -3985,6 +4059,9 @@ Event-context A special HED tag inserted as part of a top-level tag group to contain information about the interrelated conditions under which the event occurs. The event context includes information about other events that are ongoing when this event happens. + + reserved + topLevelTagGroup @@ -5544,7 +5621,7 @@ Comparative-relation - Something considered in comparison to something else. The first argument is the focus. + Something considered in comparison to something else. The first entity is the focus. Approximately-equal-to (A, (Approximately-equal-to, B)) indicates that A and B have almost the same value. Here A and B could refer to sizes, orders, positions or other quantities. @@ -5576,7 +5653,7 @@ Connective-relation - Indicates two items are related in some way. + Indicates two entities are related in some way. The first entity is the focus. Belongs-to (A, (Belongs-to, B)) indicates that A is a member of B. @@ -5627,7 +5704,7 @@ Performed-using - A, (Performed-using, B)) indicates that the action or procedure A was accomplished using B. + (A, (Performed-using, B)) indicates that the action or procedure A was accomplished using B. Related-to @@ -5640,7 +5717,7 @@ Directional-relation - A relationship indicating direction of change. + A relationship indicating direction of change of one entity relative to another. The first entity is the focus. Away-from (A, (Away-from, B)) indicates that A is going or has moved away from B. The meaning depends on A and B. @@ -5650,9 +5727,21 @@ (A, (Towards, B)) indicates that A is going to or has moved to B. The meaning depends on A and B. + + Logical-relation + Indicating a logical relationship between entities. The first entity is usually the focus. + + And + (A, (And, B)) means A and B are both in effect. + + + Or + (A, (Or, B)) means at least one of A and B are in effect. + + Spatial-relation - Indicating information about position. + Indicating a relationship about position between entities. Above (A, (Above, B)) means A is in a place or position that is higher than B. @@ -5737,12 +5826,27 @@ Right-side-of + + Lower-center-of + (A, (Lower-center-of, B)) means A is situated on the lower center part of B (due south). This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-left-of + Lower-right-of + Upper-center-of + Upper-right-of + + Lower-left-of (A, (Lower-left-of, B)) means A is situated on the lower left part of B. This relation is often used to specify qualitative information about screen position. relatedTag + Center-of + Lower-center-of Lower-right-of + Upper-center-of Upper-left-of Upper-right-of @@ -5752,7 +5856,11 @@ (A, (Lower-right-of, B)) means A is situated on the lower right part of B. This relation is often used to specify qualitative information about screen position. relatedTag + Center-of + Lower-center-of + Lower-left-of Upper-left-of + Upper-center-of Upper-left-of Lower-right-of @@ -5805,13 +5913,29 @@ Top-of (A, (Top-of, B)) means A is on the uppermost part, side, or surface of B. + + Upper-center-of + (A, (Upper-center-of, B)) means A is situated on the upper center part of B (due north). This relation is often used to specify qualitative information about screen position. + + relatedTag + Center-of + Lower-center-of + Lower-left-of + Lower-right-of + Upper-center-of + Upper-right-of + + Upper-left-of (A, (Upper-left-of, B)) means A is situated on the upper left part of B. This relation is often used to specify qualitative information about screen position. relatedTag + Center-of + Lower-center-of Lower-left-of Lower-right-of + Upper-center-of Upper-right-of @@ -5820,8 +5944,11 @@ (A, (Upper-right-of, B)) means A is situated on the upper right part of B. This relation is often used to specify qualitative information about screen position. relatedTag + Center-of + Lower-center-of Lower-left-of Upper-left-of + Upper-center-of Lower-right-of @@ -5836,7 +5963,7 @@ Temporal-relation - Any relationship which includes a temporal or time-based component. + A relationship that includes a temporal or time-based component. After (A, (After B)) means A happens at a time subsequent to a reference time related to B. @@ -6169,6 +6296,16 @@ 0.0254 + + meter + + SIUnit + + + conversionFactor + 1.0 + + metre @@ -6914,6 +7051,13 @@ unitModifierProperty + + deprecatedFrom + Indicates that this element is deprecated. The value of the attribute is the latest schema version in which the element appeared in undeprecated form. + + elementProperty + + defaultUnits A schema attribute of unit classes specifying the default units to use if the placeholder has a unit class but the substituted value has no units. @@ -6927,6 +7071,19 @@ boolProperty + + nodeProperty + + + isInheritedProperty + + + + inLibrary + Indicates this schema element came from the named library schema, not the standard schema. This attribute is added by tools when a library schema is merged into its partnered standard schema. + + elementProperty + recommended @@ -6934,10 +7091,19 @@ boolProperty + + nodeProperty + relatedTag A schema attribute suggesting HED tags that are closely related to this tag. This attribute is used by tagging tools. + + nodeProperty + + + isInheritedProperty + requireChild @@ -6945,6 +7111,9 @@ boolProperty + + nodeProperty + required @@ -6952,6 +7121,26 @@ boolProperty + + nodeProperty + + + + reserved + A schema attribute indicating that this tag has special meaning and requires special handling by tools. + + boolProperty + + + nodeProperty + + + + rooted + Indicates a top-level library schema node is identical to a node of the same name in the partnered standard schema. This attribute can only appear in nodes that have the inLibrary schema attribute. + + nodeProperty + SIUnit @@ -6986,6 +7175,12 @@ suggestedTag A schema attribute that indicates another tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions. + + nodeProperty + + + isInheritedProperty + tagGroup @@ -6993,6 +7188,9 @@ boolProperty + + nodeProperty + takesValue @@ -7000,6 +7198,9 @@ boolProperty + + nodeProperty + topLevelTagGroup @@ -7007,6 +7208,9 @@ boolProperty + + nodeProperty + unique @@ -7014,10 +7218,16 @@ boolProperty + + nodeProperty + unitClass A schema attribute specifying which unit class this value tag belongs to. + + nodeProperty + unitPrefix @@ -7042,6 +7252,9 @@ valueClass A schema attribute specifying which value class this value tag belongs to. + + nodeProperty + @@ -7049,6 +7262,18 @@ 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 this schema attribute can apply to any type of element(tag term, unit class, etc). + + + isInheritedProperty + Indicates that this attribute is inherited by child nodes. This property only applies to schema attributes for nodes. + + + nodeProperty + Indicates this schema attribute applies to node (tag-term) elements. This was added to allow for an attribute to apply to multiple elements. + unitClassProperty Indicates that the schema attribute is meant to be applied to unit classes. @@ -7066,7 +7291,6 @@ Indicates that the schema attribute is meant to be applied to value classes. - This is an updated version of the schema format. The properties are now part of the schema. The schema attributes are designed to be checked in software rather than hard-coded. The schema attributes, themselves have properties. - + 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. diff --git a/readthedocs.yml b/readthedocs.yml index 74423ca..964c249 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -15,7 +15,7 @@ sphinx: # Optionally set the version of Python and requirements required to _build your docs python: - version: "3.7" + version: "3.11" install: - requirements: docs/requirements.txt system_packages: true \ No newline at end of file From 53832dfef8e0eaf6a13ee27fa23d4baa69bd137c Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Fri, 12 May 2023 10:24:40 -0500 Subject: [PATCH 11/13] Updated the readthedocs.yml to try to get to build --- readthedocs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/readthedocs.yml b/readthedocs.yml index 964c249..5bfa491 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -15,7 +15,6 @@ sphinx: # Optionally set the version of Python and requirements required to _build your docs python: - version: "3.11" install: - requirements: docs/requirements.txt system_packages: true \ No newline at end of file From 9a66afefd9e9a2755820ee781864b865bc8e3293 Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Fri, 12 May 2023 10:32:24 -0500 Subject: [PATCH 12/13] Minor typo correction --- docs/source/03_HED_formats.md | 4 ++-- docs/source/index.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/03_HED_formats.md b/docs/source/03_HED_formats.md index 3dd7c04..ad3bde5 100644 --- a/docs/source/03_HED_formats.md +++ b/docs/source/03_HED_formats.md @@ -1019,8 +1019,8 @@ for the curly braces and their contents when the HED annotation is assembled. 1. The item within the curly braces must either be the word `HED` or the name of another HED-annotated column within the sidecar. 2. The HED annotation for the column in curly braces directly replaces the curly braces and their contents in the target annotation. -3. During assembly of a HED annoation for an event, if an 'n/a' value appears in a curly brace column, -the curly brace express is removed and any extra parentheses or commas are also removed. +3. During assembly of a HED annoation for an event, if the 'n/a' value appears in a curly brace column, +the curly brace expression including the curly braces as well as any extra parentheses or commas are removed. 4. A sidecar column name cannot both appear in a curly braces and have an annotation that uses curly braces (to prevent circular references). 5. The curly braces cannot be used within a `Definition`. diff --git a/docs/source/index.rst b/docs/source/index.rst index 42052d2..4321d45 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -7,7 +7,7 @@ HED specification .. sidebar:: **Links** - * `PDF released version (V3.1.1) `_ + * `PDF released version (V3.2.0) `_ * `PDF working version `_ From 0762fb4d6c711719c0d2cbe5cc7a543a49031f2c Mon Sep 17 00:00:00 2001 From: Kay Robbins <1189050+VisLab@users.noreply.github.com> Date: Fri, 12 May 2023 10:45:40 -0500 Subject: [PATCH 13/13] Added PDF version 3.2.0 --- docs/source/index.rst | 2 +- hedspec/HEDSpecification_3_2_0.pdf | Bin 0 -> 509012 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 hedspec/HEDSpecification_3_2_0.pdf diff --git a/docs/source/index.rst b/docs/source/index.rst index 4321d45..775f4c9 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -9,7 +9,7 @@ HED specification * `PDF released version (V3.2.0) `_ - * `PDF working version `_ + * `PDF working version `_ * `Specification source `_ diff --git a/hedspec/HEDSpecification_3_2_0.pdf b/hedspec/HEDSpecification_3_2_0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e589b5f77a6c445a0918f90338a40e2db211f738 GIT binary patch literal 509012 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
|L=%72v-MeSc+5h3b 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%0D?<(NLTyfPR;aSnnu73 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

6vV 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í$Sa~MT3co`O^e@ zf-ImpoQ8F2;K$Tbb^rp&Nbgk@GS1T=#hlRT^#BcQ$^gIz=kn3lMR3pHV$5Tb)#K=B4xytUjSe zn-!k;d6b|yfBx+YjG`Kj4hUn*G=Tm96ox-2;`(#W(D;ssH9)Kn*Md>R%0fw!c7g<(7%kSeQX?cN<6bHp^nCQ4ZdNeXg$Ss% zlS2u@+ewU7(1go|p_)M`6G3ms2amLT@hwP5YeG;5f!guwF;B3LMII`w!ad4218w-~ zyVbl}@>{1%F8BzZ6~8pekQY=6kR+>7x37i8|3Zi^=Rj0{1zqg$I>dY_5rw9HXkhTw z*L^hu^61E7<^UB@3_20))gi6eOw6mlfC0fB9d3NaiA~0xo6l}IBk8v?>=A!Z7vmh| zzC0{{I?)+1)f;VGdLZN@es^n}b{C)3wz(&*`dy@IH1?E2k){$ieSi!jGx*MQqHwr6{7u~~lq&AS;X8|TLxZ%gDBp7&dMC)6NCRbRm=`P? zPr-Drq>;`@jUD~Py-~Q$eY=R%mBX10b`I27dO$Pu@?vM5xFUi!4%#V4K4o*~M-


c*iYWq;J?`WzJaxw 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 literal 0 HcmV?d00001

4b%(=g_w-Fb|c{&u5-?BwWvqafS>BBDe8F}-tJ zrsJ!3;B-i=bZH<*iji(U&TBexxYG!ZZ3#`FodSSZK7wJ=OV45q7$ZL0nrn_ag)`6T zG6u&o(plykY0misFa^Vq#B1VKiGuvtWKKU-WWXkOhf7rkLy*fI>{HBNrj#q7cFKf> z`Pold5KmYaNCL2Ui#tVb#lhzmk>u_ho)`dKAxQqg;p>D1ivMdKEc%dczfOUjFCxIswDg^(dKWM;DL| z81>vGGJ!&l+y9@6A;*uI27{WhI!5LF>YG&1dw6{(WkmT}ztEmE5X9%h?VZx}vMi zf>YhTIp*|#W1)v4Y&7trb7w*3;BIQ|{5t750d2->PzJ}L?276`GU)WYAuMs2Fo8|S z(Lc46+T;z3W5ttIt2ecNpO)xQ-yhHS+fP^Y%+SBTU!F|u8*+kgEKBYxJ+Jd~p+eeY zOQfF|)bm|u7@s~mjU$Ie!AZlR_@5S<{{yTx=;?g z;KWmW{rk&?QimNyQj7KlQ5gC&Fn<=vG2_VzTCHzR)oA(PUN3fej}r#Oknp%5i^XqXAh>@kAiP+u?SL z0P-p?vbinC#_KA%psH)c{b_Uu?gXnrHTsq#Wd0nT_eAV*QxXxGczW_!4XC5sZ?b)h z38T39Cw^u81}JEmF4h~7dkfS$|6DrigRqbRL+ux%%%mw*ehXFp`Wgb_%5zA!B?O)d zKPVyGry`iFF;#w=cEOsWLcPy^lBb}>JC!}z-kf45miS2QnNBCbcnV2!xad}dh9=`g zJ3t0DO0Ur8j)_=KO{~_w?xxPan^#FTHb*X-ySzjg(pUd+$}yB7;(hyQZRLbm8u+`} zP($6uNP=}ecG|=N9rV7r53P#Crbg^|1-Ei3MiLSfs?p7GNm|izj}JRvB%i_Se7qku z(vJx}wh_<1je19QipO!W^VCq;j1?z?vWi3$0=D7<+_6U zSoUP~q!jmJb=D^l7XJ%no(a?;7Em>@x)>yo`u4TNcCGRNP43&6T`3Yx5AaCi%+GP@Vx@& zwSYn`HDA`fA)ELy^#)F-g(dHN6Le9WlJlv_BY!wx2N$6n66dB64AAqCjbF)q;YAFm zPcCsN=et0+uAB3JIQU~3m)C`JW1SM=-D$K5r;Kh-fJE4dlU*=+u+4KOSDYRK7i+t( z2ebUTb%$}Tlom_zC!U8HW6{Ie*Lfi30Sz^LLD$usjy0S#S!&i7W_@(Xh#R#Jr$FEX zCIciO^JXL(G%0A94yJ}dRn5IjWj7AMXbhXepW78B*0v%7{{k-7KI*dA7;Z%9(^*Xm zn15ls=c5ZPykkv-`GTN0Lfghdp^swW+C+Ha&vE&${SG5L4Fl2Bj*J?7j2i#vt7xbk zs$%z#0*-IEhk7F^$~cR=eX{2}tFeZ;A9#5y8^qZ`d$@GA*Y|pEH_7sBwYl6f zK6V;TzWXmBk+X+;Sm0?YN2MDk>9s=;*8HBU4RfG^2oCG@5moF06rR|f`?|PKi6o@4M)w2&*@?^+xi6(q3 zAO_M%;%_4~d-Hep*my_ohX(&~n~nL;eA16=eK#Sds|=gpiK?J06)B&KR0mw==g}hz(0Mh`@+Y5v{cQ_Qe>2 z)d!PGt};39O(zuz>YBag>w*P}Lnq;Re;JNLz_8y*@IWo%DBe5W^Bf|Mg)%3(79WdS zKQ-ig-|xxOi=jvs*K0s(dc>Ie&{Qh*d=A3yLHV74D#Xhmf`tG5e!FM%?r^sW9(V&l z!g7RBeh)Y1%dDaA{fHEI#{6a&3?H69E%CDEz5feUTQ&bV>`zypIok=EI(FRE~A-Re`%RqJ_-1-BetpG;Qn7t$v z;XmoK{{*s+G&71d4f9|aH&f1TjL|*Hj5%b|q%5dVECP*6i!Sw`j_AVoCA_d+_UZ^i zCV;zw+!qQ!R#aF-klG?A1WcrY!yLhc=%d+WteWV!de;YO;E)EEWK==t?rT`AiJNLE zfm@8N9B5oY+>jMfgHGfzfpaniCudQb+t^eYq{oXrhxu(29k-5GyOK{g`B zRz%>C(AO<<^R^!t2m-k?SNlDh7!g;Hx1J$Kv-v_KYi!i_*U`+8V9LpU2MiRD02{NE zWrXvyLB|IMsrxtpP0}FNh6p{7(Waf-(J>>TXeXp#pQ3@SGwDwctL^Dr=E78{W~6eT zWrx7ZX+j!bK@7mZa5yiV2;cN+b5wGNbA)4R0T2vs^$36m z1r&}3M(V>R3zawwCPE(tuM|8RR-#D6G~M-1n~<3-C}LSIbBo)Tg0*+-N+vhqw-rZ! z@xPjGJWXIj1T`K*YuZQvzA*pZj92SOQhrxYlBY!mDAQ`uuQp`z*67HoS_XLZKTFy- zmdo_^!{ zw(j%L@k~8v-RX9%1P*GOSC80(Cev?ih*L%${N!fnu8dW0v$Z|hCwZZDKe0ADdnvlc zGoeH8L_a$U$ILC2uEUxuYfON1t7Wy&8|kN&w1cnN;o!i#K@SQkOoT?@4=@R*f`~-X zp+8!U=1AI54_Zt29EaZ->gPViOYyTh&#a)v4DTX6#k#+UXq;i{gVRj&n}* z%*O#UXQYb37ISwANAAVTI~)1WzLU+Ye|exa8_@Aw2ar`IZ)W;%r5wMDY1s2^uoJiP z{r6T9<4I(Cj6H^qAJx^;;O^Z|-Ia{b8;RyBZwQzTQQyj1OlqH@*N9u`bzZzd%*E%) zeH50#+KyQdxFYcYN=;G1N~iV4ZcDUQTkl7QWuBr%j5Z#%iCr_?4Q^2y%o3NZkq4DX z!3D03pVZop1>d`b`C~uz5kxQ&6bsgWD3zVlF3CQ@cwDHmtqu@HU12}G`~!E`xvuG* zu$AN&^#c41b+fycr#gy2l)oK|w_D#t zSC6iaa+_&3LP}7~u#HfSo~IYeCrK!co-nrAq6#j}u9lB*uu3~F{~S4$ETYxh2hoFz zlQ`PEHdeVx2ZN^kGQ6TpR$eiCJy}EO7K&+=*5OQ4>k~=IIBc>yAfsf`IFhh_(!3|Q zMoAYz1$Uj{LU(MQd80qGD(NL({XS%!zh~LxBrB^hc~ZDs(5(Ar9z-NL(f@w2rbxW_ zR%`(k2yaXX4j9tB*eG0Jas>0ikNPq+8ASR7Dd#0x9+$0emy!g|yH}SS=jino z(V}!2+^nGusBNcus(jqE3#2f3W18)^l6!{<-2|yF+R28&!p5aNgXqb+!8;E;=*_*I z*Tb!!7k`ichl}s`nG^2#G)I1T+kqsY=NrB2uT`Dialh4kM-$eW#@uS)>e`J9>r~fM z5@REyPA`(?s9BS$Ub>Q1(im-GNx=Dh556+A|M~M(P=f92>c98N3@iG8n2pK7?I*8; zGxSux@V=WJy0(T-Puwxyv&sX@3!8XgS;2)4D=qj1?&BF*{i-e{H}j(QrxpBD2rhw3 z8^;S_m9Z8;Pk+oTYCA!di7yrC{?+5>)o9h(_QBKitTB8LL0w%am@Nm7#S61UbYW-v zdzdjqEC<<4%Gpe!WDAj%v`JHSVcjs(Zq0E{dc3y6uw0AF)mIx9cx-hT*5Fbr3zJZ` zD?>%oDUJTsie{FQ4A$=X+0`A)aoziDkb*=2@RPnb{^8%xtC%yqV* zY8JRtq|$7qlBl=d(Y=$FDP)7(WAsE4K+Y3+%Y_G8EYVk^(goKLRW#?wz<0&8WUkem ztyj14*|lp3`7!ra+iwwWL6&Oo>Y-D7{uEzdj@QSE2e=9za8V0g=V*%lyPY_REBAHf zMx(BjiSd?SXS#lfh3Q%ghuy!A^*I+(8vaWtGBEyc!@vKp@=8{=|EIi?iIMexEF`CY zNUS)cNMAGh4FpLb+nehd>uEwzfFW0ud~mo;@C|Gs0m)!85%gb)LOK4s=BYe_J_#O$ zk#M2ly`P+ z9ppG7>KWpg08YsUZ9;$qTV*V%=@gjKuXHwJ!xXF8OEp$LsAA3a>x!bpqHSXgP{VZ^ z%wmQGoqpST&GFY%u@v3tmYB+@==Ek1j1cIcV8Ow}cARAn$zbiuR?_yUjLYHh5Ew&0 zN;34}s5vp35)PDKNt;nf%1c{%)v*yVtCX?EcJj*&sLEn8u}PWmMsD57VBHdkSQ!(f zsFaBJFvDU9!zhoS)NaTH-qENdV{lAx!7}T(j7lgujA3+THSn3gW=PXySePUYdY)+v zO`fIxlvpWe0xU!DVwis!H3In8ig{%iJQy_%1Y*dzjkU2pu=rsL3=9V(rfejqC5wBY zQA&=XtR~Epz_UvY#AE>wMwrqJ^e(HpMovGC0l=w2eEryz2b9qG8H+7gnZji4CLo+* z45rit(*cS#rKUA>C|N5?4xH%TBnguX-3ZL4vRC+B*`R`v^eH|F zFc*$1ziYoUzd`U~E#foB!vD<6(7N1 z)F<$-%qsf8uf9XCD?X5OWKz$QPXEt;{0>?kX3yaGUe4aWzV8e~I+%c_G^mENJreJ; zc5;2zUxX&@u>A%xx6_YidvbC*FAzIAq%^x8pc=FSSx4YN1?St~g}}Gn-2woVIbYWh zC|Zy1!rvYhWh6xhelU};M6|mgI6oiKq0)yTK7bY0rR4XG~AGPj06Itel;uyzx;-0|Aq zwbO!nEeaktoqe+WGI)ijU2j(zpEB4lxjqB*{x>Uu{pSIK0`+nhM;iCgZ%*_?m2d_I zT!d~nVS6NjKJ=uHAueK^mvBxd_Q8!j^d3}pkn|yj1JL}H+3Q4$M*3yjV;#;N6QitlfQy34i#9BX2Z;;$nP?J@gv_2Df2 zVmKnFd_Xy%X2P&XHSC|yY@GzrkT?;4;Ym{dGO|rn(nW3{DDjWYRwjdmP$j4~N;suA z-;$EBE5)5}+Qx#*1EJ!#Pwpbp?-w zN~0|LSb1m+ zz2{sx&d1o!9e8+HA7u~pL~D_*C4PKql`5CA+r!-NS#LGCwATo}2fV zu97DJeH$&O!EQrV)doFPS!(xD%P-!1a!H?8RxZpTloLF9tNfOXTe=Z@YzZe8l!6W* zj2)1sbo1EDI1jqI)~(a#-M(?j%d9SWPj6TCM_rR#Xzj3F)*rhQwTdsgqGW6`Pp+(n z7Ro1};T!DXD7Zz$FYJ8HKhK?#8Q+-zbAi{Z#t@&)$Upm&_~#*C7xsC6@(wd{Nbi!z zY#1r*bbV$ucP!D)wzwP~tblbeOu!;YV!*BB(*>@6KWBJ@oanIjCuUq}dv!_lJm}nJ zp|ma5?I-?;IJCI%R|~nY4= z>?r|wdW?{8;_F)MIsUR7+~@&V`yacmod%~i&s(V9)|K-l!Vc5x4I=te)*{`a%s5F@ z-vwTbVWyqN!)|R*Icvt%-T8V_lV=RcZSqLvYJDH2r1^|>-bEGoiuA3*a$cj6VgbI< zagB`y7+m=5RVY+23~Dw6J~@Hjq2l)V#5csrP)QE~ zrdI;7(lgMC|Qs&Exms2!h$KS+Ri>@P{z~_>6FwGFez$RkopSx!sg?QAThk&LH|? zXUOXiRbNWD_$bW#$Bxn-4MB9HC;i1L9r3=Uz0t1O z$);gzFFKDNNX*>Ikl{qesrmg$=PK!|37tKF#b6*$P8He7^RnekZ)sKi%SuN^kDj7# zXCnbAVa(mf*wY#;7O9=ck;IHfeFWnnZM}ol_0JrQJC9_a(lNPX%JDu~?2PBgL85UO zQkcTU=KZ!wYqn3`+AXxzT6?iH2sY-p+x-y^s~W@COn$IvfusKH26ipMpuHIlIRS-A z#_9($PIb}HU53wOTMP(3F5C>kM!YPvDX`rbIZ{JJjN8`(0+xO$e#x=V^WDqj+vSIs zWk{~48RKks`k^5iv#3o1Zy+I=%=)Q?4U9 zkVRbPmJ`o|oL_X5RiQx3# zud04@m6Vp)&w{D%7@~!+P6ca&thAfH0UVLOf1jd5-qufx_U(CC6)TU~5@s-JI^M>P zwdNVl3!mboYnv!$*)?i-SwcMij9tbtiCsRK%dQoT1N65xaEinbzz#Iw{_5UA1k`vP z9XJl;O78)ZE-*<+O2m;5x%c*F%&(e3W8SjxXvL`_0yosQR;?mBjAIerk|3yw ztD(?;l#`}!FXVC@7eYO$_Yjws6;v>bX_O@4Z$2>YO;x5ZwyL&H?(B{PLH2Z={;ajC zH?y{mzTT%HIK%7L{Re8}F^iM~L^yW>)qYJh;;UWv=3P6Ef()C3S|dFT=Bx?sSHC#B zX!a5aWZZ=%+%j~hY3IIV4{Ed_Q_y@a-$cvuWO*!Hjz0VK(eZ;3E46vDhaXCe(_KQ0 z5D<7lZW6}!k+=4YeTrpFg|aDGBka~R@onl7%WZ4fob0_#A6n)jt+QhK(s2Q2X<~EV z(sX%IfNH|3E2`^eoRIbvkQQRsX(Pd!{Bks=zm~j!IZ9ej*eTZfjTgi_b=g=P{0F@7 zsk>(6+7#H^;Jj5*s_^E1^^|H=soFaG-9QVHCpbvq5eX{xCFbR}LkUxRj2;Ld$m?Ms zl%oa;k@VF`a}*aVFCn}rQJv7 z*jLPANKEyML$wY^G>PL4J-zDoqNbHT%cnYkM!sYZxH*Us++D5?K#_V?J~^HMhJ}32 z-t7yFbZ1n(1QT(?*7TK}e7v9|dgh{0W5xFXMm^sU>7GLF>Sd1x1<`c@u~QBq*8>F4 zeeEbUwgt%N!d2PeMY_B+Q9oSR;s(rD%C{gv=^A*fCByHl@|eYnf0R?Hxi&*2qJC#M zsOsrT+dB=w>SjAaFY9;Fpl?I<;>|Z3qVjwDG%k*w)HTiakQ~Uz6>x?x)GZa|(cqB& zv+)Cm1-hd%nDQh1c_hanOBABsq@9Q+UV>=`=p_p4k~YgiytNvsSZ?pg+!N0Q(z2ic z>{$ndWDe!6dF8l3x3x&zl~6vFKgf{Hq6S6*z@ID_vQnYBd`dM58=^f}od48#N8e`& zg5+bZUJri@`T8XpSzXrvp0+>_Y&}8ozMH&%vbYh%WN%uEL7I-)3qGeT;=AlhMYfNLhdqd zNNLx&AzQX~RSfSL(JA@c*JpQN;JQT4TVd}{R|}(0SCwCLTX@`Y?@Yy0`ouFPjom93 zS`e>u19ce2fNpp_RSUUplutdtVN=Nuf6WU8f))%EXLP<_m+$G&m#rO5fAwDL@Skp9 z|BZ&SeS*XNJzyM|c7xf|dBL)|ws$s#b?Lth62Kf?c-(KSx`Op>%sDoo^+Kcf2uu<5X|F}GIEMN%foz} z+fVag&))!0U2!9JT=?yd#Yb}=jX?W}Lk^V>`XB2c`~PdB|9_#W7&$rq#~b*!*m=#CPYW|_WCYxJc%E4M?H7h2nOeOjcY%siPq9uanmg$} z^X6e=v#qt($>H6~;r*T%tQIb``&2U=BkCC-Ay53n=!ht zm7$QRt+!IuI_eEKx8mvg@(PQMsa0M?KqOixZ=%h|2#ukEnS)?aD)(m)#4-nigi8D; zyzcPhE2tU)1;N;R&taC&z1&>iC->{gjL-Mw`rhipd}ncCVh* z5zFSxa-EnIBM9Vc1sjnM%CJPs5kB>~URSj3U0CVdoQRFMQp84#xygp?F^owoY9Q;D z@K#UH{_&-IZdQe()_hkoMWphufm|yX8d^c(7v0WsmMna%`h6pQw9jFe9>r~~7`~Gw z^S6l!WIDnI_$<5~&>HL&Wt6y^lkQ>L@4UFnAtZ9UCZK4Ia3zzJodp5@<`9;VU8h>G z!?dvshBTMO5@DXM#N(vYz7%}mS@Dp$MNPZs$tVp};#81_emZB~cO-8Q87Fk&G~8wo zP7`tWyyqS~0mMR4rTj!Me@7r>GWe61G!#{gofwYx8FpnwxdwsT00^x7dO#UVioh+|Y4^U+Td%1+rsZx~AlxYDxAtcd=ukPQlAZN{J-p-nu zI1faYMhPYqLWqnIC97FHiR&Kh-zFM?C=*-cBrEfhboF2 z$v1Y`o7Tf^G70$TZau|vArYTDy)oMW*QGLU@x^T5j7&uA!hpAxU}OfhI7RTdfpYZ! z#n?N>_!4#9zW=su+qP}nHh0_JZQIyw+qP|Mw{83Go4n`bo}4GS&!?&nm8@i?QghWD zbNt5Qdem8z!LycIUp{H_j|(K{i4T8gw$zI*rL2`L{Msse0RBvm_JAV$dO?3EDQwEv z#ELVASPy<;Lviq&bX8W6_drZSO@Z!9FtdiXy3Mva{yu(N9QEH+XtE~pMs z0c#4_PnM@E$pWfnjHj9qjHQVZJhG{d>k9G2l!O>+3qmx3IdI|ZpzYuMIx>P2tZ+0n zX>DK*)M7FyU>^AiGkuJ|l5^srP1(!;I6gUj(#~Avrm4<3Q(gr#gzwUP7hB4s0Nxs1YMtodg0M;aW)l+8q0H=D9B0mqoV)Flh;c-rI{UfFW^~WP z)i6z!Fm!|Ui6daa@yO()!QYY0ra&^Y6Z32=8ZG0 z@B1jAlz%~RYLhlofL@#X9Zj^6E}%mQx>-Hn4O8f{T#96raaO%;XZhL+bGk6qatL|e zYH3s{Xv8q90wiRR{EL)}uAkEy1+oE~C%t<7*UNrG;VF#zrzqc)Aw_upoj2G1x*6-h zuTN!FePEt-bX5w`bv>OVRoR=!=shFt`;>L+8qk>9#}{%s)_*@%i?q+k__RS-@Ib%x z<1@dEgDQU8IeduyS-oF9;-kL>cFNVR9D|%&R7f<>&G1I8ifl*_^P*f|&^oz{Cz21< z;*oQHyVeK`-2Is)`U%BF{=*-pJB2sf}B z4Rn1y{nudwnaW}N^a=5y#ZmbvYj-F|6657&+_#Oq2{F2�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