VSSo Core: Vehicle Signal Specification Core Ontology
type: Ontology
preferred namespace uri: https://github.com/w3c/vsso#
description: This ontology describes the car's attributes, branches and signals defined in the Vehicle Signal Specification.
license: http://creativecommons.org/licenses/by/4.0/
creator: Benjamin Klotz
creator: Raphael Troncy
creator: Daniel Wilms
contributor: Daniel Alvarez-Coello
contributor: Felix Loesch
version info: v2.0-develop
preferred namespace prefix: vsso-core
abstract: The core ontology introduces concepts for the structural elements of VSS defined through the rule set in the specifications. Figure 1 gives an overview of those. The root node is the Vehicle itself. From there the structure is given through so-called Branches. They serve as sorting element for the leaf nodes and are not specified in the specification itself in greater details. The leaf nodes contain the semantic information of signals, which expext to describe and hold information, which changes in greater frequency and of attributes, which are more static. The core of the ontology defines this structure in an OWL ontology and serves as a basis for the defined signals of the standard catalogue and potential further development of the branches as more than structural information.

VehicleProperty
type: Class
definition: _VehicleProperty_ - Central concept for defining a vehicle, either through a VehicleComponent structure or connected directly to the vehicle. Every VehicleProperty shall be instantiated with a [vehiclePropertyValue](#vehiclePropertyValue). It is good practice to set the time when the value was updated through [propertyValueUpdatedAt](#propertyValueUpdatedAt) The VehicleProperty follows the concept of a [ssn:Property](https://www.w3.org/TR/vocab-ssn/#SSNProperty)

StaticVehicleProperty
type: Class
subclass of: VehicleProperty
definition: _StaticVehicleProperty_ - Follows the definition of an [attribute](https://covesa.github.io/vehicle_signal_specification/rule_set/data_entry/attributes/) in VSS. `StaticVehicleProperty` is meant to stay stable at least over the duration of an ignition cycle. If you expect more frequent updates, please consider [DynamicVehicleProperty](#DynamicVehicleProperty)

Vehicle
type: Class
definition: _Vehicle_ - Core concept of the ontology. Collects [VehicleComponents](#VehicleComponent) and [VehicleProperties](#VehicleProperty) belonging to a vehicle

VehicleComponent
type: Class
definition: _VehicleComponent_ - First of all a sorting element for [VehicleProperties](#VehicleProperty), following on the definition of a [branch](https://covesa.github.io/vehicle_signal_specification/rule_set/branches/). It is encouraged to use the concept for actual parts modeled as `VehicleComponent.

ActuatableVehicleProperty
type: Class
subclass of: DynamicVehicleProperty
definition: _ActuatableVehicleProperty_ - Follows the definition of an [actuator](https://covesa.github.io/vehicle_signal_specification/rule_set/data_entry/sensor_actuator/) in VSS. It is a [DynamicVehicleProperty](#DynamicVehicleProperty), which can be changed. Refers to [sosa:ActuableProperty](https://www.w3.org/TR/vocab-ssn/#SOSAActuatableProperty)

ObservableVehicleProperty
type: Class
subclass of: DynamicVehicleProperty
definition: _ObservableVehicleProperty_ - Follows the definition of an [sensor](https://covesa.github.io/vehicle_signal_specification/rule_set/data_entry/sensor_actuator/) in VSS. It is a [DynamicVehicleProperty](#DynamicVehicleProperty), which can be observed but _not_ changed. Refers to [sosa:ObservableProperty](https://www.w3.org/TR/vocab-ssn/#SOSAObservableProperty)

DynamicVehicleProperty
type: Class
subclass of: VehicleProperty
definition: _DynamicVehicleProperty_ - In contrast to a [StaticVehicleProperty](#StaticVehicleProperty), this property is expected to change frequently, even within an ignition cycle. Examples are the vehicle `speed`, `location`, etc.

PositionInVehicle
type: Class
definition: _PositionInVehicle_ - Frequently VehicleProperties and VehicleComponents will appear in several different positions in the vehicle. Typicle examples are windows, seats, etc. This concepts shall be used to define the different position of the vehicle. They can be named with the positionName property.

belongsToVehicleComponent
type: ObjectProperty
domain: VehicleProperty
range: VehicleComponent
definition: _belongsToVehicleComponent_ - The property defines for VehicleProperties to which VehicleComponent they belong.

hasDynamicVehicleProperty
type: ObjectProperty
range: DynamicVehicleProperty
definition: _hasDynamicVehicleProperty_ - This property connects an instance of a Vehicle or VehicleComponent to a DynamicVehicleComponent.

hasStaticVehicleProperty
type: ObjectProperty
range: StaticVehicleProperty
definition: _hasStaticVehicleProperty_ - This property connects an instance of a Vehicle or VehicleComponent to a StaticVehicleComponent.

partOfVehicleComponent
type: ObjectProperty
domain: VehicleComponent
range: VehicleComponent
definition: _partOfVehicleComponent_ - This property is used to built a partOf hierarchy of VehicleComponents instances.

partOfVehicle
type: ObjectProperty
domain: VehicleComponent
range: Vehicle
definition: _partOfVehicle_ - This properties conncects VehicleComponents instances with an instance of a Vehicle.

postionedAt
type: ObjectProperty
range: PositionInVehicle
definition: _postionedAt_ - This property connects a VehicleProperty or VehicleComponent in the PositionInVehicle it appears in.

positionName
type: DatatypeProperty
domain: PositionInVehicle
range: string
definition: _positionName_ - DataProperty in order to name the PositionInVehicle.

vehiclePropertyValue
type: DatatypeProperty
domain: VehicleProperty
definition: _vehiclePropertyValue_ - Assigns a value to a VehicleProperty.

propertyValueUpdatedAt
type: DatatypeProperty
domain: VehicleProperty
range: dateTime
definition: _propertyValueUpdatedAt_ - A timestamp representing the time of the last update of a vehiclePropertyValue

VSS Faceted Classification
type: AnnotationProperty
definition: _vssFacetedClassification_ - VSS path in dot notation of the equivelant concept.