Connects a Session with its associated Activity.
Connecting a Session individual with its associated Activity.
A Client Identifier (or ClientId) conforms to the following definition in the latest OASIS MQTT specification: MQTT Version 3.1.1 Plus Errata 01 (OASIS Standard Incorporating Approved Errata 01 10 December 2015) – 3. MQTT Control Packets / 3.1. CONNECT / 3.1.3. Payload – (3.1.3.1. Client Identifier).
The Client Identifier MUST be a UTF-8 encoded string as defined in Section 1.5.3 of the latest OASIS MQTT specification: MQTT Version 3.1.1 Plus Errata 01 (OASIS Standard Incorporating Approved Errata 01 10 December 2015) – 1. Introduction – (1.5 Data representations).
«This ontology should be agnostic to the data access» $ 04:35 AM 2016-07-05 $
Describes the Client Identifier (ClientId) parameter in an AccessMethod.MQTT connection. This parameter identifies the Client to the MQTT Server.
Captures an Event that triggers a change on the Context.ObjectComponent's state.
Some event types from the Gaming domain are: PointerEnter PointerExit PointerDown PointerUp PointerClick Drag Drop Scroll UpdateSelected Select Deselect Move InitializePotentialDrag BeginDrag EndDrag Submit Cancel
%CLASS_HIERARCHY% any Context.ObjectComponent.Event entities. This class hierarchy includes the subclass StimulusEvent.
Connects a Record with its correspondent Modality. This can be read, as follow: "A Record observes a Modality". This object property is a subproperty of ssn:observedProperty: [ssn:Observation] ––– (ssn:observedProperty) –––> [ssn:Property] [Record] ––––––– (observedModality) –––––> [Modality]
[ESS 1.0]: A record (bci:Record) has a specific (single) defined modality (bci:Modality). [ESS 2.0]: A record (bci:Session) has a specific defined RecordedParameterSet, which groups various (multiple) RecordedModality (Modality-ies). Therefore, a record (bci:Session) can be associated with multiple RecordedModality (bci:Modality) definitions.
Connecting a Record individual with its correspondent Modality
A broker (or MQTT Server) conforms to the following definition in the latest OASIS MQTT specification: MQTT Version 3.1.1 Plus Errata 01 (OASIS Standard Incorporating Approved Errata 01 10 December 2015) – 1.2 Terminology – (Server).
As defined in: MQTT Version 3.1.1 Plus Errata 01 (OASIS Standard Incorporating Approved Errata 01 10 December 2015) – 1. Introduction – (1.5 Data representations).
Describes the broker (a MQTT Server) parameter in an AccessMethod.MQTT connection.
An IRI locator to access a Web resource.
A http-schemed IRI has the ability for content-type negotiation; and thus, it can process the media type of the Web resource.
AccessMethod: access to the Web resource that represents the Data File that storages the Record. Descriptor: external Web resource IRI.
Describes the classification of CognitiveAspects. One application for this Aspect is Learning.
%CLASS_HIERARCHY% the CognitiveAspects of the Records.
Connects a (Context.Object or Context.ObjectComponent) with the set of Context.ObjectComponents that comprises its internal structure.
Connecting a (Context.Object or Context.ObjectComponent) with its Context.ObjectComponents
Captures the alphabet symbol of the ResponseTag, representating its "State". BCI domain applications can define their own specific symbolic scheme to represent its relevant States.
An alphabet-based symbolic scheme, could be: "A B C D E...". Thus, a specific State, would be: {"B"}
It is the architectural description of a specific part of a Context, based on the dimension of time (temporality). A Context is compose of a non-empty sequence (see the editorial note) of Context.Scenes. A Context.Scene is related to other Context.Scene based on its temporality: occurrence in its sequence. A Context.Scene object can be composed of multiple Context.Scenes. A Context.Scene corresponds to the notion of World or Level on a Gaming platform.
"In mathematics, a sequence is an ordered collection of objects in which repetitions are allowed. (...) Unlike a set, order matters, and exactly the same elements can appear multiple times at different positions in the sequence". Reference: [Wikipedia: Sequence]
On a Simulation: [driving a car in not-busy day on a freeway]; [driving a car in rush hour on a main city road]. On a Video Game: World 3; Level 3-2.
A StimulusTag is associated with (has) a StimulusEvent.
Connecting a StimulusTag with its correspondent StimulusEvent.
Each Device supports a specific channeling schema information: all the supported logical components (Channels) and their extended metadata that describe a "more concrete" subset of its Modality's data structure model and template, based on the Device's own physical spec of its operational features and functionalities. A DeviceChannelingSpec captures two information sets for a specific Device: Its complete channeling schema description, in a form of an external document specification (outside the metadata repository): a specialized Descriptor. Relevant metadata attributes regarding the specific characteristics of the Device's channeling schema: a set of related Channels. The structure described in a DeviceChannelingSpec (first information set mentioned above) is a functional subset of the ChannelingSpec defined for the Modality that the Device supports, following the [SSN] data model. Hence, for practical reasons, a DeviceChannelingSpec is defined as a subclass of ChannelingSpec.
Theoretically, a DeviceChannelingSpec could be defined as a specialized DeviceSpec concept. However, for practical reasons, this ontology aligns the definition of its first information set with ChannelingSpec.
%CLASS_HIERARCHY% any relevant type of a DeviceChannelingSpec to capture the external information that defines the channeling schema information of a Device.
Connects a RecordedData with its corresponding DataFormat that describes the representation of the data observed by a Device.
Connecting a RecordedData with its corresponding DataFormat
«Concerning EEG, this ontology only defines its related classes. It does not extend or define any specific properties for EEG.» $ 04:27 AM 2016-07-29 $
Connects an EegRecord with its correspondent EegDevice. This can be read, as follow: "An EegRecord is observed by an EegDevice". This object property is a subproperty of observedByDevice: [Record] –––––– (observedByDevice) ––––––> [Device] [EegRecord] ––– (observedByEegDevice) –––> [EegDevice]
Connecting an EegRecord individual with its correspondent EegDevice
Connects a Record with its correspondent RecordedData set. This can be read, as follow: "A Record has as its observation result a RecordedData set". This object property is a subproperty of ssn:observationResult: [ssn:Observation] ––– (ssn:observationResult) –––> [ssn:SensorOutput] [Record] ––––––– (observationResult) –––––> [RecordedData]
Connecting a Record individual with its correspondent RecordedData set
Connects a Subject with a set of Interactions where he/she participates in.
Connecting a Subject with a set of Interactions where he/she participates in.
[SSN] Relation from a EegDevice to its EegNonChannel describing the non-channeling measurement capabilities (a set of measurement properties) of the EEG BCI device.
This ontology leaves open to BCI applications the way how they should describe properly basic non-channeling measurement capabilities for its relevant set of different classes of sensors (Device class hierarchy) used in BCI activities, following the description of the ssn:MeasurementCapability concept. Based on their system requirements, BCI applications may define a set of restrictions and specialized connections (subproperties) on the property hasNonChannelData (subproperty of ssn:hasMeasurementCapability) for each particular subclass of Device (subclass of ssn:Sensor), which describes sensors for specific types.
has non-channeling EEG data (other EEG measurement capability)
** HIDDEN CONTENT ** ============================================================================== ** scopeNote ** Manufacturer (source [XDF], [ESS]): manufacturer of the sensor (device). { History note } [ESS 1.0] Corresponds to the (/study/summary/recordedModalities/modality/recordingDevice) node definition: name or type of recording device used to acquire data (manufacturer name). [ESS 2.0] Corresponds to the (/study/recordingParameterSets/recordingParameterSet/channelType/modality/name) node definition: the name (brand) of the sensor device. For example: BioSemi, OptiTrack, SMI, etc. ==============================================================================
[SSN], [XDF] A DeviceSpec is a ssn:SensorDataSheet (information object) that records (describes) specific properties (such as: hardware specs, power used, types of connectors, etc.) of a Device. It has been modeled as a composite object so that it can be composed as a set of DeviceSpecs to describe specific parts of a Device. In this way, a DeviceSpec is considered as a bag of descriptive properties about the Device. A DeviceSpec is a specialized Descriptor. The relevant set of a Device's properties are recorded directly (with hasChannelData and hasNonChannelData), but the DeviceSpecs can be used to record any other descriptive information related to the physical device, such as: to record the manufacturers specifications verses observed capabilites, or if more is known than the manufacturer specifies, etc.
The channeling schema that supports a Device is defined as an independent component from the DeviceSpec. A Device's channeling schema (DeviceChannelingSchema) is a subset of the generic ChannelingSchema defined for its correspondent Modality. This ontology does not define any information object in particular of a DeviceSpec.
Some BCI applications based on [XDF], find important to keep information regarding the hardware specifications of its Devices. Hence, a BCI application could define a classification for different type of specifications, such as: Hardware specs: Manufacturer (source [XDF], [ESS]): manufacturer of the sensor (device). Material (source [XDF]): conductive material of the sensor (e.g. Ag-AgCl, Foam, Plastic, Rubber). Model (source [XDF]): model of the sensor. Serial number (source [XDF]): serial number of the device. Its generalization was taken from the description of the "Gaze meta data". Ownership specs: Name / Label: a logical human-readable name or label of the device. Organization: organization name that owns the device.
%CLASS_HIERARCHY% specific types of DeviceSpec.
Connects an Interaction with its set of Subjects.
Connecting an Interaction with its set of Subjects
Describes the classification of NeurologicalAspects. One application for this Aspect is glaucoma monitoring.
%CLASS_HIERARCHY% the NeurologicalAspects of the Records.
Connects a RecordedData with a set of AccessMethods that describes how the data is being accessed by the BCI application.
Connecting a RecordedData with its associated AccessMethods
Connects a StimulusEvent with its associated Modality-ies. This can be read, as follow: "A StimulusEvent is proxy for a Modality". This object property is a subproperty of ssn:isProxyFor: [ssn:Stimulus] ––– (ssn:isProxyFor) –––> [ssn:Property] [StimulusEvent] ––– (isProxyFor) –––––> [Modality]
The following descriptions capture the definition of this relation (4.2.13 Stimuli-Centered, 5.3.1.2.1 Stimuli) adjusted to this ontology: The role of StimulusEvents as a proxy between the Device and the object of sensing (Context.Object). A StimulusEvent may only be usable as proxy for a specific region of an observed Modality.
Connecting a StimulusEvent with its associated Modality(ies).
In [Shafer2001] we find the following definition of Context: Dey et al. define context as "any information that can be used to characterize the situation of entities (i.e., whether a person, place, or object) that are considered relevant to the interaction between a user and an application" (p. 106). Thus, context awareness implies two attributes of a system: the ability to obtain context and the ability to utilize contextual information. For the purpose of this ontology, a Context is the architectural description of the environment (external settings, components and procedures) on which a Subject interacts with it, during a Session.
A classification (class hierarchy) for Context has been not yet defined.
Physical descriptions of any environment. Simulations. Video Games. Virtual Reality environments.
Connects an entity with a set of Descriptors.
Connecting an entity with a set of Descriptors.
Connects a Channel with its associated DeviceChannelingSpec.
Connecting a Channel with its associated DeviceChannelingSpec definition.
Connects a (Context.Scene or Record or RecordedData or DataBlock) with its previous (Context.Scene or Record or RecordedData or DataBlock) of the sequence.
[Context.Scene] On a Video Game: (Level 3-2) hasPrevious (Level 3-1). [Record]: an observation is linked to its previous observation. Their difference could be on their channeling settings. [RecordedData]: links to the previous data version of the current data set. [DataBlock]: points to the previous data unit value from the current one along the sequence.
Connecting a (Context.Scene or Record or RecordedData or DataBlock) with its previous (Context.Scene or Record or RecordedData or DataBlock).
Connects a Context.Object with its Context.Role.
Describes any Event issued by a Subject while performing a specific Activity. Actions are considered to be structural components of an Activity, which are performed by the Subject while interacting with the Context. As an interaction event, an Action can register many PlayoutInstant.SubjectActions in a Playout.
%CLASS_HIERARCHY% any relevant Action classification that Subjects can do, while performing an Activity.
«This ontology will not define a "location" concept of a Context. BCI applications may extend its own ontology to include this definition if necessary.» $ 06:26 AM 2016-08-14 $
Connects a Context with an entity that represents or describes its location.
Connecting a Context with an entity that represents or describes its location.
Describes the classification of EmotionalAspects.
%CLASS_HIERARCHY% the EmotionalAspects of the Records.
The NonChannel of a specific EegDevice.
non-channeling EEG data component (other EEG measurement capability)
%CLASS_HIERARCHY% any relevant NonChannels specific for an EegDevice.
[SSN] It's the classification of ssn:FeatureOfInterest for BCI Activities. This concept captures the view or interpretation for the Records.
The following descriptions capture the definition of this concept ([SSN: FeatureOfInterest] and [Compton2009]) adjusted to this ontology: An Aspect is an abstraction of BCI activities performed by humans, from the human body's state perspective. Devices observe physiological signals (Modality-ies) of Aspects: for example, the EEG signals (Modality) of an emotion (Aspect). Aspects are human body's states that are the target of sensing.
%CLASS_HIERARCHY% the Aspects of the Records. Three main Aspects are defined in this ontology.
Connects a RecordedData set with its correspondent Record.
Connecting a RecordedData set with its correspondent Record
Describes the state of the Subject during the Session, throughout a collection of external specifications which capture extended metadata of the Subject's overall state. A state can be further classified properly to document more accurately the nature of the metadata (such as physiological state, cognitive state or emotional state). The nature of this concept is "transient" and depends directly on the Session: it is considered as an extended collection of metadata related to the Session that captures the overall state of the Subject during the data recording. A SubjectState is, itself, a specialized Descriptor that may have multiple Descriptors associated with, which describe extended metadata sets such as the HL7 Record.
Some examples of SubjectState may include descriptions regarding: Physiological state: [ESS] Age: Subject's age (in years) at the time of the Session. [ESS] Height: Subject's height in centimeters (at the moment of the Session). [ESS] Weight: Subject's weight in kilograms (at the moment of the Session). [ESS] Hearing: Subject's hearing (e.g. "CorrectedToNormal", "Impaired", "Normal"). [ESS] Vision: Subject's vision (e.g. "CorrectedToNormal", "Impaired", "Normal"). [ESS] Caffeine: number of hours since last caffeine intake, if less than 12 hours. [ESS] Alcohol: whether the Subject has consumed alcohol within 24 hours before the Session (a logical value). [ESS] Medication: specification of the medication intake based on different parameters (time, chemical compounds, etc.). Drowsiness: identified in [HED 1.31] as "awake". Stress level. [HED 1.31] Emotional state: Alertness. Some additional metadata related to this concept used for research purposes could be: A set of attributes to label the identity of the Subject in the Session. Example: [ESS] A Lab. ID as a de-personalized Subject identifier in the research lab. [ESS] A sequential ID to identify the Subject in a collection of Sessions. (Case: "InSessionNumber" attribute in [ESS 2.0]). [ESS] An attribute to identify the group type that the Subject belongs to based on the research nature of the Sessions. Example: a Session Group to identify the Subject's group (e.g. "Autistic", "Normal", "Control", etc.).
Subject's state during a specific session
%CLASS_HIERARCHY% the different types of SubjectStates that can be found in a Session.
Connects an EegDevice with its correspondent EegRecords. This can be read, as follow: "An EegDevice made EegRecords". This object property is a subproperty of madeRecord: [Device] –––––– (madeRecord) ––––––> [Record] [EegDevice] ––– (madeEegRecord) –––> [EegRecord]
Connecting an EegDevice individual with its correspondent EegRecord
Connects a set of Playouts with its corresponding (Context or Session).
Connecting an individual with exactly one (Context or Session)
Connects a (Context or Context.Scene) with its Context.Scenes.
Connecting a (Context or Context.Scene) with its Context.Scenes
The XDF DataFormat.
Represents a XDF DataFormat. XDF is a general-purpose container format for multi-channel time series data with extensive associated meta-information. XDF is tailored towards biosignal data such as EEG, EMG, EOG, ECG, GSR, MEG, etc.
Connects an EegDeviceChannelingSpec with the set of EegChannels that comprises its internal structure.
Connecting an EegDeviceChannelingSpec with its EegChannel set.
XSD dateTime associated to an entity, that indicates the starting-point of a time interval. BCI applications should, at least, measure these time values in seconds.
For simplicity, this ontology does not define explicitly a TimeInterval concept.
Connects an Activity with its correspondent Action set.
Connecting an Activity individual with its correspondent Action set.
Represents a CoAP AccessMethod. Similarly as HTTP, this software protocol supports IRI and content-type negotiation.
Connects an EegChannel with its associated EegDeviceChannelingSpec.
Connecting an EegChannel with its associated EegDeviceChannelingSpec definition.
Connects a Device with its related DeviceChannelingSpec.
A sub property of hasDescriptor for connecting a Device with its related DeviceChannelingSpec.
Connects a (Session set and/or an Interaction set) that are associated with a Collection.
Connecting a (Session set and/or an Interaction set) with its related Collection.
Describes a Machine Learning Model that "detects something" in a DataSegment. A common name given for a Model is Classifier.
In the BCI domain, all the Machine Learning processes can generate many different results. These results are called "Features". A feature is a transient information object, i.e., it has an expiration date. This concept is not defined in this ontology.
Right after a set of DataSegments is created, two consecutive tasks occur: A set of editing processes is run on the recordings, which classify the data sets based on different Models. A set of ResponseTags ;is created, which capture the information related to "what is so special about" a particular DataSegment.
Specifies how a Context.Object participates (its "Role") in the Context.Scene. A Context.Object only has one Context.Role.
This ontology does not define any specific Context.Role subclasses.
Character: The Context.Object participates as a character in the Context.Scene. That is, as an autonomous animated entity that interacts directly (in the foreground) with the Subject. For some BCI applications, this role describes all the Context.Objects that forms a "Protocol" or "Procedure"; that is, the ones that the Subject needs to pay attention to. Property: The Context.Object participates as a property in the Context.Scene. That is, as a co-dependant entity that can influence the configuration of any entity in a Context.Scene. Scenery: The Context.Object participates as part of the scenery in the Context.Scene. That is, as an (autonomous) animated entity that interacts indirectly (in the background) with the Subject. Some BCI applications implement simple Contexts, based solely on two structural roles for Context.Objects: Background. Foreground: where the "Protocol" or "Procedure" is implemented. Hence, the classification described above can be mapped with this terminology in the following way: Background is equivalent to the scenery role. Foreground is equivalent to the character role.
The classification of how a Context.Object participates in a Context.Scene.
%CLASS_HIERARCHY% the different ways ("Roles") in that Context.Objects can participate in a Context.Scene.
Activity is the Subject's physical state while interacting with the Context during a specific Session. This concept descirbes an Activity performed by the Subject on a specific Session while interacting with a specific Context. BCI applications monitor the Subject's physical state during the Sessions. This concept identifies the type of Activity that the Subject is performing while recording the data in a Session. Hence, each Session associates a single Subject interactions with a single Context while performing a single Activity. An Activity can be break down as a set of Actions, performed by the Subject while interacting with the Context.
Relationship between Activity and Aspect: BCI applications are designed to analyze how an Activity influences an Aspect: it's part of the research scheme and purpose of a BCI application. From the perspective of a BCI application, an Activity has a "main" Aspect to analyze. A SPARQL triple pattern matching that connects Activity(ies) to Aspects would be: ?Session hasActivity ?Activity ?Session hasRecord ?Record ?Record bci:aspectOfInterest ?Aspect
The concept of Activity is agnostic regarding the number of Subjects engaging in an individual Activity. The ontology clearly defines that the connection between Subjects and Activity(ies) is through Sessions: one Session associates one Subject performing one Activity while interacting with one Context. BCI applications can use this concept as a way to annotate/mark (Marker) the Records (DataSegments).
Some subclasses of this concept could be: Glaucoma Tracking: This Activity type is a common example for "pre-screening" of Subjects. Learning: BCI applications can apply different Stimuli (StimulusEvent) to the Subjects. This Activity type is a common example for "interactive" observations. Sleeping: BCI applications don't apply any kind of Stimuli to the Subjects (there are no StimulusEvent). This Activity type is a common example for "running" observations: continuous observations.
%CLASS_HIERARCHY% any relevant Activity classification that Subjects can engage on in Sessions.
Describes the data logging (recording) of the dynamic state of the Context: the "play out" of the happenings. A Playout consist of many PlayoutInstant(ces).
Captures the architectural description of a stand-alone entity ("logical" or "physical") that structurally forms part of a Context.Object. A Context.ObjectComponent can be compose of Context.ObjectComponents.
Audio: A Context.ObjectComponent with audio capabilities. Camera: A Context.ObjectComponent that defines a specific visual perspective for the Subject. Effects: A Context.ObjectComponent that can define specific visual effects. Layout: A Context.ObjectComponent that can define specific layout configurations. Physics: A Context.ObjectComponent that can define specific behaviour based on Physics models. Transform: A Context.ObjectComponent that defines the logic of how an entity can move. Protocol or Procedure: some BCI applications may need to define a set of Context.Objects that the Subject needs to pay attention to. A specific type of a Transform could be defined to represent the logical behaviour or movement of an entity based on an algorithm. Video: A Context.ObjectComponent with video recording capabilities.
%CLASS_HIERARCHY% the entities that can form any Context.Object.
Captures the architectural description of a stand-alone entity ("logical" or "physical") that participates in a Context.Scene. A Context.Object can be compose of Context.Objects. A Context.Object is compose of a non-empty set of Context.ObjectComponent.
%CLASS_HIERARCHY% the entities that participate in any Context.Scene.
Describing entities in any Context.Scene.
Represents a RESTful AccessMethod, where the data is exchanged in JSON format.
Connects a Channel to the supported Modality is described for. This can be read, as follow: "A Channel is described for (supports) Modality". This object property is a subproperty of ssn:forProperty: [ssn:MeasurementCapability] ––– (ssn:forProperty) –––> [ssn:Property] [Channel] –––––––––– (forModality) –––––> [Modality] [SSN] A relation from a ssn:MeasurementCapability to the ssn:Property the capability is described for. (Used in conjunction with ssn:ofFeature).
Connecting a Channel to the supported Modality is described for.
Counts the number of samples of the Record.
[XDF] It is defined in the StreamFooter chunk as <sample_count>.
XSD dateTime associated to an entity. BCI applications should, at least, measure these time values in minutes.
Connects a Modality with its correspondent Aspect. This can be read, as follow: "A Modality is modality of Aspect". This object property is a subproperty of ssn:isPropertyOf: [ssn:Property] ––– (ssn:isPropertyOf) –––> [ssn:FeatureOfInterest] [Modality] ––––– (isModalityOf) ––––––––––> [Aspect]
Connecting a Modality with its correspondent Aspect.
Corresponds to the "entry points" of the semantic annotations (event tags) related to a specific DataSegment. This concept captures the annotation tags of the data.
annotation tag (or data segment pointer)
%CLASS_HIERARCHY% the type of Markers (or Annotation Tags) that define "entry points" in DataSegments. This ontology defines two types of Markers: the ResponseTag and the StimulusTag.
Connects a DataSegment with its correspondent DataBlock set.
Connecting a DataSegment individual with its correspondent DataBlock set.
[SSN] The NonChannel of any Device describes a set of measurement properties (ssn:MeasurementProperty) of a sensor (ssn:Sensor) in specific conditions, as explained in SSN MeasuringCapability module, that are not related directly to any DeviceChannelingSpec. Note that the measurement properties describe in this concept are of a sensor (Device subclass of ssn:Sensor), not of a specific observed measurement (Record subclass of ssn:Observation).
This ontology leaves open to BCI applications the way how they should describe properly basic non-channeling measurement capabilities for its relevant set of different classes of sensors (Device class hierarchy) used in BCI activities, following the description of the ssn:MeasurementCapability concept found at: (5.3.5 MeasuringCapability » 5.3.5.2 How to describe capabilities of a sensor?), (5.4.2 Smart product example » 5.4.2.3 Measurement capabilities). The sensor ontology does not restrict the way in which specific measurement properties (ssn:MeasurementProperty) are described. Thus, specialized applications may defined their own RDF properties (data or object properties) to define values of measurement properties (ssn:MeasurementProperty). If necessary, BCI applications should (but are not require to) define a set of restrictions and specialized connections (subproperties) on the property hasNonChannelData (subproperty of ssn:hasMeasurementCapability) for each particular subclass of Device (subclass of ssn:Sensor), which describes sensors for specific types. A relevant non-channeling measurement property (ssn:MeasurementProperty) related to a Device is sampling rate. Based on the modeling of the ssn:MeasurementCapability and ssn:MeasurementProperty concepts and the guidelines found in (5.4.2 Smart product example » 5.4.2.2 Sensor), this ontology defines the SamplingRate concept.
non-channeling data component (other BCI measurement capability)
%CLASS_HIERARCHY% a set of relevant non-channeling measurement capabilities for each type of Device.
Each Modality defines its own specific channeling schema information: a complete, generic and descriptive set of all possible Channels and their extended metadata attributes that defines the data structure model and template of the Modality. A ChannelingSpec captures the complete description of the channeling schema information, in a form of an external document specification (outside the metadata repository). Similar to the DeviceSpec concept, a ChannelingSpec is a specialized Descriptor.
A channeling schema information related to all kind of EegRecords would define around 32 fields (i.e., EegChannels) to describe a complete data structure regarding EEG data. The full specification for this channeling schema information would be associated with the generic EegModality concept. A proper name for this spec would be EegChannelingSpec.
%CLASS_HIERARCHY% any relevant type of a ChannelingSpec to capture the external information that defines the complete channeling schema information of a Modality.
Connects a Channel to the Aspect is described for. This can be read, as follow: "A Channel is use to describe a property of an Aspect". This object property is a subproperty of ssn:ofFeature: [ssn:MeasurementCapability] ––– (ssn:ofFeature) –––> [ssn:FeatureOfInterest] [Channel] ––––––––––– (ofAspect) ––––––––––> [Aspect] [SSN] A relation from a ssn:MeasurementCapability to the ssn:FeatureOfInterest the capability is described for. (Used in conjunction with ssn:forProperty).
Connecting a Channel to the Aspect is described for.
Captures any relevant entry log in a Playout. Two specific type of instances are defined: PlayoutInstant.SubjectAction. PlayoutInstant.ContextEvent.
Describing entities that form any log entry in a Playout.
%CLASS_HIERARCHY% the types of log entries in a Playout. Two important types of log entries are defined in this ontology.
** HIDDEN CONTENT ** ============================================================================== ** scopeNote ** %CLASS_HIERARCHY% any relevant type of BCI devices to measure specific Modality(ies) for BCI activities, such as: EEG (Electroencephalogram) device. ECG (Electrocardiogram) device. MoCap (Motion Capture) device. Example: LeapMotion (MoCap) Tracker. Eye-Gaze device (for gaze or eye-tracking). Example: EyeTribe. Audio device. Video device. Hand-Gesture device. Keyboard device. Mouse device. Visual BCI device. This ontology does not define all the BCI devices listed above. ==============================================================================
[SSN] A Device is a physical piece of technology (a system in a box) that implements a sensing method (therefore a ssn:SensingDevice) and, thus, observe some Modality (a ssn:Property) of an Aspect (a ssn:FeatureOfInterest). In the BCI domain, a Device is a physical BCI device (or sensor) that is used to measure BCI activities. A Device, of course, collects data (represented by RecordedData) in an ssn:Observation (a Record).
[SSN] Based on the guidelines explained in the following examples: (5.3.12 Device), (5.4.1 University deployment example » 5.4.1.3 Sensor), (5.4.2 Smart product example » 5.4.2.2 Sensor), (5.4.3 Wind sensor (WM30) » 5.4.3.2 Wind Sensor system), and (5.4.4 Agriculture Meteorology Sensor Network » 5.4.4.1.3 Sensor view), Some of the core restrictions modeled for ssn:SensingDevice (Device) are: For ssn:MeasurementCapability, two distinct kinds of measurement capabilities are identified and defined: Those used for defining the Channeling Spec: a set of Channels. These are associated indirectly via the DeviceChannelingSpec concept. Other measurement capabilities not related to any channel definition: NonChannels. These are associated directly via a ssn:hasMeasurementCapability sub property, as follow: ssn:hasMeasurementCapability (hasNonChannelData) only ssn:MeasurementCapability (NonChannel): multiple instances. ssn:observes (observes) only ssn:Property (Modality): for BCI, it's implied that it only has one instance. ssn:detects (detects) only ssn:Stimulus (StimulusEvent): multiple instances; details (what made) the ssn:Sensor input. Additionally, it's important to highlight the following concepts: All physical sensor devices are represented by the class ssn:SensingDevice in the SSN ontology. Instances of this class possess all properties of the classes ssn:Sensor and ssn:Device.
[Compton2009] According to the Sensor Ontology, a sensor has a set of independent cluster of concepts: Domain: FeatureOfInterest and PhysicalQuality. Abstract properties: OperationModel that defines a ResponseModel. Concrete properties: SensorGrounding. A Device in this ontology corresponds to the concepts for Abstract properties (#2).
%CLASS_HIERARCHY% any relevant type of BCI devices to measure specific Modality(ies) for BCI activities.
** HIDDEN CONTENT ** ============================================================================== ** HED class in EXAMPLE SPEC ** <owl:Class rdf:about="&bci;HED.Stimulus"> <rdfs:subClassOf rdf:resource="&bci;StimulusEvent"/> <skos:scopeNote rdf:datatype="&rdfs;Literal">%CLASS_HIERARCHY% any XXX</skos:scopeNote> <skos:example rdf:datatype="&rdfs;Literal"> HED.Auditory HED.Pain HED.Smell HED.TMS HED.Tactile HED.Taste HED.Visual </skos:example> <skos:definition rdf:datatype="&rdfs;Literal">Defines a general Stimuli HED.</skos:definition> <skos:prefLabel rdf:datatype="&rdfs;Literal">HED.Stimulus</skos:prefLabel> <DCMIType:StillImage rdf:datatype="&rdfs;Literal">HED.Stimulus_Visual.png</DCMIType:StillImage> <dct:source rdf:datatype="&rdfs;Literal">[HED]</dct:source> </owl:Class> ** HED attribute for the HED class in EXAMPLE SPEC ** <owl:DatatypeProperty rdf:about="&bci;hasHEDtag"> <skos:definition rdf:datatype="&rdfs;Literal"> Event code tag, based on "Hierarchical Event Descriptor (HED) Tags for Analysis of Event-Related EEG Studies" document, (if available, otherwise leave blank).</skos:definition> <rdfs:range rdf:resource="&rdfs;Literal"/> </owl:DatatypeProperty> ==============================================================================
A StimulusEvent describes an event that triggers a stimulus to the Subject during a Session. By its own nature, it may affect the Subject's performance of the Activity (and, therefore, a set of Actions related to the Activity). A StimulusEvent is an external happening on a specific Context that generates the input for the sensors ([SSN] concepts). Thus, these events can be generated (issued) by a set of Context.Objects (architecturally speaking by Context.ObjectComponent.Events). In [SSN], this concept is a subclass of ssn:Stimulus and, therefore, a ssn:SensorInput, which describes the (data) input for the ssn:Sensors. In the BCI domain, this concept is simply called an "Event": the stimuli or trigger that causes the relevant measurement to be, in fact, processed or analyzed.
The following descriptions capture the definition of this concept ([SSN: Stimulus], 5.3.1.2.1 Stimuli) adjusted to this ontology: StimulusEvents are detectable changes in the environment (Context), i.e., in the physical or a virtual world. A StimulusEvent is an event in the real (or virtual) world that "triggers" the Device. StimulusEvents can either be directly or indirectly related to observable Modality-ies and, therefore, to Aspects. The same types of StimulusEvents can trigger different kinds of Devices and be used to reason about different Modality-ies. The Modality-ies associated to the StimulusEvent may be different to eventual observed (Record) Modality. It is the StimulusEvent, not the Context.Object that triggers the Device. A StimulusEvent may only be usable as proxy for a specific region of an observed Modality.
A StimulusEvent describes a specific component of the Context that "generates" an annotation tag (StimulusTag). Some examples of a StimulusEvent are: Red light for 15 seconds at a 66 Hz. frequency. Green light for 10 seconds at a 74 Hz. frequency.
%CLASS_HIERARCHY% any relevant contextual event that describes the stimuli or trigger that causes a relevant BCI measurement.
A ResponseTag is associated with (has) a Model.
Connecting a ResponseTag with its correspondent Model.
Information object that captures a Marker issued by a StimulusEvent. While doing the data recording, the system automatically creates a Marker (StimulusTag) for the ssn:SensorInput based on the Context (issued by a Context.ObjectComponent.Event, specifically a StimulusEvent) of the Session.
This is one of the most important concepts in this ontology.
A RecordSpec is an information object that records (describes) specific properties (such as: specs of assistant materials, ambience settings, tools, etc.) regarding how a Record was made. Similarly to DeviceSpec, the structure of RecordSpec has been modeled as a composite object so that it can be composed as a set of RecordSpecs to describe specific parts on how a Record was made. In this way, a RecordSpec is considered as a bag of general, extended and descriptive properties about the Record settings. A RecordSpec is a specialized Descriptor. RecordSpecs can be used to record any other descriptive and extended information related to any settings or conditions on how the Record was made.
The channeling schema of a Record is defined as an independent component from the RecordSpec. A Record's channeling schema (RecordChannelingSchema) is a subset of the DeviceChannelingSchema defined for its correspondent Device. This ontology does not define any information object in particular of a RecordSpec.
Some BCI applications based on [XDF], find important to keep information regarding what assistant materials (hardware) and how they were used when the Record was made. Hence, a BCI application could define a classification for different type of specifications, such as: Hardware specs for EegRecords: Coupling (source [XDF]): type of coupling used (e.g. Capacitive, Dry, Gel, Saline). Surface (source [XDF]): type of the contact surface (e.g. Bristle, Pad, Pins, Plate).
%CLASS_HIERARCHY% specific types of RecordSpec.
Captures the number of channels used in a Record or supported by a Device. Its value is expected to be a positive integer.
[XDF]: <channel_count> is a non-negative integer that encodes the number of channels in the stream. [ESS 1.0]: number of (used) data channels.
Instead of using this generic datatype property, some BCI applications could define the following specific attributes, according to the recording setup, DeviceChannelingSpec and Record's Modality: Number of used LEDs. Number of used cameras.
Connects a Record with its correspondent Aspect. This can be read, as follow: "A Record is generated by capturing an Aspect (of interest)". This object property is a subproperty of ssn:featureOfInterest: [ssn:Observation] ––– (ssn:featureOfInterest) –––> [ssn:FeatureOfInterest] [Record] ––––––– (aspectOfInterest) ––––––––––> [Aspect]
Connecting a Record individual with its correspondent Aspect
Connects a DataBlock set with its correspondent RecordedData.
Connecting a DataBlock individual with its correspondent RecordedData
[SSN] Relation from a Device to a NonChannel describing the non-channeling measurement capabilities (a set of measurement properties) of the BCI device.
has non-channeling data (other BCI measurement capability)
[SSN] Relation between a Device (ssn:Sensor) and a Modality (ssn:Property) that the sensor supports (can observe). The object property composition (owl:propertyChainAxiom) ensures that if a Record (ssn:Observation) is made of a particular Modality (ssn:Property), then one can infer that the Device (ssn:Sensor) supports (observes) that Modality (quality). This object property composition defines a "theoretical attribute" that describes its supported functionality: Device.madeRecord ∘ Record.observedModality ⟹ Device.observes ≔ Modality. Device.hasDeviceChannelingSpec ∘ DeviceChannelingSpec.hasChannelData ∘ Channel.forModality ⟹ Device.observes ≔ Modality.
Connecting a Device individual with its correspondent supported Modality individual.
Connects a Modality with its related ChannelingSpec.
A hasDescriptor sub property for connecting a Modality with its related ChannelingSpec.
Sampling rate of the recording (Record). Its measurement unit is Hz.
Related concept for a Device: SamplingRate.
[ESS 2.0] Sampling rate of the modality (in Hz). In some file formats, e.g. XDF, each modality may be recorded at a different sampling rate.
Connects a (Playout or Context.ObjectComponent.Event or Action) with its correspondent PlayoutInstant(ces) log entries.
Connecting a (Playout or Context.ObjectComponent.Event or Action) individual with its correspondent PlayoutInstant(ces)
Defines a broader type of an EEG Record, which represents the class of observations for EEG (Electroencephalography) data.
%CLASS_HIERARCHY% any relevant EegRecords, based on specialized EegModality(ies), that BCI applications may require.
Connects a (Device or DeviceSpec) with its set of related DeviceSpecs.
A hasDescriptor sub property for connecting a (Device or DeviceSpec) with its set of DeviceSpecs.
Defines a broader type of an EEG Channel (channeling scheme information component), used in BCI applications to collect EEG (Electroencephalography) data. This concept relates directly to the notion of an electrode capturing brainwave activity.
BCI applications based on [ESS] and [XDF], could define the following channeling metadata attributes for an EegModality spec: Label: [ESS 2.0]: a comma separated list of labels corresponding channels. This node is required for EEG Modality. [XDF]: EEG channel label, according to the labeling scheme. For EEG, the preferred labeling scheme is 10-20 (or the finer-grained 10-5). Placement: [ESS 2.0]: location of the reference channel or channels used during EEG or ECG recording. Should only be provided if the ModalitySignalType (Modality) is EEG or ECG. For EEG, the preferred location convention is presented below. Choose between the following values (or provide a new value if the reference is not any of these options): { "Right Mastoid", "Left Mastoid", "Mastoids", "Linked Mastoids" [for electrically linked mastoids], "Cz" [top of the head], "CMS" [e.g. in BIOSEMI], "Left Ear", "Right Ear", "Ears", "Average", "Nasion", "Nose" }. For Wilson Central Terminal ECG reference use "WCT". [XDF]: { LocationX, LocationY, LocationZ }: 3D position (measured location) of the electrode on the head's surface based on a coordinate system (frame of reference). Each value is described as: { LocationX }: coordinate axis pointing from the center of the head to the right, in millimeters. { LocationY }: coordinate axis pointing from the center of the head to the front, in millimeters. { LocationZ }: coordinate axis pointing from the center of the head to the top, in millimeters. XDF states that if the used coordinate system is arbitrary, the application should then include well-known fiducials (landmarks) for co-registration. LocationType = { 10-10, 10-20, 10-5, Custom, EGI }: channel location type/standard used. [XDF] ChannelFormat = { double64, float32, int16, int32, int64, int8, string }: corresponds to the <channel_format> field of the StreamHeader chunk section. It's one of the 3 required fields in the XDF header. [XDF] Signal Referencing Scheme: isCommonAverage: (boolean data type); "true" if the subtracted reference signal was a common average, otherwise "false". isSubtracted: (boolean data type); "true" if a reference signal has already been subtracted from the data, otherwise "false". BCI applications should include their own relevant dictionaries (placement, formats, etc.), as part of their proprietary extended semantic definitions.
%CLASS_HIERARCHY% any relevant EegChannels, based on specialized EegModality(ies), that BCI applications may require.
** HIDDEN CONTENT ** ============================================================================== ** scopeNote ** %CLASS_HIERARCHY% any relevant type of BCI records generated by BCI devices for BCI activities, such as: EEG (Electroencephalogram) record. ECG (Electrocardiogram) record. MoCap (Motion Capture) record. Eye-Gaze record (for gaze or eye-tracking): A BCI Record that stores the coordinates of user's eye gaze captured by eye trackers. Audio record. Video record. Hand-Gesture record: A BCI Record that stores the coordinates and velocities of user's hands and fingers captured by trackers such as LeapMotion. Keyboard-Hit (keystroke) record: A BCI Record that stores the subject's hits on different keyboard keys. Mouse-Click record: A BCI Record that stores the position coordinates of a subject's clicks with different mouse buttons. Visual BCI record. This ontology does not define all the BCI records listed above. ==============================================================================
A Record is a type of ssn:Observation with the following characteristics: A single ssn:Observation for a specific unimodal BCI data capture task (with its own purpose). [SSN] A Sensing Method is used to estimate or calculate a value of a specific ssn:Property (Modality) based on a specific ssn:FeatureOfInterest (Aspect). A single Device is used to observe the unimodal BCI data (RecordedData). [SSN]: Record, along with its related concepts, defines an appropiate structure based on the following description: "An observation (Record) is a situation that describes an observed feature (Aspect), an observed property (Modality), a sensor (Device) and method of sensing used and a value (RecordedData) observed for the property: that is, an observation (Record) describes a single value (RecordedData) attributed to a single property (Modality) by a particular sensor (Device)". In the BCI domain, it's common that some related observations occur immediately after an observation has ended, by changing some of its initial channeling or Device settings (parameters or conditions). Hence, it is desirable to keep a temporal tracking of the previous and following related observations. This is achieved via the hasPrevious and hasNext object properties. The logical data structure template of a Record is defined in its associated RecordChannelingSpec information object. Additional relevant metadata can be extended via the object property hasMeasurementProperty.
[SSN] States that "an Observation is a description of the context, the Situation, in which the observation was made". In this ontology, the Context is directly related through the Session, which is a Situation where the Observation (Record) was made.
[SSN] Following the structure presented in this example, the Record concept has been modeled to describe BCI observations, including the following object properties: SSN object property BCI object subproperty Between (from)... ... and (to) ssn:featureOfInterest aspectOfInterest ssn:Observation (Record) ssn:FeatureOfInterest (Aspect) ssn:observedProperty observedModality ssn:Observation (Record) ssn:Property (Modality) ssn:observedBy observedByDevice ssn:Observation (Record) ssn:Sensor («sub subclass» Device) DUL:includesEvent includesEvent ssn:Observation (Record) ssn:Stimulus (StimulusEvent) ssn:observationResult observationResult ssn:Observation (Record) ssn:SensorOutput (RecordedData) ssn:isProducedBy isProducedByDevice ssn:SensorOutput (RecordedData) ssn:Sensor («sub subclass» Device) ssn:hasValue hasValue ssn:SensorOutput (RecordedData) ssn:ObservationValue (DataBlock) Proper restrictions have been designed accordingly for each object property.
[SSN] Following the guidelines explained in (5.3.6 Observation) and (5.4.2 Smart product example » 5.4.2.4 Observation), the main restrictions modeled for ssn:Observation (Record) are: Exactly 1 ssn:FeatureOfInterest (Aspect): details what was sensed. Exactly 1 ssn:Property (Modality): details what was sensed. Exactly 1 ssn:Sensor («sub subclass» Device): describes what made the Observation. Some ssn:Stimulus (StimulusEvent): details (what made) the ssn:Sensor input. Other restrictions are: Exactly 1 ssn:Sensing (describes how the Observation was made): not adjusted for BCI activities.
In [ESS 1.0]: Corresponds to the "eegRecordings" node: a specific collection of raw BCI data collected from a subject in a specific session. In [ESS 2.0]: Corresponds to the "dataRecordings" node: information about EEG (or other data modality) recordings.
%CLASS_HIERARCHY% any relevant type of BCI records generated by BCI devices for BCI activities.
Connects a (Context or Session) with its set of Playouts.
Connecting a (Context or Session) with its Playouts.
Information object that captures a Marker issued by a Model. In the BCI domain, a natural (physiological or neurological) change in the Subject's state while doing an Activity, is simply called a State. A ResponseTag could not be directly linked to a change in the Context (issued by a Context.ObjectComponent.Event, specifically a StimulusEvent) in a Session. A ResponseTag represents "something" detected by a Machine Learning Model (Model).
In a common M2M semantic search query, the following input parameters may be used to retrieve a set of ResponseTags related to its DataSegments: Activity: for example, driving. Aspect: for example, vigilance and alert. Modality: for example, EEG, EOG. Subject: filtered by gender, age, etc.
Connects a DeviceChannelingSpec with its related ChannelingSpec. This relation states that a DeviceChannelingSpec individual extends its related ChannelingSpec from which was derivated.
extends its modality channeling schema spec
A hasDescriptor sub property that connects a DeviceChannelingSpec with its related ChannelingSpec.
Indicates the AccessMethod's type: the nature of how the RecordedData can be accessed. This ontology only defines the two following Access Method Type: "File": archived access method. "Stream": real-time access method.
Based on the adjusted settings of the DeviceChannelingSpec made for the observation, a Record has its own specific channeling schema information: that is, the logical components (Channels) and their extended generic metadata set that describe the Record's own logical data structure (specific to the observation and the Subject), according to the recording setup. A RecordChannelingSpec captures two information sets for a specific Record: Its complete channeling schema description, in a form of an external document specification (outside the metadata repository). Relevant metadata attributes regarding the general characteristics of the channeling schema: a set of related Channels. The structure described in a RecordChannelingSpec (first information set mentioned above) is based on a concrete subset of the DeviceChannelingSpec that the Device supports. Hence, for practical reasons, a RecordChannelingSpec is defined as a subclass of DeviceChannelingSpec.
The channeling schema information objects are structured in the following way: The Channeling Schema of a... Modality (ChannelingSpec): it's the complete theoretical spec; the generic template for a specific ssn:Property. ––––> Device (DeviceChannelingSpec): it's a functional subset of the ChannelingSpec; ––––> defines the logical subset of the complete spec for the specific functionality of a ssn:SensingDevice. ––––––––> Record (RecordChannelingSpec): it's the concrete subset of the DeviceChannelingSpec for a specific ssn:Observation. ––––––––> This information object is user specific according to recording setup.
A RecordChannelingSpec for an EegRecord would define the values of the positions for specific EegChannels used by the EegDevice, when the observation is made. A proper name for this spec would be EegRecordChannelingSpec. For "Precision" Records, BCI applications may find important to keep the information regarding the Channel's positions (coordinates).
%CLASS_HIERARCHY% any relevant type of a RecordChannelingSpec to capture the external information that defines the channeling schema information of a Record.
%DATATYPE% Its Domain value is all the positive integers: { 1, 2, 3, ... }
Indicates the level of intensity related to its concept.
Aspect: the measurement of the intensity depends on the nature of the Aspect and purpose of the BCI application.
The channel number in the recording where the modality block starts.
Connects an Aspect with its correspondent Modality set. This can be read, as follow: "An Aspect has Modality(ies)". This object property is a subproperty of ssn:hasProperty: [ssn:FeatureOfInterest] ––– (ssn:hasProperty) –––> [ssn:Property] [Aspect] –––––––––– (hasModality) –––––> [Modality]
Connecting an Aspect with its correspondent Modality set.
Connects a (Subject or Session) with a set of Records that are associated with it.
Connecting a (Subject or Session) with its related set of Records
XSD dateTime associated to an entity, that indicates the ending-point of a time interval. BCI applications should, at least, measure these time values in seconds.
Relation between a RecordChannelingSpec and a ChannelingSpec that the observation extends through the associated DeviceChannelingSpec. The object property composition (owl:propertyChainAxiom) ensures that if a DeviceChannelingSpec extends a particular ChannelingSpec, then one can infer that the RecordChannelingSpec also extends that ChannelingSpec. This object property composition describes the extended spec of the channeling schema information object: RecordChannelingSpec.extendsDeviceChannelingSpec ∘ DeviceChannelingSpec.extendsChannelingSpec ⟹ RecordChannelingSpec.extends ≔ ChannelingSpec.
extends its related modality channeling schema spec
A hasDescriptor sub property that connects a RecordChannelingSpec with its related ChannelingSpec.
** HIDDEN CONTENT ** ============================================================================== ** scopeNote ** %CLASS_HIERARCHY% any relevant type of human signals (Modality Signal Type —nature of the data—) analyzed by BCI applications, such as: EEG (Electroencephalogram). ECG (Electrocardiogram). MoCap (Motion Capture). Eye-Gaze (for gaze or eye-tracking). Audio. Video. Hand-Gesture. Keyboard-Hit. Mouse-Click. This ontology does not define all the modalities listed above. ==============================================================================
[SSN]: A Modality is a kind of an "Observable Quality", i. e., an aspect (the human signals) of an entity (the human body) that is intrinsic to and cannot exist without the entity and is observable by a sensor (Device). In the BCI domain, the Modality defines a certain type of measurement (classification) related to a specific kind of data due to its nature. Literally, Modality means the "Mode of the data". The Modality defines, in an intrinsic manner, the operational functionality of any Device based on its related ChannelingSpec information. That is, a specific type of Device operates for a specific type of Modality: the nature of the data sensed. Each Modality must have its own complete and generic ChannelingSpec information.
The following descriptions capture the definition of this concept ([SSN: Property] and [Compton2009]) adjusted to this ontology: An observable Quality of human physiological signals. That is, a characteristic of an Aspect (human body's state) that is intrinsic to and cannot exist without the Aspect and is observable by a Device. Devices observe physiological signals (Modality-ies) of Aspects: for example, the EEG signals (Modality) of an emotion (Aspect).
A Modality has its own specific: Measurement procedures, Applications (each one with relevant attributes), and Stimuli.
[ESS 1.0]: This data object describes the name of the different type of modalities recorded in a study. Corresponds to the (/study/summary/recordedModalities/modality/name) node definition. [ESS 2.0]: It contains information about one or more set of recording data parameters (which can apply to multiple Records). Corresponds to the (/study/recordingParameterSets/recordingParameterSet) node definition. Most studies have only a single parameter set, i. e., the same types of data (EEG, Mocap, etc.) are recorded in the same channel ranges, with the same device types and with the same sampling rates. This "recordings parameter set" is associated with Records nodes (which represent the "dataRecording" nodes).
%CLASS_HIERARCHY% any relevant type of human signals (Modality Signal Type —nature of the data—) analyzed by BCI applications.
The given title or logical name of an entity. It is used to associate a human-readable label to entities.
Represents a MQTT AccessMethod, which is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. MQTT was designed as an extremely lightweight publish/subscribe messaging transport. This concept describes the corresponding definition of access parameters needed for a suitable MQTT connection.
Connects a RecordChannelingSpec with its related DeviceChannelingSpec. This relation states that a RecordChannelingSpec individual extends its related DeviceChannelingSpec from which was derivated.
extends its device channeling schema spec
A hasDescriptor sub property that connects a RecordChannelingSpec with its related DeviceChannelingSpec.
Connects a RecordedData with its correspondent DataBlock set. This object property is a subproperty of ssn:hasValue: [ssn:SensorOutput] ––– (ssn:hasValue) –––> [ssn:ObservationValue] [RecordedData] ––––– (hasValue) –––––––> [DataBlock]
A SPARQL triple pattern matching to find the DataBlocks of a Record via this object property would be: ?Record bci:observationResult ?RecordedData ?RecordedData bci:hasValue ?DataBlock ( Based on the following relationships: [Record] –––– (observationResult) –––> [RecordedData] [RecordedData] ––––– (hasValue) –––––––> [DataBlock] )
Connecting a RecordedData individual with its correspondent DataBlocks
Connects a Device with its correspondent Records. This can be read, as follow: "A Device made Records". This object property is a subproperty of ssn:madeObservation: [ssn:Sensor] ––– (ssn:madeObservation) –––> [ssn:Observation] [Device] ––––––––– (madeRecord) –––––––––> [Record]
Connecting a Device individual with its correspondent Record
Defines a broader type of an EEG Device, used in BCI applications to collect EEG (Electroencephalography) data.
%CLASS_HIERARCHY% any relevant EegDevices, based on specialized EegModality(ies), that BCI applications may require.
Connects a Device with its correspondent StimulusEvent set. This can be read, as follow: "A Device detects StimulusEvent". This object property is a subproperty of ssn:detects: [ssn:Sensor] ––– (ssn:detects) –––> [ssn:Stimulus] [Device] ––––– (detects) –––> [StimulusEvent] [SSN] A relation from a ssn:Sensor to the ssn:Stimulus that the ssn:Sensor can detect.
Connecting a Device individual with its correspondent StimulusEvent set.
Connects a PlayoutInstant log entry with its correspondent individual (Playout or Context.ObjectComponent.Event orAction) that issued its creation.
Connecting a PlayoutInstant with its correspondent (Playout or Context.ObjectComponent.Event or Action) individual.
Connects a Session with its associated (Context or Interaction or Subject).
Connecting a Session with its related (Context or Interaction or Subject).
** HIDDEN CONTENT ** ============================================================================== ** definition ** "(a network communication protocol and its parameters)" The identity scheme of the data access. The security scheme of the protocol. ** scopeNote ** %CLASS_HIERARCHY% the network communication protocols that BCI applications can use to access and retrieve the RecordedData. This ontology defines some of the aforementioned network communication protocols, commonly used by BCI applications. ** editorialNote ** This ontology does not define in any specific way the components regarding the identity and security schemes of an AccessMethod. This information could be extended, for example, through a set of undefined-general-purpose datatype properties to capture the following corresponding definitions: For the identity scheme of the data access: hasIdentity. For the security scheme of the protocol: hasSecurity and hasQoS. ==============================================================================
This concept captures any computer network mechanism (network communication protocol) through which the RecordedData can be accessed. An AccessMethod represents any specific standard communication protocol, such as: MQTT, MQTT-SN, HTTP, CoAP, FTP, etc. For the purpose of this ontology, an AccessMethod captures only the following components: Nature of the data access: file or stream. The locator (address) of the data.
The publish/subscribe mechanism is one of the preferred implementations for BCI applications.
The concept will be merged into the generic abstraction of <container> under the oneM2M spec, and made compatible with its emerging semantic extension. A <container> represents a "data collection" and, therefore, it's directly related to the RecordedData concept.
A specific type of Modality for EEG (Electroencephalography). This modality can be further classified depending on different measurement procedures, applications and set of stimuli.
%CLASS_HIERARCHY% any relevant EEG modalities. Following, we present a possible classification for this type: ERP (Event Related Potential -voltage-): related to a stimuli. VEP: Video. SSVEP: Steady-State. Caused by Flickering Visual Stimuli (2 different stimuli). Applications: Migraine (SSVE MSE - Complexity) and Glaucoma (mfVEP - Vision Field Sensitivity). TVEP: Transient. AEP: Aural "Free Run".
The channel number in the recording where the modality block ends.
A human-readable and descriptive label for general identification purposes associated to an instance.
If necessary, BCI applications may extend the definition of this attribute to specify the preferred notation scheme, using the semantic annotation skos:notation.
Related to Channel, this concept has the following definitions: [ESS 2.0]: a comma separated list of labels of the corresponding referenced channel or channels. This node is required for EEG Modality and it's used during EEG or ECG recording. For example, if using 10-20 system and numerical average of both mastoids, use "A1, A2" for {referenceLabel} and "Mastoids" for {referenceLocation}. Note that there could be multiple labels. [XDF] Signal referencing scheme: name of the dedicated reference channel(s), if part of the measured channels (repeated if multiple). For an EEG channel label, its value is based on the labeling scheme. For EEG, the preferred labeling scheme is 10-20 (or the finer-grained 10-5).
In a Channel: this attribute is used for codification (reference) and search (access) purposes, according to a preferred labeling scheme (see the editorial note). In a Marker: this attribute indicates a marker type. For example: "110" = "Red light being flashed".
A situation where multiple (more than one) Subjects interact with each other, while each is performing a single Activity. Commonly, it's expected that all the Subjects in an Interaction engage in the same Activity, but it's not required. Due that an Interaction group a set of Sessions (potentially many for each Subject), BCI applications can make correlations among these Sessions.
This concept defines a Cluster of Sessions: a cross-sectional collection of multiple related Sessions that occur at the same time.
Connects a (Record or RecordSpec) with its set of related RecordSpecs.
A hasDescriptor sub property for connecting a (Record or RecordSpec) with its set of RecordSpecs.
Connects a Record with its related RecordChannelingSpec.
A hasDescriptor sub property for connecting a Record with its related RecordChannelingSpec.
Connects a (Context.Scene or Context.Object) with the set of Context.Objects that comprises its internal structure.
Connecting a (Context.Scene or Context.Object) with its Context.Objects
It's the IRI of the resource that describes or represents the Model or classifier. A Model can be described in any language or format, such as PMML.
[SSN] It is a specific type of a ssn:SensorOutput (a piece of information outputted by a Device in an ssn:Observation: an observed value) for BCI activities. The value itself is being represented by a specific type of an ssn:ObservationValue (a sequence of DataBlocks). This concept abstracts a raw data set (independent of its representation and access method) outputted by a Device for a specific Modality. In this way, a RecordedData has: A single data representation, a DataFormat, and multiple AccessMethods (either archived or in real-time). In the BCI domain, it's common that the data "evolves" over time. That is, there are changes on the data structure: from its "initial" state (ever since it's collected from a Device: raw data) to "following" states (when applying specialized algorithms to recognizes patterns throughout Models: transformed data). For example, for EEG data its evolution over time resembles a tree structure. Hence, it is desirable for BCI applications to keep a temporal tracking of the previous and following versions of the data: a derived data tree throughout keeping links between data versions. This is achieved via the hasPrevious and hasNext object properties.
From the perspective of the data (RecordedData): Its physical structure is defined through the DataFormat. Its logical structure is defined through the associated RecordChannelingSpec of its Record (the defined collection of Channels).
Groups a collection of related Sessions and/or Interactions, which may be associated with different Activity(ies).
Collection generalizes the concept of Study as defined in [ESS]: a set of data collection efforts to answer one or few related scientific questions. This concept defines a longitudinal (temporal) collection of Sessions.
Connects a Marker with a DataSegment.
Connecting a Marker individual with a DataSegment.
Indicates the offset (start time) of the DataBlock. Its measurement unit (dimensional) is in milliseconds.
It is a logical data entity that group a set of sequentially linked DataBlocks, and thus, identifies a proper subset of a RecordedData. A time interval is implicitly found between the first DataBlock (startTime) and the last DataBlock (endTime) of the DataSegment. In the BCI domain: A DataSegment conforms the basic data unit for "tagging" purposes, i. e., to associate semantic annotations (event tags or Markers) to the data (DataBlock sets). A DataSegment is a collection of DataBlocks that expands a certain time interval. A DataSegment is considered a logical data entity (whereas a DataBlock is considered a physical data entity).
Right after a set of DataSegments is created, two consecutive tasks occur: A set of editing processes is run on the recordings, which classify the data sets based on different Models. A set of ResponseTags is created, which capture the information related to "what is so special about" a particular DataSegment.
A Model has associated a set of ResponseTags.
Connecting a Model with its correspondent set of ResponseTags.
Connects a RecordedData with its correspondent Device that produced it. This can be read, as follow: "A RecordedData is produced by a Device". This object property is a subproperty of ssn:isProducedBy: [ssn:SensorOutput] ––– (ssn:isProducedBy) –––> [ssn:Sensor] [RecordedData] ––– (isProducedByDevice) –––> [Device]
Connecting a RecordedData with its correspondent Device that produced it.
A Context.ObjectComponent.Event may influence an Activity, by causing (triggering) a set of Actions.
The relationship between an Activity and a Context is throughout a Session, which connects also the Subject (who performs the Activity while interacting with the Context).
Connecting a Context.ObjectComponent.Event individual with a correspondent Action set.
A specific person (probably anonymous but possessing unique identity) with certain attributes on which the Sessions are recorded (from which the data is observed: Record). The concept is based on the notion of Patient, specifically from a standarized Electronic Patient/Medical Record, such as the HL7 Record. An information object of this class, describes the Medical and Physiological "Condition" of a Subject. Therefore, it may have multiple Descriptors associated (such as HL7 Records or specific XML vocabularies from the industry). This ontology does not define any specific set of attributes associated to a Subject. BCI applications con extend this concept according to their information needs and system requirements.
The Subject is the point of reference (focus) of the data monitoring and data analysis, from which BCI applications collect Measurement Recordings. Hence, the name Subject instead of Person.
[ESS] and [XDF] define some useful data type properties (attributes) associated to a Subject. Some examples of these attributes are: Gender: Defined as an enumerated value = { Female, Male, ... }. It can be derived as a subproperty extended from the (dbp:Person).sex property definition. Year of birth (YOB): Defined as a positive integer greater or equal than 1900. It can be derived as a subproperty extended from the dbp:Person definition. Handedness: Defined as an enumerated value = { Ambidextrous, Left, N/A, Right }. Subject's dominantly used hand. Related to medical record. Hearing: Defined as an enumerated value = { CorrectedToNormal, Impaired, Normal }. Subject's hearing condition. Related to medical record. Vision: Defined as an enumerated value = { CorrectedToNormal, Impaired, Normal }. Subject's vision condition. Related to medical record.
Connects a Session with a set of SubjectStates which describe the overall state of the Subject during the Session.
A hasDescriptor sub property for connecting a Session with a set of SubjectStates
Connects a Record with a set of ssn:MeasurementProperty-ies. Through this relationship, BCI applications may extend the relevant metadata set related to the Record concept.
Connecting a Record with a ssn:MeasurementProperty set.
Captures a relevant entry log in a Playout of a Subject's Event issued by an Action instance during a Session.
Events (Actions) issued by a Subject during a Session.
Google Protocol Buffers DataFormat
Represents a Protocol Buffers DataFormat, which is a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols and data storage.
A Channel is a relevant metadata set that defines a logical component schema of a DeviceChannelingSpec's data structure model. A Channel is defined as a specialized ssn:MeasurementCapability type that describes a compounded set of measurement properties (ssn:MeasurementProperty-ies), as explained in SSN MeasuringCapability module. A Channel is associated to a DeviceChannelingSpec definition and, hence, to a RecordChannelingSpec. As part of a channeling spec, a Channel definition can be extended to incorporate contextual metadata semantics (i.e., properties to describe dimensional characteristics regarding what, when, how —including mathematical formulas for calculations—, where, why, etc.), depending on the DataFormat used for the data files. This information can be associated to a channel definition via a Descriptor set.
BCI systems naturally collects and transmits data from a sender (transmitter machine) to a receiver (receiving machine). In a general and abstract way, a channel is used to convey an information signal, for example a digital bit stream, from one or several senders (or transmitters) to one or several receivers. The concept of channel defined in this ontology aims to capture a relevant metadata set that describes the measurement properties for any type of channel.
A simplistic notion regarding the relationship and difference between the concepts of Channel and DataFormat, is depicted in the following example: If the used DataFormat were "CSV", then the channeling schema (DeviceChannelingSpec) would define the data's logical structure: [Channeling Schema] = { Col1: ID, Col2: Date, Col3: Name, ... }, where each column represents a specific Channel definition. Note that each column has its own related metadata and attributes; also, it follows its proper structure, format or notation scheme, etc.
Channels are the logical components of Records. Their structural relationship resembles a matrix, in the following way: [rows] Channels are different data rows. ⇉ ⇉ ⇉ ⇉ [columns] Data samples are different data columns. They correspond to specific time instances. ⇊ ⇊ ⇊ ⇊ ⇊ Hence, Channels can point to specific parts of a Record.
Channel Structure: The channel structure is composed of different related metadata and attributes. It varies widely depending on the following: the related/associated Modality. the functional "role" that plays in a Device's data model, and, the way how it's used in a specific Record settings. Due that a channeling spec is directly associated with a Device and a Record, in theory, a channel defines a specific (or proper) logical data structure component for a Device and/or a Record. The most common metadata and attributes of a channel structure, regardless of its nature, are: Label: defined as hasLabel. Type: defined as the channel class type (class hierarchy). Placement (or Location): refers to the attribute set that define its placement on a Subject. The placement's attribute structure varies widely depending on the channel's nature.
[XDF] Eye-Gaze Channel: channeling metadata for an Eye-Gaze Record. CoordinateSystem = { World-Space, Object-Space, Camera-Space, or Image-Space }: coordinate system of the respective parameter. RefersTo = { Left, Right, or Both }: which eye the channel is referring to. Type: Type of data in this channel. It can be any of the following values: { ScreenX, ScreenY }: screen coordinates of the gaze cursor (can also refer to a scene image); usually in pixels. { DirectionX, DirectionY, DirectionZ }: 3D gaze vector in some coordinate system. { PositionX, PositionY, PositionZ }: 3D position of the eye center in some coordinate system. { IntersectionX, IntersectionY, IntersectionZ }: 2D or 3D position of the intersection point with a plane (in some coordinate system). { HeadX, HeadY, HeadZ }: 3D location of the head center in some coordinate system. { PupilX, PupilY, PupilZ }: 2D or 3D location of the pupil center in some coordinate system. { ReflexX, ReflexY, ReflexZ }: 2D or 3D location of the illuminator's reflection point in some coordinate system. { Radius or Diameter }: the overall pupil radius or diameter (usually in mm or pixels). { RadiusX, RadiusY }: horizontal and vertical pupil radius. { DiameterX, DiameterY }: horizontal and vertical pupil diameter. { Confidence }: for confidence information (preferred unit: normalized). { FrameNumber }: frame number that the parameters were calculated from. { PlaneNumber or ObjectId }: number or identifier of the object that was intersected by the gaze vector. Keyboard-Hit Channel: channeling metadata for a Keyboard-Hit Record. [XDF] Hand-Gesture Channel: channeling metadata for a Hand-Gesture Record. Type = { Confidence, OrientationH, OrientationP, OrientationR, PositionX, PositionY, PositionZ }: type of data. [following types from GazeMetaData & "LeapMotion_xml_output" definitions.] Mouse-Click Channel: channeling metadata for a Mouse-Click Record. Type = { PositionX, PositionY }. Button = { Left, Other, Right, Wheel }.
%CLASS_HIERARCHY% specialized channel definitions related to specific Modality types.
Indicates that an Aspect is analized by a Model (throughout its States): analyzing looking for specific kind of Markers. A Model is specific to the purpose of its BCI application, such as: stress level measurement or fatigue detection.
Connecting a Model with an Aspect.
Connects a DeviceChannelingSpec with the set of Channels that comprises its internal structure.
Connecting a DeviceChannelingSpec with its Channel set.
Connects a Record with its associated (Subject or Session).
Connecting a Record with its related (Subject or Session).
%DATATYPE% Its Domain value consists of approximated arbitrary real numbers in the close range of [0..1].
Captures the accuracy (statistical level of confidence) of the ResponseTag.
A Session is a DUL:Situation that monitors how one Subject interacts with one Context while performing one Activity, throughout collecting a nonempty set of multimodal biomedical ssn:Observations (Records). A Session has the following characteristics and restrictions: Comprises a collection of multimodal BCI data capture tasks (each one with its own specific measurement purpose: Aspect). Monitors exactly one Subject. Monitors exactly one Activity (performed by the Subject). Monitors exactly one Context (while the Subject interacts with it). Comprises exactly one Playout collected from the associated Context. Groups different and multiple Records (multimodal data) that are observed (collected) simultaneously from the Subject. [SSN]: The concept of Session defines an appropiate structure to group multiple Records (multimodal data), based on the following description: "Observations (Records) of multiple features (Aspects) or multiple properties (Modality-ies) of the one feature should be represented as either compound properties, features and values or as multiple observations, grouped in some appropriate structure". In the BCI research domain, a Session can have multipurpose extended metadata sets to describe broader concepts and definitions regarding the nature and purpose of this information object. These external metadata sets can be associated with Descriptors.
External descriptions that complement and extend the information about a Session, can be added through Descriptors. BCI applications based on [ESS 1.0] could define Descriptors to include information, such as: Lab. ID. – identifier of the session used in the original lab notes (if available, otherwise insert 'NA'). Task Label. – indicates which task is being performed in the session (e.g. A, B, C,...). Only use this node if there are different tasks. Otherwise leave the node blank. For Session entities: If different tasks occur in the same session repeat the session node with a different "taskLabel", and other information that may be different, such as the "eegRecording" node. For EventCode entities: Use this only if there are multiple tasks in the study and they use the same event codes, otherwise leave blank.
In [ESS 2.0], a Session is related to the RecordedParameterSet concept, found in the following XML element: (../recordingParameterSet/recordingParameterSetLabel). The "recordingParameterSet" node groups the information of multiple Modality-ies and, also, DeviceSpecs. Hence, it implies that a Session (a Record set) is associated (used) with multiple Devices, due of the "dataRecording" node definition in ESS (multiple RecordedData).
This concept describes any Data Format that BCI applications use to represent and store the RecordedData. A DataFormat represents any specific standard data format used in one of the following ways: Signal (electrical engineering). File format. Content format.
A DataFormat should properly define its encoding scheme.
%CLASS_HIERARCHY% the data formats that BCI applications can use to represent and store the RecordedData. This ontology defines some common data formats used in the BCI domain.
Indicates the ordinal position of the DataBlock.
XSD dateTimeStamp of a specific time instant. BCI applications are recommended to measure the time with high precision, in order to keep a proper granularity for this measurement unit. BCI applications should, at least, measure the time instants in milliseconds.
Connects a Record with its correspondent Device. This can be read, as follow: "A Record is observed by a Device". This object property is a subproperty of ssn:observedBy: [ssn:Observation] ––– (ssn:observedBy) –––> [ssn:Sensor] [Record] –––– (observedByDevice) ––––> [Device]
Connecting a Record individual with its correspondent Device
This ontology describes the framework of core concepts to capture the specialized metadata vocabulary set for multimodal "Brain Computing Interface" (BCI) data capture activities. This ontology is developed by the "Pervasive Embedded Technologies" Laboratory (PET Lab) at the Computer Science Department of the National Chiao Tung University (NCTU), Taiwan (Republic of China, R.O.C). The concepts and structure of the ontology depict a foundational metadata model for BCI data capture activities, that BCI applications can extend and use in their implementations. Any feedback is welcome. Please mail it to srodriguez@pet.cs.nctu.edu.tw
<preview alt="(3) — Visual Notation (VOWL) of the Ontology">03-webvowl-preview.png</preview> <show> </show>
<preview alt="(4) — OWLGrEd Model of the Ontology">04-OWLGrEd-preview.png</preview> <show> </show>
<preview alt="(2) — Complete UML diagram of the BCI Ontology">02-complete-UML-diagram.png</preview> <show />
<preview alt="(1) — Core structure and modules of the BCI Ontology">01-core-structure.png</preview> <show />
The BCI ontology specifies a foundational metadata model set for real-world multimodal Brain Computing Interface (BCI) data capture activities. Its structure depicts a conceptual framework that BCI applications can extend and use in their implementations, to define core concepts that capture a relevant and interoperable metadata vocabulary. The ontology is aligned to the Semantic Sensor Network Ontology (SSN): a domain-independent and end-to-end model for sensing applications. Hence, its structure has been normalized to assist its use in conjunction with other ontologies or linked data resources to specify any particular definitions (such as, units of measurement, time and time series, and location and mobility), that specialized applications in the BCI domain might need. Also, this spec provides general alignment data modeling guidelines for core concepts, to help BCI applications in their design.
Sergio José Rodríguez Méndez. Pervasive Embedded Technologies Laboratory (PET Lab), Computer Science Department, NCTU, Taiwan. John K. Zao. Pervasive Embedded Technologies Laboratory (PET Lab), Computer Science Department, NCTU, Taiwan and CerebraTek, Taiwan.
The BCI ontology provides a high level semantic structure specialized metadata vocabulary set for real-world multimodal BCI data capture activities. The ontology defines a minimalist and simple abstract metadata foundational model for real-world BCI applications that monitors human activity in any scenario. BCI multimodal domain applications are encouraged to extend and use this ontology in their implementations. This ontology was developed following W3C Semantic Web ontology standards and guidelines, so that BCI applications can express reusable, interoperable and extendable machine-readable BCI metadata models, especially in pervasive M2M environments. For this purpose, its design was aligned to the Semantic Sensor Network Ontology (SSN), following closely its Stimulus-Sensor-Observation Ontology Design Pattern. The core and generic set of relevant metadata definitions for real-world BCI activities depicted on this ontology, were taken from different proposed vocabularies and formats in the BCI domain, such as: XDF, ESS and HED. The BCI ontology concepts are logically grouped in 10 modules. Each module represents a central topic of the ontology structure where the related concepts give a consistent explanation about its functional data model. The modules are: Subject: concepts related to the depiction of a human being (or human subject) engaging in an activity and its associate state. Context: captures the architectural description of an environment (or context). A human being interacts with a context. Session: represents the interaction between a subject and a context while performing a single activity, under specific settings and conditions. SSN-Skeleton: specific related concepts for BCI activities aligned to the Skeleton of SSN. Metadata related to records, modality types (such as EEG), channeling information, output streams (file formats and access) and stimulus events, are found in this module. SSN-Device: specific related concepts for BCI activities aligned to the Device module of SSN. Metadata related to devices and their channeling specification are found in this module. SSN-MeasurementCapability: specific related concepts for BCI activities aligned to the Measurement Capability module of SSN. Metadata related to channels and other measurement properties are found in this module. SSN-Data: specific related concepts for BCI activities aligned to the Data module of SSN. Metadata related to data blocks are defined in this module. AnnotationTag: relevant metadata about event markers (based on context stimuli) and response markers (based on machine learning models) for annotations on specific data segments (data tagging). Descriptor: a descriptor represent an external resource set that extends the description of entities in the ontology. A descriptor complements the information associated to the relevant metadata set, defined in this ontology. EEG: specific concepts for EEG (Electroencephalography) applications.
[Compton2009] Compton, M.; Neuhaus, H.; Taylor K. and Tran, K. Reasoning about Sensors and Compositions. In Proceedings of the 2nd International Workshop on Semantic Sensor Networks (SSN 09) at ISWC 2009, pp. 33-48, 2009. URL=http://ceur-ws.org/Vol-522/p7.pdf. [ESS] SCCN, "EEG Study Schema (ESS)". Resources: [ESS@SCCN], [ESS v2.0]. [HED] N. Bigdely-Shamlo, K. Kreutz-Delgado, M. Miyakoshi, M. Westerfield, T. Bel-Bahar, C. Kothe and K. Robbins, "Hierarchical event descriptor (HED) tags for analysis of event-related EEG studies". Resources: [HED@SCCN], [HED v2.0]. [OWL-Time] W3C, "Time Ontology in OWL", https://www.w3.org/TR/owl-time/ [Shafer2001] Shafer, Steven A. N.; Brumitt, Barry; Cadiz, J. J. Interaction Issues in Context-aware Intelligent Environments. Human-Computer Interaction. Volumen 16, Issue 2 (December 2001), Pp. 363-378. DOI=http://dx.doi.org/10.1207/S15327051HCI16234_16. URL=http://dl.acm.org/citation.cfm?id=1463124. [SSN] W3C, "Semantic Sensor Network (SSN) Ontology", http://www.w3.org/2005/Incubator/ssn/ssnx/ssn.html. W3C Semantic Sensor Network Incubator Group, "Semantic Sensor Network XG Final Report", http://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/. [Unity] Unity Gaming Platform (http://unity3d.com/), Unity's Gaming Modeling Architecture Manual http://docs.unity3d.com/Manual/index.html [XDF] C. Kothe and C. Brunner, "XDF (Extensible Data Format)", https://code.google.com/p/xdf/
Copyright 2014 - 2016 PET Lab, Computer Science Department, NCTU, Taiwan.
(visualise the BCI-ontology with LODE)
Brain Computing Interface (BCI) Ontology
Regarding the treatment of measurement units This ontology leaves open to BCI applications, the way how they should handle the semantic expressiveness level of measurement units. In general, there are two possible ways (based on their data requirements): For data-centric applications: defining relevant measurement properties (ssn:MeasurementProperty) as basic data type properties (with its previously-known units of measurements), implies that it's not necessary to incorporate into their ontology's definition a semantic structure to describe properly units of measurement. For semantic-centric applications: it's necessary to incorporate into their ontology's definition a structure to describe properly units of measurement, depending on their required semantic level of expressiveness. The vast majority of BCI applications are heavily data-centric. Well-known measurement units for a wide range of metadata attributes are used in different specs (such as [XDF] and [ESS]), e.g., pixels, mm, degrees and microvolts. For them, defining a relevant data type property set without specifying measurement units is suffice. For BCI applications that require a proper semantic expressiveness level of measurement units, this ontology provides the following guideline: The BCI concepts that are subject to be extended are those related to Device and Record (including the channeling spec definitions). From the perspective of the BCI ontology alignment to the Stimulus-Sensor-Observation Ontology Design Pattern, the core SSN concepts that "map" to quantities (and, therefore, to units of measurement) are ssn:MeasurementCapability and ssn:MeasurementProperty. Thus, BCI applications should pay special attention to extend the semantic structure of the concepts: Channel, and NonChannel. BCI applications should extend the BCI ontology based on the [SSN] guidelines, explained in: (5.3.10 Data » 5.3.10.2 How to attach a data value to a property?), (5.3.13 Energy » 5.3.13.3 How to represent a WSN node with information about its energy consumption), (5.4.2 Smart product example » 5.4.2.2 Sensor), (5.4.2 Smart product example » 5.4.2.3 Measurement capabilities), (5.4.2 Smart product example » 5.4.2.4 Observation), (5.4.4 Agriculture Meteorology Sensor Network » 5.4.4.1.3 Sensor view), (5.4.4 Agriculture Meteorology Sensor Network » 5.4.4.2.3 Units of measurement and quantity ontologies). It's recommended to incorporate the semantic extensions through their alignment to a proper ontology for units of measurement. Recommended ontologies for units of measurement are: QUDT - Quantities, Units, Dimensions and Data Types Ontologies, developed by the NExIOM project (NASA, TopQuadrant). Ontology of units of Measure (OM): om-1.8.2, developed by a team of researchers at Wageningen UR (wurvoc.org).
Regarding Aspect and Modality The importance and relationship between the concepts ssn:FeatureOfInterest (superclass of Aspect) and ssn:Property (superclass of Modality) are shown and explained in: (5.4.4 Agriculture Meteorology Sensor Network » 5.4.4.1.1 Sensor selection), (5.4.4 Agriculture Meteorology Sensor Network » 5.4.4.2.2 CF (Climate and Forecast) ontologies), (5.4.3 Wind sensor (WM30) » 5.4.3.6 Wind Feature and properties), (Wind Sensor example » Wind Sensor example: Feature of interest). As a SSN domain application ontology, these concepts are defined and adjusted properly for describing the nature of BCI applications.
Regarding EEG concepts This ontology does not define any specific relationships (object properties) among the core EEG concepts: EegModality. EegNonChannel. EegDevice. EegRecord. EegChannel. If necessary, BCI applications may define a set of restrictions and specialized connections (subproperties) for the relations among the EEG concepts.
Connects a (Context.Scene or Record or RecordedData or DataBlock) with its following (next) (Context.Scene or Record or RecordedData or DataBlock) of the sequence.
[Context.Scene] On a Video Game: (Level 3-2) hasNext (Level 3-3). [Record]: an observation is linked to its following observation. Their difference could be on their channeling settings. [RecordedData]: links to the following data version of the current data set. [DataBlock]: points to the following data unit value from the current one along the sequence.
Connecting a (Context.Scene or Record or RecordedData or DataBlock) with its next correspondent (Context.Scene or Record or RecordedData or DataBlock).
A StimulusEvent generates a set of StimulusTags.
Connecting a StimulusEvent with its set of StimulusTags.
Sampling rate of the Device. Its measurement unit is Hz. As a relevant non-channeling measurement property (ssn:MeasurementProperty) related to a Device its modeling is based on: the ssn:MeasurementCapability and ssn:MeasurementProperty concepts, and the guidelines found in (5.4.2 Smart product example » 5.4.2.2 Sensor).
Related concept for a Record: hasSamplingRate.
Connects a Record with its correspondent StimulusEvent set. This can be read, as follow: "A Record includes events StimulusEvent". This object property is a subproperty of DUL:includesEvent: [ssn:Observation] ––– (DUL:includesEvent) –––> [ssn:Stimulus] [Record] –––––– (includesEvent) –––> [StimulusEvent] [SSN] A ssn:Observation has a DUL:includesEvent property who may be a ssn:Stimulus.
Connecting a Record individual with its correspondent StimulusEvent set.
Captures a relevant entry log in a Playout of a Context Event issued by a Context.ObjectComponent.Event instance during a Session.
Events (Context.ObjectComponent.Event) issued in a Context during a Session.
Describes an external Web resource that complements the information related to a specific entity found in this ontology. In a general sense, represents a class of information objects that describes complementary external resources of the metadata. Each individual of this class refers to an external file/document with extensive information to the associated metadata object. A Descriptor can have a related Descriptor set. This concept is defined as a subclass of DUL:InformationObject.
[XDF] and [ESS] BCI applications may extend this concept based on its purpose as an information object (practical usage of the Web resource). Thus, some subclasses of this concept could be: Annotation. Channel locations. Descriptive metadata. Event instance. Experiment note. Specification.
%CLASS_HIERARCHY% any relevant type of Descriptors to capture specific external information that complements a metadata object.
Connects a Collection with a Session set and/or an Interaction set that are associated with it.
Connecting a Collection with its related Session set and/or Interaction set.
A Topic conforms to the following definitions in the latest OASIS MQTT specification: MQTT Version 3.1.1 Plus Errata 01 (OASIS Standard Incorporating Approved Errata 01 10 December 2015) – 3. MQTT Control Packets / 3.3 PUBLISH – Publish message – (3.3.2.1. Topic Name). 3. MQTT Control Packets / 3.8 SUBSCRIBE – Subscribe to topics – (3.8.3 Payload).
The Topic MUST be a UTF-8 encoded string as defined in Section 1.5.3 of the latest OASIS MQTT specification: MQTT Version 3.1.1 Plus Errata 01 (OASIS Standard Incorporating Approved Errata 01 10 December 2015) – 1. Introduction – (1.5 Data representations).
Describes the Topic (name or filter) parameter in an AccessMethod.MQTT connection. This parameter identifies either: The Topic Name (for the PUBLISH message), which identifies the information channel to which payload data is published. The Topic Filter (for the SUBSCRIBE message), which corresponds to the Client’s interest in one or more Topics (each subscription registers a Client’s interest in a Server). The payload of a SUBSCRIBE packet contains at least one Topic Filter.
The usage of this parameter (for either publishing data –Topic Name– or subscribe to specific topics) depends on the purpose and implementation of the BCI application.
A DataBlock represents the basic/atomic physical data unit value of a RecordedData. Hence and following the alignment with [SSN], a RecordedData [has as for Value] a non-empty sequence (with not allowed repetitions) of DataBlocks. In the BCI domain: A RecordedData is compose of a non-empty sequence (with not allowed repetitions) of DataBlocks. A DataBlock is considered a physical data entity (whereas a DataSegment is considered a logical data entity). A DataBlock is related to another DataBlock based on its temporality: occurrence in its sequence. Therefore, a DataBlock may be sequentially linked to a following and a previous DataBlocks. All the sequentially linked DataBlocks compose the value of a RecordedData. The mechanism to access a DataBlock is the following: First, one retrieves the locators of the AccessMethods associated to desired RecordedData. With this, one can have the access to the "data file". Then, one can derived the correspondent DataBlocks locators, using the positional attributes: ordinal position, offset or timestamp.
Depending on its implementation nature, a BCI application may choose to use any (or both) of the positional attributes: hasTimeStamp. hasOffset.
"In mathematics, a sequence is an ordered collection of objects in which repetitions are allowed. (...) Unlike a set, order matters, and exactly the same elements can appear multiple times at different positions in the sequence". Reference: [Wikipedia: Sequence] For this specific concept, a sequence of DataBlocks does not allow repetitions.
Connects a (Context or Interaction or Subject) with a set of Sessions that are associated with it.
Connecting a (Context or Interaction or Subject) with its related set of Sessions
Connects a DataSegment with a set of Markers.
Connecting a DataSegment individual with a set of Markers.