@prefix : <https://saref.etsi.org/saref4auto/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix saref: <https://saref.etsi.org/core/> .
@prefix s4syst: <https://saref.etsi.org/saref4syst/> .
@prefix s4auto: <https://saref.etsi.org/saref4auto/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@base <https://saref.etsi.org/saref4auto/> .

<https://saref.etsi.org/saref4auto/> a owl:Ontology ;
  dcterms:description "This ontology extends the SAREF ontology for the automotive domain. The V2 of this ontology has been developed in the context of ETSI STF653."@en ;
  dcterms:creator <http://maxime-lefrancois.info/me#> ;
  dcterms:contributor <https://www.linkedin.com/in/david-gnabasik-0056a0ba/> ;
  dcterms:issued "2020-07-27"^^xsd:date ;
  dcterms:modified "2025-04-10"^^xsd:date ;
  dcterms:license <https://forge.etsi.org/etsi-software-license> ;
  dcterms:publisher <https://www.etsi.org/> ;
  dcterms:source <https://saref.etsi.org/sources/saref4auto/> ;
  rdfs:seeAlso <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341007/02.01.01_60/ts_10341007v020101p.pdf> ;
  dcterms:title "SAREF4AUTO: an extension of SAREF for the automotive domain"@en ;
  vann:preferredNamespacePrefix "s4auto" ;
  vann:preferredNamespaceUri "https://saref.etsi.org/saref4auto/" ;
  owl:versionIRI <https://saref.etsi.org/saref4auto/v2.1.1/> ;
  owl:versionInfo "v2.1.1" ;
  owl:priorVersion <https://saref.etsi.org/saref4auto/v1.1.2/> ;
  owl:imports <https://saref.etsi.org/core/v4.1.1/> , <https://saref.etsi.org/saref4syst/v1.1.2/> .

dcterms:contributor a owl:AnnotationProperty .
dcterms:issued a owl:AnnotationProperty .
dcterms:modified a owl:AnnotationProperty .
dcterms:creator a owl:AnnotationProperty .
dcterms:description a owl:AnnotationProperty .
dcterms:license a owl:AnnotationProperty .
dcterms:publisher a owl:AnnotationProperty .
dcterms:source a owl:AnnotationProperty .
dcterms:title a owl:AnnotationProperty .
vann:preferredNamespacePrefix a owl:AnnotationProperty .
vann:preferredNamespaceUri a owl:AnnotationProperty .
skos:Concept a owl:Class .
skos:broader a owl:ObjectProperty ;
  rdfs:label "broader"@en .
saref:hasValue a owl:DatatypeProperty ;
  rdfs:label "has value"@en .

# General additions to SAREF Core

## Confidence Value and Confidence Level
#- Figure: SAREF4AUTO_figures.Confidence.png
#- Example: SAREF4AUTO_examples.Confidence.png

s4auto:hasConfidenceValue a owl:ObjectProperty ;
  rdfs:domain saref:PropertyValue ;
  rdfs:range s4auto:ConfidenceValue ;
  rdfs:comment "Associates a confidence value which represents the estimated accuracy of the value with a certain confidence level (property s4auto:hasConfidenceLevel). In such situation, the value of the property value (saref:hasValue) can be estimated as the mean of the current distribution."@en ;
  rdfs:label "has Confidence Level"@en .

s4auto:hasConfidenceLevel a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Observation saref:PropertyValue s4auto:ConfidenceValue ) ] ;
  rdfs:range xsd:decimal ;
  rdfs:comment "Associates a confidence level (a decimal value between 0 and 1) to an observation, a property value, or a confidence value."@en ;
  rdfs:label "has Confidence Level"@en .

s4auto:ConfidenceValue a owl:Class ;
  rdfs:label "Confidence Value"@en ;
  rdfs:comment "Describes the confidence value of a property value, which represents the estimated accuracy of the value with a certain confidence level (property s4auto:hasConfidenceLevel). In such situation, the value of the property value (saref:hasValue) can be estimated as the mean of the current distribution."@en ;
  rdfs:subClassOf [ a owl:Restriction ;
        owl:onProperty saref:hasValue ;
        owl:cardinality 1 ] ,
    [ a owl:Restriction ;
        owl:onProperty saref:isMeasuredIn ;
        owl:maxCardinality 1 ] .

s4auto:ConfidenceValueAt95 a owl:Class ;
  rdfs:subClassOf s4auto:ConfidenceValue ;
  rdfs:subClassOf [ owl:onProperty s4auto:hasConfidenceLevel ; owl:hasValue .95 ] ;
  rdfs:label "Confidence Value at 95 %"@en;
  rdfs:comment "Describes the confidence value of a property value, which represents the estimated accuracy of the value with a confidence level of 95 %. In such situation, the value of the property value (saref:hasValue) can be estimated as the mean of the current distribution."@en .


## General Purpose Property Categories

#- Figure: SAREF4AUTO_figures.General_Properties.png

s4auto:isComposedOf a owl:ObjectProperty ;
  rdfs:label "is composed of"@en ;
  rdfs:comment "Links a composite property or property value to its individual components."@en ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Property saref:PropertyOfInterest saref:PropertyValue ) ] ;
  rdfs:range [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:Property saref:PropertyOfInterest saref:FeatureOfInterest saref:PropertyValue ) ] .

s4auto:isComposedOf owl:propertyChainAxiom ( s4auto:isComposedOf saref:hasPropertyKind ) .
s4auto:isComposedOf owl:propertyChainAxiom ( s4auto:isComposedOf saref:isValueOfProperty ) .
s4auto:isComposedOf owl:propertyChainAxiom ( s4auto:isComposedOf saref:hasFeatureKind ) .
saref:hasProperty owl:propertyChainAxiom ( saref:hasProperty s4auto:isComposedOf ) .

saref:Property rdfs:subClassOf [ 
  owl:onProperty s4auto:isComposedOf ; 
  owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:Property ) ] ] .

saref:PropertyOfInterest rdfs:subClassOf [ 
  owl:onProperty s4auto:isComposedOf ; 
  owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:Property saref:PropertyOfInterest ) ] ] .

saref:PropertyValue rdfs:subClassOf [ 
  owl:onProperty s4auto:isComposedOf ; 
  owl:allValuesFrom [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:Property saref:PropertyOfInterest saref:FeatureOfInterest saref:PropertyValue ) ] ] .


s4auto:StringProperty a owl:Class ;
  rdfs:subClassOf saref:Property ;
  rdfs:label "StringProperty"@en ;
  rdfs:comment "The class of properties whose value (saref:hasValue) is typically expressed as a xsd:string literal"@en .

s4auto:IntegerProperty a owl:Class ;
  rdfs:subClassOf saref:Property ;
  rdfs:label "IntegerProperty"@en ;
  rdfs:comment "The class of properties whose value (saref:hasValue) is typically expressed as a xsd:integer literal"@en .

s4auto:DecimalProperty a owl:Class ;
  rdfs:subClassOf saref:Property ;
  rdfs:label "DecimalProperty"@en ;
  rdfs:comment "The class of properties whose value (saref:hasValue) is typically expressed as a xsd:decimal literal"@en .

s4auto:BooleanProperty a owl:Class ;
  rdfs:subClassOf saref:Property ;
  rdfs:label "BooleanProperty"@en ;
  rdfs:comment "The class of properties whose value (saref:hasValue) is typically expressed as a xsd:boolean literal"@en .

s4auto:IndexedProperty a owl:Class ;
  rdfs:subClassOf saref:Property ;
  rdfs:label "IndexedProperty"@en ;
  rdfs:comment "The class of properties whose values (saref:PropertyValue) are organized in a sequence using an index (defined using s4auto:hasIndex)."@en .

s4auto:hasIndex a owl:DatatypeProperty ;
  rdfs:label "has index"@en ;
  rdfs:comment """Links a property value of an indexed property to its index (an xsd:integer) such that it is organized in a sequence."""@en ;
  rdfs:domain s4auto:IndexedPropertyValue ;
  rdfs:range xsd:integer .

s4auto:IndexedPropertyValue a owl:Class ;
  rdfs:label "Indexed Property Value"@en ;
  rdfs:comment "This class represents a property value of an indexed property, which is organized in a sequence using an index (defined using s4auto:hasIndex). The index is typically an integer."@en ;
  rdfs:subClassOf saref:PropertyValue ;
  rdfs:subClassOf [ owl:onProperty saref:isValueOfProperty ; owl:someValuesFrom s4auto:IndexedProperty ] .

## General Purpose Properties
#- Figure: SAREF4AUTO_figures.Properties.png

s4auto:Shape a owl:NamedIndividual , saref:Property ;
  rdfs:comment """This property represents the shape of a feature of interest. i.e., Sphere, Torus, Cylinder, Cone, Ellipsoid, Cube, Cuboid, Pyramid, Prism, Multiple shapes. Narrower properties further specify how the shape is defined."""@en ;
  rdfs:label "Shape"@en .
  
s4auto:Position a owl:NamedIndividual , saref:Property ;
  rdfs:label "Position"@en ;
  rdfs:comment """This property represents the position of a feature of interest. Narrower properties further specify how the position is defined."""@en .

s4auto:GeoPosition a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Position ;
  rdfs:label "GeoPosition"@en ;
  rdfs:comment """A position within a geographic coordinate system together with a confidence ellipse.
  Values should be described as GeoSPARQL geometries."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ReferencePosition"@en .

s4auto:Orientation a owl:NamedIndividual , saref:Property ;
  rdfs:label "Orientation"@en ;
  rdfs:comment """This property represents the orientation of a feature of interest. Narrower properties further specify how the orientation is defined."""@en .

s4auto:CartesianAngle a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Orientation ;
  rdfs:label "CartesianAngle"@en ;
  rdfs:comment """This property represents an angle described in a local Cartesian coordinate system, per default counted positive in
a right-hand local coordinate system from the abscissa."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CartesianAngle"@en ;
  skos:note "Typically, the property is measured in degrees"@en .

s4auto:Wgs84Angle a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Orientation ;
  rdfs:label "Wgs84Angle"@en ;
  rdfs:comment """This property represents an orientation as an angle with regards to the WGS84 north."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: Wgs84Angle"@en ;
  skos:note """Typically, the property is measured in 0,1 degree"""@en .

  s4auto:Wgs84AngleValue_wgs84East a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Wgs84AngleValue - wgs84East"@en ;
    rdfs:comment "Orientation to the WGS84 east"@en ;
    saref:hasValue 900 ;
    saref:isValueOfProperty s4auto:Wgs84Angle .

  s4auto:Wgs84AngleValue_wgs84North a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Wgs84AngleValue - wgs84North"@en ;
    rdfs:comment "Orientation to the WGS84 north"@en ;
    saref:hasValue 0 ;
    saref:isValueOfProperty s4auto:Wgs84Angle .

  s4auto:Wgs84AngleValue_wgs84South a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Wgs84AngleValue - wgs84South"@en ;
    rdfs:comment "Orientation to the WGS84 south"@en ;
    saref:hasValue 1800 ;
    saref:isValueOfProperty s4auto:Wgs84Angle .

  s4auto:Wgs84AngleValue_wgs84West a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Wgs84AngleValue - wgs84West"@en ;
    rdfs:comment "Orientation to the WGS84 west"@en ;
    saref:hasValue 2700 ;
    saref:isValueOfProperty s4auto:Wgs84Angle .

s4auto:Length a owl:NamedIndividual , saref:Property ;
  rdfs:label "Length"@en ;
  rdfs:comment "This property represents length as a measure of distance between points or as a dimension of an object."@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: StandardLength1B"@en ;
  skos:note "Typically, the property is measured in metre"@en .

s4auto:Velocity a owl:NamedIndividual , saref:Property ;
  rdfs:label "Velocity"@en ;
  rdfs:comment """This property represents a velocity component value in a defined coordinate system"""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VelocityComponentValue"@en ;
    skos:note "Typically, the property is measured in 0,01 m/s"@en .

s4auto:CartesianAngularVelocity a owl:NamedIndividual , saref:Property ;
    rdfs:label "CartesianAngularVelocity"@en ;
    rdfs:comment """This property represents the angular velocity, described in a local Cartesian coordinate system, per default counted positive in a right-hand local coordinate system from the abscissa."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CartesianAngularVelocityComponent"@en ;
    skos:note "Typically, the property is measured in degree/s"@en .

s4auto:Acceleration a owl:NamedIndividual , saref:Property ;
  rdfs:label "Acceleration"@en ;
  rdfs:comment """This property represents an acceleration component value in a defined coordinate system"""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AccelerationValue"@en ;
    skos:note "Typically, the property is measured in 0,1 m/s^2"@en .

s4auto:CartesianAngularAcceleration a owl:NamedIndividual , saref:Property ;
    rdfs:label "CartesianAngularAcceleration"@en ;
    rdfs:comment """This property represents the angular acceleration, described in a local Cartesian coordinate system, per default counted positive in a right-hand local coordinate system from the abscissa."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CartesianAngularAccelerationComponent"@en ;
    saref:isPropertyOf s4auto:Vehicle ;
    skos:note "Typically, the property is measured in degree/s^2 (degrees per second squared)"@en .


## Addendum to saref:ProcedureExecution
#- Figure: SAREF4AUTO_figures.ProcedureExecution.png

s4auto:hasResultPosition a owl:ObjectProperty ;
  rdfs:label "has result position"@en ;
  rdfs:comment "Links a procedure execution to the position where the activity was completed, expressed as a value of property s4auto:Position."@en ;
  skos:note "Different narrower properties of s4auto:Position can be used to express the position. For example as an address using s4auto:Address, as a latitude and longitude using s4auto:GeoPosition, as a position with respect to road topology using s4auto:RoadTopologyPosition, etc."@en ;
  rdfs:domain saref:ProcedureExecution ;
  rdfs:range [ owl:onProperty saref:isValueOfProperty ; owl:hasValue s4auto:Position ] .


# Application of SAREF patterns

## Specialisations of saref:hasIdentifier
#- Figure: SAREF4AUTO_figures.hasIdentifier.png

s4auto:hasStationID a owl:DatatypeProperty ;
  rdfs:subPropertyOf saref:hasIdentifier ;
  rdfs:comment "Links automotive objects to their identifier as defined in ETSI TS 102 894-2."@en ;
  rdfs:label "has Station ID"@en .

s4auto:hasUUID a owl:DatatypeProperty ;
  rdfs:subPropertyOf saref:hasIdentifier ;
  rdfs:comment "A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 \"Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)\" and in ITU-T Rec. X.667 ISO/IEC 9834-8:2005."@en ;
  rdfs:label "has UUID"@en .


## Road topology
#- Example: SAREF4AUTO_examples.Road_topology.png

### Roads and Road Segments
#- Figure: SAREF4AUTO_figures.Road_RoadSegment.png

s4auto:Road a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Road"@en ;
  rdfs:comment "Roads consist of one or more s4auto:RoadSegment entities."@en ;
  s4syst:connectedTo s4auto:Road ;
  s4syst:connectedThrough s4auto:Intersection ;
  saref:consistsOf s4auto:RoadSegment .

s4auto:Intersection a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Intersection"@en ;
  rdfs:comment """A unique intersection, identified in accordance with ETSI TS 103 301."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: IntersectionReferenceId"@en ;
  s4syst:connectsSystem s4auto:Road .

s4auto:RoadSegment a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "RoadSegment"@en ;
  rdfs:comment "A collection of road segments are used to describe a Road. Road segments consist of several lanes. a Road segment may consist of a inner hard shoulder and an outer hard shoulder."@en .

  s4auto:RoadSegment_nonUrban-NoStructuralSeparationToOppositeLanes a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - nonUrban-NoStructuralSeparationToOppositeLanes"@en ;
    rdfs:comment "Non urban road with no structural separation between lanes carrying traffic in opposite directions"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RoadType"@en .

  s4auto:RoadSegment_nonUrban-WithStructuralSeparationToOppositeLanes a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - nonUrban-WithStructuralSeparationToOppositeLanes"@en ;
    rdfs:comment "Non urban road with structural separation between lanes carrying traffic in opposite directions."@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RoadType"@en .

  s4auto:RoadSegment_urban-NoStructuralSeparationToOppositeLanes a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - urban-NoStructuralSeparationToOppositeLanes"@en ;
    rdfs:comment "Urban road with no structural separation between lanes carrying traffic in opposite directions"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RoadType"@en .

  s4auto:RoadSegment_urban-WithStructuralSeparationToOppositeLanes a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - urban-WithStructuralSeparationToOppositeLanes"@en ;
    rdfs:comment "Urban road with structural separation between lanes carrying traffic in opposite directions."@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RoadType"@en .

  s4auto:RoadSegment_noPassing a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - noPassing"@en ;
    rdfs:comment "Overtaking is prohibited for all vehicles"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficRule"@en .

  s4auto:RoadSegment_noPassingForTrucks a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - noPassingForTrucks"@en ;
    rdfs:comment "Overtaking is prohibited for trucks"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficRule"@en .

  s4auto:RoadSegment_passToLeft a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - passToLeft"@en ;
    rdfs:comment "Vehicles should pass to the right lane"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficRule"@en .

  s4auto:RoadSegment_passToRight a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:RoadSegment ;
    rdfs:label "RoadSegment - passToRight"@en ;
    rdfs:comment "Vehicles should pass to the left lane"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficRule"@en .


### Lanes
#- Figure: SAREF4AUTO_figures.Lane.png

s4auto:RoadSegment saref:consistsOf s4auto:Lane .

s4auto:Lane a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Lane"@en ;
  rdfs:comment """Lane of a road segment. 

Lanes are identified by (saref:hasIdentifier) using integer numbers between 1 and n, being number 1 the lane to the right when going forwards. The forward direction is the direction denoted by the vector which goes from the segment's start point to the segment's endpoint."""@en .

s4auto:Lane_acceleration a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - acceleration"@en ;
  rdfs:comment "Lane that allows vehicles entering a road to accelerate to the speed of through traffic before merging with it"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_bus a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - bus"@en ;
  rdfs:comment "Lane dedicated to movement of buses providing public transport"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_cycleLane a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - cycleLane"@en ;
  rdfs:comment "Lane dedicated to exclusive or preferred use by bicycles"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_deceleration a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - deceleration"@en ;
  rdfs:comment "Lane that allows vehicles exiting a road to decelerate before leaving it"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_dedicatedVehicle a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - dedicatedVehicle"@en ;
  rdfs:comment "Lane dedicated to movement of motor vehicles with specific characteristics, such as heavy goods vehicles, etc."@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_emergency a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - emergency"@en ;
  rdfs:comment "Lane dedicated to vehicles in breakdown or to emergency vehicles also called hard shoulder"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_hot a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - hot"@en ;
  rdfs:comment "Lanes that is allowed to be used without meeting the occupancy criteria by paying a toll"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_hov a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - hov"@en ;
  rdfs:comment "Lane"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_leftHandTurning a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - leftHandTurning"@en ;
  rdfs:comment "Lane reserved for slowing down and making a left turn, so as not to disrupt traffic"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_median a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - median"@en ;
  rdfs:comment """Lane not dedicated to movement of vehicles but representing a median / central reservation such as the central median, 
 separating the two directional carriageways of the highway"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_minimumRiskManoeuvre a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - minimumRiskManoeuvre"@en ;
  rdfs:comment "Lane dedicated to automated vehicles making a minimum risk manoeuvre."@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_parking a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - parking"@en ;
  rdfs:comment "Lanes"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_pedestrian a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - pedestrian"@en ;
  rdfs:comment "Lanes dedicated to pedestrians such as pedestrian sidewalk paths"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_reversible a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - reversible"@en ;
  rdfs:comment "Lane where the direction of traffic can be changed to match the peak flow"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_rightHandTurning a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - rightHandTurning"@en ;
  rdfs:comment "Lane reserved for slowing down and making a right turn so as not to disrupt traffic"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_striping a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - striping"@en ;
  rdfs:comment "Lane not dedicated to movement of vehicles but covered with roadway markings"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_taxi a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - taxi"@en ;
  rdfs:comment "Lane dedicated to movement of taxis"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_through a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - through"@en ;
  rdfs:comment "Lane dedicated to the movement of vehicles travelling ahead and not turning"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_trackedVehicle a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - trackedVehicle"@en ;
  rdfs:comment "Lane dedicated to movement of trains, trams and trolleys"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_traffic a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - traffic"@en ;
  rdfs:comment "Lane dedicated to the movement of vehicles"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane_verge a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:Lane ;
  rdfs:label "Lane - verge"@en ;
  rdfs:comment """Lane representing the verge, i.e. a narrow strip of grass or plants and sometimes also trees located between 
 the road surface edge and the boundary of a road"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneType"@en .

s4auto:Lane saref:hasProperty
  s4auto:DrivingLaneStatus ,
  s4auto:LaneWidth,
  s4auto:SpeedLimit .

s4auto:DrivingLaneStatus a owl:NamedIndividual , saref:Property , s4auto:BooleanProperty ;
    rdfs:label "DrivingLaneStatus"@en ;
    rdfs:comment """This property indicates whether a driving lane is open to traffic.

If a lane is closed to traffic, the corresponding value shall be set to *TRUE*. Otherwise, it shall be set to *FALSE*."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: DrivingLaneStatus"@en ;
    skos:note "hard shoulder status is not provided by this property but in s4auto:HardShoulderStatus."@en .

s4auto:LaneWidth a owl:NamedIndividual , saref:Property ;
    skos:broader s4auto:Length ;
    rdfs:label "LaneWidth"@en ;
    rdfs:comment """This property represents the width of a lane measured at a defined position."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LaneWidth"@en ;
    skos:note "Typically, the property is measured in 0,01 metre"@en ;
    saref:isPropertyOf s4auto:Lane .

s4auto:SpeedLimit a owl:NamedIndividual , saref:Property ;
    skos:broader s4auto:Velocity ;
    rdfs:label "SpeedLimit"@en ;
    rdfs:comment "This property represents a speed limitation applied to a geographical position, a road section or a geographical region."@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SpeedLimit"@en ;
    skos:note "Typically, the property is measured in km/h"@en ;
    saref:isPropertyOf s4auto:Lane .



### Hard Shoulders
#- Figure: SAREF4AUTO_figures.HardShoulder.png


s4auto:RoadSegment saref:consistsOf s4auto:InnerhardShoulder , s4auto:OuterhardShoulder .

s4auto:HardShoulder a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Hard Shoulder"@en ;
  rdfs:comment "A hard shoulder of a road segment. There are two main kinds of hard shoulders: inner hard shoulders, and outer hard shoulders."@en ;
  saref:hasProperty s4auto:HardShoulderStatus .

s4auto:InnerhardShoulder a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:HardShoulder ;
  rdfs:label "Innerhard Shoulder"@en ;
  rdfs:comment "The innerhard shoulder of a road segment."@en ;
  saref:hasProperty s4auto:HardShoulderStatus .

s4auto:OuterhardShoulder a owl:NamedIndividual , saref:FeatureKind ;
  skos:broader s4auto:HardShoulder ;
  rdfs:label "Outerhard Shoulder"@en ;
  rdfs:comment "The outerhard shoulder of a road segment."@en ;
  saref:hasProperty s4auto:HardShoulderStatus .

s4auto:HardShoulderStatus a owl:NamedIndividual , saref:Property ;
    rdfs:label "HardShoulderStatus"@en ;
    rdfs:comment """This property indicates the current status of a hard shoulder: whether it is available for special usage
(e.g. for stopping or for driving) or closed for all vehicles.

The following property values are defined:
- 0 - `availableForStopping` - if the hard shoulder is available for stopping in e.g. emergency situations,
- 1 - `closed`               - if the hard shoulder is closed and cannot be occupied in any case,
- 2 - `availableForDriving`  - if the hard shoulder is available for regular driving."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HardShoulderStatus"@en .

s4auto:HardShoulderStatus_availableForDriving a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "HardShoulderStatus - availableForDriving"@en ;
    rdfs:comment "2 - `availableForDriving` - if the hard shoulder is available for regular driving."@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:HardShoulderStatus .

s4auto:HardShoulderStatus_availableForStopping a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "HardShoulderStatus - availableForStopping"@en ;
    rdfs:comment "0 - `availableForStopping` - if the hard shoulder is available for stopping in e.g. emergency situations"@en ;
    saref:hasValue 0 ;
    saref:isValueOfProperty s4auto:HardShoulderStatus .

s4auto:HardShoulderStatus_closed a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "HardShoulderStatus - closed"@en ;
    rdfs:comment "1 - `closed` - if the hard shoulder is closed and cannot be occupied in any case"@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:HardShoulderStatus .


## Automotive Entities
#- Figure: SAREF4AUTO_figures.AutomotiveEntity.png

s4auto:AutomotiveEntity a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:AutomotiveEntity ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:AutomotiveEntity ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:AutomotiveEntity ] )
  ] ;
  rdfs:label "Automotive Object"@en ;
  rdfs:comment "The main objects of interest in the automotive domain."@en .


### Properties of Automotive Entities

#### Position
#- Figure: SAREF4AUTO_figures.Position.png
#- Example: SAREF4AUTO_examples.Position_Address.png
#- Example: SAREF4AUTO_examples.Position_CartesianPosition.png
#- Example: SAREF4AUTO_examples.Position_DeltaReferencePosition.png
#- Example: SAREF4AUTO_examples.Position_GeoPosition.png
#- Example: SAREF4AUTO_examples.Position_PolarPositionWithZ.png

s4auto:AutomotiveEntity saref:hasProperty s4auto:Position .

s4auto:Address a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Position ;
  rdfs:comment "A position defined in terms of an address. It is out of scope of SAREF4AUTO to define the details of such an address. It is instead recommended to reuse existing ontologies that specify how to model an address in terms of Street, Postal Code, City, Region, Country, etc."@en ;
  rdfs:label "Address"@en .
  
s4auto:DeltaReferencePosition a owl:NamedIndividual , saref:Property ;
  rdfs:label "Delta Reference Position"@en ;
  rdfs:comment """This property defines a geographical point position as a 3 dimensional offset position to a reference point."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: DeltaReferencePosition"@en ;
  skos:broader s4auto:Position ;
  s4auto:isComposedOf s4auto:DeltaReferencePosition_ReferencePosition ,
    s4auto:Position .

s4auto:DeltaReferencePosition_ReferencePosition a owl:NamedIndividual , saref:Property ;
  rdfs:label "DeltaReferencePosition - ReferencePosition"@en ;
  rdfs:comment """This property represents the reference position for a delta reference position."""@en ;
  skos:broader s4auto:Position .

s4auto:CartesianPosition a owl:NamedIndividual , saref:Property ;
  rdfs:label "Cartesian Position"@en ;
  rdfs:comment """This property represents the position of an automotive object, expressed as a position vector in a cartesian coordinate system"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CartesianPosition3dWithConfidence"@en ;
  skos:broader s4auto:Position ;
  s4auto:isComposedOf s4auto:CartesianPosition_xCoordinate ,
    s4auto:CartesianPosition_yCoordinate ,
    s4auto:CartesianPosition_zCoordinate .

s4auto:CartesianPosition_xCoordinate a owl:NamedIndividual , saref:Property ;
  rdfs:label "CartesianPosition - xCoordinate"@en ;
  rdfs:comment """This property represents the x coordinate value."""@en ;
  skos:broader s4auto:Length .

s4auto:CartesianPosition_yCoordinate a owl:NamedIndividual , saref:Property ;
  rdfs:label "CartesianPosition - yCoordinate"@en ;
  rdfs:comment """This property represents the y coordinate value."""@en ;
  skos:broader s4auto:Length .

s4auto:CartesianPosition_zCoordinate a owl:NamedIndividual , saref:Property ;
  rdfs:label "CartesianPosition - zCoordinate"@en ;
  rdfs:comment """This property represents the z coordinate value."""@en ;
  skos:broader s4auto:Length .

s4auto:PolarPositionWithZ a owl:NamedIndividual , saref:Property ;
  rdfs:label "Polar Position With Z"@en ;
  rdfs:comment """This property represents the position of an automotive object, expressed in a polar or cylindrical coordinate system."""@en ;
  skos:broader s4auto:Position ;
  s4auto:isComposedOf s4auto:PolarPositionWithZ_positionMagnitude ,
    s4auto:PolarPositionWithZ_positionDirection ,
    s4auto:PolarPositionWithZ_zCoordinate .

s4auto:PolarPositionWithZ_positionMagnitude a owl:NamedIndividual , saref:Property ;
  rdfs:label "PolarPositionWithZ - positionMagnitude"@en ;
  rdfs:comment """This property represents the magnitude of the position vector on the reference plane. It should be a positive value."""@en ;
  skos:broader s4auto:Length .

s4auto:PolarPositionWithZ_positionDirection a owl:NamedIndividual , saref:Property ;
  rdfs:label "PolarPositionWithZ - positionDirection"@en ;
  rdfs:comment """This property represents the polar angle of the position vector on the reference plane."""@en ;
  skos:broader s4auto:CartesianAngle .

s4auto:PolarPositionWithZ_zCoordinate a owl:NamedIndividual , saref:Property ;
  rdfs:label "PolarPositionWithZ - zCoordinate"@en ;
  rdfs:comment """This property represents the z coordinate value of the position vector along the reference axis of the cylindrical coordinate system."""@en ;
  skos:broader s4auto:Length .




#### Road Topology Position
#- Figure: SAREF4AUTO_figures.RoadTopologyPosition.png
#- Example: SAREF4AUTO_examples.Position_RoadTopologyPosition.png

s4auto:RoadTopologyPosition a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Position ;
  rdfs:comment "Position with respect to road topology (e.g. road, segment or lane) and lane characteristics (highway lane, road lane, bicycle lane, pavement, off-road)."@en ;
  rdfs:label "Road Topology Position"@en .

s4auto:LanePosition a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:RoadTopologyPosition ;
  rdfs:label "LanePosition"@en ;
  rdfs:comment """This property indicates a transversal position on the carriageway at a specific longitudinal position, in resolution of lanes of the carriageway. 

For right-hand traffic roads, the value shall be set to:
- `-1` if the position is off, i.e. besides the road,
- `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the leftmost lane,
- `n` (`n > 0` and `n < 14`), if the position is on the n-th driving lane counted from the leftmost lane to the rightmost lane of a specific traffic direction,
- `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to rightmost lane (if present).

For left-hand traffic roads, the value shall be set to:
- `-1` if the position is off, i.e. besides the road,
- `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the rightmost lane,
- `n` (`n > 0` and `n < 14`), if the position is on the n-th driving lane counted from the rightmost lane to the leftmost lane of a specific traffic direction,
- `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to leftmost lane (if present).

The following property values are defined:
- s4auto:LanePosition_offTheRoad
- s4auto:LanePosition_innerHardShoulder
- s4auto:LanePosition_outerHardShoulder 
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LanePosition"@en ;
  skos:note """in practice this means that the position is counted from "inside" to "outside" no matter which traffic practice is used.

If the carriageway allows only traffic in one direction (e.g. in case of dual or multiple carriageway roads), the position is counted from the physical border of the carriageway. 
If the carriageway allows traffic in both directions and there is no physical delimitation between traffic directions (e.g. on a single carrriageway road), 
the position is counted from the legal (i.e. optical) separation between traffic directions (horizontal marking)."""@en ;
  skos:broader s4auto:Position .

  s4auto:LanePosition_innerHardShoulder a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "LanePosition - innerHardShoulder"@en ;
    rdfs:comment "`0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the leftmost lane"@en ;
    saref:hasValue 0 ;
    saref:isValueOfProperty s4auto:LanePosition .

  s4auto:LanePosition_offTheRoad a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "LanePosition - offTheRoad"@en ;
    rdfs:comment "`-1` the position is off, i.e. besides the road"@en ;
    saref:hasValue -1 ;
    saref:isValueOfProperty s4auto:LanePosition .

  s4auto:LanePosition_outerHardShoulder a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "LanePosition - outerHardShoulder"@en ;
    rdfs:comment "`14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to leftmost lane (if present)."@en ;
    saref:hasValue 14 ;
    saref:isValueOfProperty s4auto:LanePosition .

s4auto:LongitudinalLanePosition a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:RoadTopologyPosition , s4auto:Length ;
  rdfs:label "LongitudinalLanePosition"@en ;
  rdfs:comment """This property represents the estimated position along the longitudinal length of a particular lane."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: LongitudinalLanePosition"@en .

s4auto:MapReferencePosition a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:RoadTopologyPosition ;
  rdfs:label "MapReferencePosition"@en ;
  rdfs:comment """This property represents the estimated position as a reference to some road, road segment, lane, or intersection."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: MapReference"@en .



#### Shapes

#- Figure: SAREF4AUTO_figures.RectangularShape.png
#- Example: SAREF4AUTO_examples.Shape_RectangularShape.png

s4auto:AutomotiveEntity saref:hasProperty s4auto:Shape .

s4auto:RectangularShape a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Shape ;
  rdfs:label "Rectangular Shape"@en ;
  rdfs:comment "Definition of an rectangular area or a right rectangular prism (with a rectangular base) also called a cuboid, or informally a rectangular box."@en ;
  s4auto:isComposedOf s4auto:RectangularShape_centerPoint ,
    s4auto:RectangularShape_semiLength ,
    s4auto:RectangularShape_semiBreadth ,
    s4auto:RectangularShape_orientation ,
    s4auto:RectangularShape_height ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RectangularShape"@en .

s4auto:RectangularShape_centerPoint a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Position ;
  rdfs:label "RectangularShape - centerPoint"@en ;
  rdfs:comment "The center point of a rectangular shape, expressed as a position"@en .

s4auto:RectangularShape_semiLength a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "RectangularShape - semiLength"@en ;
  rdfs:comment "Represents half the length of the base rectangle."@en .

s4auto:RectangularShape_semiBreadth a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "RectangularShape - semiBreadth"@en ;
  rdfs:comment "Represents half the breadth of the base rectangle."@en .

s4auto:RectangularShape_orientation a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Orientation ;
  rdfs:label "RectangularShape - orientation"@en ;
  rdfs:comment "Represents the orientation of the lenght of the base rectangle."@en .

s4auto:RectangularShape_height a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "RectangularShape - height"@en ;
  rdfs:comment "Represents the height of a right rectangular prism extending in the positive z-axis."@en .

#- Figure: SAREF4AUTO_figures.CircularShape.png
#- Example: SAREF4AUTO_examples.Shape_CircularShape.png

s4auto:CircularShape a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Shape ;
  rdfs:label "Circular Shape"@en ;
  rdfs:comment "Definition of a circular area or a right cylinder that is centred on the shape's reference point."@en ;
  s4auto:isComposedOf s4auto:CircularShape_shapeReferencePoint ,
    s4auto:CircularShape_radius ,
    s4auto:CircularShape_height ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CircularShape"@en .

s4auto:CircularShape_shapeReferencePoint a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Position ;
  rdfs:label "CircularShape - shapeReferencePoint"@en ;
  rdfs:comment "Represents the center of the base circle."@en .

s4auto:CircularShape_radius a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "CircularShape - radius"@en ;
  rdfs:comment "Represents the radius of the circular area."@en .

s4auto:CircularShape_height a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "CircularShape - height"@en ;
  rdfs:comment "Represents the height of a right cylinder extending in the positive z-axis."@en .


#- Figure: SAREF4AUTO_figures.PolygonalShape.png
#- Example: SAREF4AUTO_examples.Shape_PolygonalShape.png

s4auto:PolygonalShape a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Shape ;
  rdfs:label "Polygonal Shape"@en ;
  rdfs:comment "Definition of a polygonal area or of a right prism."@en ;
  s4auto:isComposedOf s4auto:PolygonalShape_vertice ,
    s4auto:PolygonalShape_height ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PolygonalShape"@en .

s4auto:PolygonalShape_vertice a owl:NamedIndividual , saref:Property , s4auto:IndexedProperty ;
  skos:broader s4auto:Position ;
  rdfs:label "PolygonalShape - vertice"@en ;
  rdfs:comment "Represents a vertice of the polygonal area or of the right prism base."@en .

s4auto:PolygonalShape_height a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "PolygonalShape - height"@en ;
  rdfs:comment "Represents the height of a right prism extending in the positive z-axis."@en .


#- Figure: SAREF4AUTO_figures.EllipticalShape.png

s4auto:EllipticalShape a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Shape ;
  rdfs:label "Elliptical Shape"@en ;
  rdfs:comment "Definition of an elliptical area or right elliptical cylinder that is centred on the shape's reference point."@en ;
  s4auto:isComposedOf s4auto:EllipticalShape_shapeReferencePoint ,
    s4auto:EllipticalShape_semiMajorAxisLength ,
    s4auto:EllipticalShape_semiMinorAxisLength ,
    s4auto:EllipticalShape_orientation ,
    s4auto:EllipticalShape_height ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: EllipticalShape"@en .

s4auto:EllipticalShape_shapeReferencePoint a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Position ;
  rdfs:label "EllipticalShape - shapeReferencePoint"@en ;
  rdfs:comment "Represents the center of the base ellipse."@en .

s4auto:EllipticalShape_semiMajorAxisLength a owl:NamedIndividual , saref:Property , s4auto:IndexedProperty ;
  skos:broader s4auto:Length ;
  rdfs:label "EllipticalShape - semiMajorAxisLength"@en ;
  rdfs:comment "Represents half length of the major axis of the base ellipse."@en .

s4auto:EllipticalShape_semiMinorAxisLength a owl:NamedIndividual , saref:Property , s4auto:IndexedProperty ;
  skos:broader s4auto:Length ;
  rdfs:label "EllipticalShape - semiMinorAxisLength"@en ;
  rdfs:comment "Represents half length of the minor axis of the base ellipse."@en .

s4auto:EllipticalShape_orientation a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Orientation ;
  rdfs:label "EllipticalShape - orientation"@en ;
  rdfs:comment "Represents the orientation of the major axis of the base ellipse."@en .

s4auto:EllipticalShape_height a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "EllipticalShape - height"@en ;
  rdfs:comment "Represents the height of a right elliptical cylinder extending in the positive z-axis."@en .


#### Velocity
#- Figure: SAREF4AUTO_figures.Velocity.png
#- Example: SAREF4AUTO_examples.Velocity3d.png
#- Example: SAREF4AUTO_examples.zAngularVelocity.png

s4auto:AutomotiveEntity saref:hasProperty s4auto:Velocity3d , s4auto:zAngularVelocity.

s4auto:Velocity3d a owl:NamedIndividual , saref:Property ;
  rdfs:label "AutomotiveObject Velocity3d"@en ;
  rdfs:comment """This property represents the velocity of an automotive object."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: Velocity3dWithConfidence"@en ;
  saref:isPropertyOf s4auto:AutomotiveEntity .

s4auto:Velocity3d_standstill a owl:NamedIndividual , saref:PropertyValue ;
  rdfs:label "Velocity3d - standstill"@en ;
  rdfs:comment "Named property value for velocity, when an object is in a standstill situation."@en ;
  saref:hasValue 0 ;
  saref:isValueOfProperty s4auto:Velocity3d .

s4auto:VelocityCartesian a owl:NamedIndividual , saref:Property ;
  rdfs:label "Velocity Cartesian"@en ;
  rdfs:comment """This property represents the velocity of an automotive object, expressed as a velocity vector in a cartesian coordinate system"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VelocityCartesian"@en ;
  skos:broader s4auto:Velocity3d ;
  s4auto:isComposedOf s4auto:VelocityCartesian_xVelocity ,
    s4auto:VelocityCartesian_yVelocity ,
    s4auto:VelocityCartesian_zVelocity .

s4auto:VelocityCartesian_xVelocity a owl:NamedIndividual , saref:Property ;
  rdfs:label "VelocityCartesian - xVelocity"@en ;
  rdfs:comment """This property represents the x component of the velocity vector."""@en ;
  skos:broader s4auto:Velocity .

s4auto:VelocityCartesian_yVelocity a owl:NamedIndividual , saref:Property ;
  rdfs:label "VelocityCartesian - yVelocity"@en ;
  rdfs:comment """This property represents the y component of the velocity vector."""@en ;
  skos:broader s4auto:Velocity .

s4auto:VelocityCartesian_zVelocity a owl:NamedIndividual , saref:Property ;
  rdfs:label "VelocityCartesian - zVelocity"@en ;
  rdfs:comment """This property represents the z component of the velocity vector."""@en ;
  skos:broader s4auto:Velocity .

s4auto:VelocityPolarWithZ a owl:NamedIndividual , saref:Property ;
  rdfs:label "Velocity Polar With Z"@en ;
  rdfs:comment """This property represents the velocity of an automotive object, expressed in a polar or cylindrical coordinate system."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VelocityPolarWithZ"@en ;
  skos:broader s4auto:Velocity3d ;
  s4auto:isComposedOf s4auto:VelocityPolarWithZ_velocityMagnitude ,
    s4auto:VelocityPolarWithZ_velocityDirection ,
    s4auto:VelocityPolarWithZ_zVelocity .

s4auto:VelocityPolarWithZ_velocityMagnitude a owl:NamedIndividual , saref:Property ;
  rdfs:label "VelocityCartesian - velocityMagnitude"@en ;
  rdfs:comment """This property represents the magnitude of the velocity vector on the reference plane. It should be a positive value."""@en ;
  skos:broader s4auto:Velocity .

s4auto:VelocityPolarWithZ_velocityDirection a owl:NamedIndividual , saref:Property ;
  rdfs:label "VelocityCartesian - velocityDirection"@en ;
  rdfs:comment """This property represents the polar angle of the velocity vector on the reference plane."""@en ;
  skos:broader s4auto:CartesianAngle .

s4auto:VelocityPolarWithZ_zVelocity a owl:NamedIndividual , saref:Property ;
  rdfs:label "VelocityCartesian - zVelocity"@en ;
  rdfs:comment """This property represents the z component of the velocity vector along the reference axis of the cylindrical coordinate system."""@en ;
  skos:broader s4auto:Velocity .

s4auto:zAngularVelocity a owl:NamedIndividual , saref:Property ;
  rdfs:label "zAngularVelocity"@en ;
  rdfs:comment """This property represents the angular velocity of the object around the z-axis.
The angular velocity is measured with positive values considering the object orientation turning around the z-axis using the right-hand rule."""@en ;
  skos:broader s4auto:CartesianAngularVelocity .




#### Heading
#- Figure: SAREF4AUTO_figures.Heading.png
#- Example: SAREF4AUTO_examples.Heading.png

s4auto:AutomotiveEntity saref:hasProperty s4auto:Heading .

s4auto:Heading a owl:NamedIndividual , saref:Property ;
  rdfs:label "Heading"@en ;
  rdfs:comment """This property represents the orientation of the horizontal velocity vector of an automotive object."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: Position3dWithConfidence"@en ;
  saref:isPropertyOf s4auto:AutomotiveEntity .

s4auto:Heading_CartesianAngle a owl:NamedIndividual , saref:Property ;
  rdfs:label "Heading - Cartesian Angle"@en ;
  rdfs:comment "This property represents the orientation of the horizontal velocity vector of an automotive object, expressed as an angle value described in a local Cartesian coordinate system, per default counted positive in a right-hand local coordinate system from the abscissa"@en ;
  skos:broader s4auto:Heading , s4auto:CartesianAngle .

s4auto:Heading_Wgs84Angle a owl:NamedIndividual , saref:Property ;
  rdfs:label "Heading - Wgs84Angle"@en ;
  rdfs:comment "This property represents the orientation of the horizontal velocity vector of an automotive object, expressed as an angle value with regards to the WGS84 north."@en ;
  skos:broader s4auto:Heading , s4auto:Wgs84Angle .


#### Stationary Since
#- Figure: SAREF4AUTO_figures.StationarySince.png
#- Example: SAREF4AUTO_examples.StationarySince.png

s4auto:AutomotiveEntity saref:hasProperty s4auto:StationarySince .


s4auto:StationarySince a owl:NamedIndividual , saref:Property ;
  rdfs:label "StationarySince"@en ;
  rdfs:comment """This property indicates the duration since which an automotive object is stationary.

The following property values are defined:
- s4auto:StationarySince_lessThan1Minute         - for being stationary since less than 1 minute, 
- s4auto:StationarySince_lessThan2Minutes        - for being stationary since less than 2 minute and for equal to or more than 1 minute,
- s4auto:StationarySince_lessThan15Minutes       - for being stationary since less than 15 minutes and for equal to or more than 1 minute,
- s4auto:StationarySince_equalOrGreater15Minutes - for being stationary since equal to or more than 15 minutes."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: StationarySince"@en ;
  saref:isPropertyOf s4auto:AutomotiveEntity .

  s4auto:StationarySince_equalOrGreater15Minutes a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "StationarySince - equalOrGreater15Minutes"@en ;
    rdfs:comment "3 `equalOrGreater15Minutes` - for being stationary since equal to or more than 15 minutes."@en ;
    saref:hasValue 3 ;
    saref:isValueOfProperty s4auto:StationarySince .

  s4auto:StationarySince_lessThan15Minutes a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "StationarySince - lessThan15Minutes"@en ;
    rdfs:comment "2 `lessThan15Minutes` - for being stationary since less than 15 minutes and for equal to or more than 1 minute"@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:StationarySince .

  s4auto:StationarySince_lessThan1Minute a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "StationarySince - lessThan1Minute"@en ;
    rdfs:comment "0 `lessThan1Minute` - for being stationary since less than 1 minute"@en ;
    saref:hasValue 0 ;
    saref:isValueOfProperty s4auto:StationarySince .

  s4auto:StationarySince_lessThan2Minutes a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "StationarySince - lessThan2Minutes"@en ;
    rdfs:comment "1 `lessThan2Minutes` - for being stationary since less than 2 minute and for equal to or more than 1 minute"@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:StationarySince .


#### Acceleration
#- Figure: SAREF4AUTO_figures.Acceleration.png
#- Example: SAREF4AUTO_examples.Acceleration3d.png


s4auto:AutomotiveEntity saref:hasProperty s4auto:Acceleration3d .

s4auto:Acceleration3d a owl:NamedIndividual , saref:Property ;
  rdfs:label "Acceleration3d"@en ;
  rdfs:comment """This property represents the acceleration of an automotive object."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: Acceleration3dWithConfidence"@en ;
  saref:isPropertyOf s4auto:AutomotiveEntity .

s4auto:AccelerationCartesian a owl:NamedIndividual , saref:Property ;
  rdfs:label "Acceleration Cartesian"@en ;
  rdfs:comment """This property represents the acceleration of an automotive object, expressed as a acceleration vector in a cartesian coordinate system"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AccelerationCartesian"@en ;
  skos:broader s4auto:Acceleration3d ;
  s4auto:isComposedOf s4auto:AccelerationCartesian_xAcceleration ,
    s4auto:AccelerationCartesian_yAcceleration ,
    s4auto:AccelerationCartesian_zAcceleration .

s4auto:AccelerationCartesian_xAcceleration a owl:NamedIndividual , saref:Property ;
  rdfs:label "AccelerationCartesian - xAcceleration"@en ;
  rdfs:comment """This property represents the x component of the acceleration vector."""@en ;
  skos:broader s4auto:Acceleration .

s4auto:AccelerationCartesian_yAcceleration a owl:NamedIndividual , saref:Property ;
  rdfs:label "AccelerationCartesian - yAcceleration"@en ;
  rdfs:comment """This property represents the y component of the acceleration vector."""@en ;
  skos:broader s4auto:Acceleration .

s4auto:AccelerationCartesian_zAcceleration a owl:NamedIndividual , saref:Property ;
  rdfs:label "AccelerationCartesian - zAcceleration"@en ;
  rdfs:comment """This property represents the z component of the acceleration vector."""@en ;
  skos:broader s4auto:Acceleration .

s4auto:AccelerationPolarWithZ a owl:NamedIndividual , saref:Property ;
  rdfs:label "Acceleration Polar With Z"@en ;
  rdfs:comment """This property represents the acceleration of an automotive object, expressed in a polar or cylindrical coordinate system."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AccelerationPolarWithZ"@en ;
  skos:broader s4auto:Acceleration3d ;
  s4auto:isComposedOf s4auto:AccelerationPolarWithZ_accelerationMagnitude ,
    s4auto:AccelerationPolarWithZ_accelerationDirection ,
    s4auto:AccelerationPolarWithZ_zAcceleration .

s4auto:AccelerationPolarWithZ_accelerationMagnitude a owl:NamedIndividual , saref:Property ;
  rdfs:label "AccelerationCartesian - accelerationMagnitude"@en ;
  rdfs:comment """This property represents the magnitude of the acceleration vector on the reference plane. It should be a positive value."""@en ;
  skos:broader s4auto:Acceleration .

s4auto:AccelerationPolarWithZ_accelerationDirection a owl:NamedIndividual , saref:Property ;
  rdfs:label "AccelerationCartesian - accelerationDirection"@en ;
  rdfs:comment """This property represents the polar angle of the acceleration vector on the reference plane."""@en ;
  skos:broader s4auto:CartesianAngle .

s4auto:AccelerationPolarWithZ_zAcceleration a owl:NamedIndividual , saref:Property ;
  rdfs:label "AccelerationCartesian - zAcceleration"@en ;
  rdfs:comment """This property represents the z component of the acceleration vector along the reference axis of the cylindrical coordinate system."""@en ;
  skos:broader s4auto:Acceleration .


### AutomotiveObject
#- Figure: SAREF4AUTO_figures.AutomotiveObject.png
#- Example: SAREF4AUTO_examples.AutomotiveObject.png

s4auto:AutomotiveObject_singleObject a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Automotive Object - singleObject"@en ;
  rdfs:comment "The object is a single object."@en ;
  skos:broader s4auto:AutomotiveEntity ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: OtherSubClass"@en .

s4auto:AutomotiveObject_multipleObjects a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Automotive Object - multipleObjects"@en ;
  rdfs:comment "The object is a group of multiple objects."@en ;
  skos:broader s4auto:AutomotiveEntity ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: OtherSubClass"@en .

s4auto:AutomotiveObject_bulkMaterial a owl:NamedIndividual , saref:FeatureKind ;
  rdfs:label "Automotive Object - bulkMaterial"@en ;
  rdfs:comment "The object is a bulk material."@en ;
  skos:broader s4auto:AutomotiveEntity ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: OtherSubClass"@en .


### Traffic Participant
#- Figure: SAREF4AUTO_figures.TrafficParticipant.png
#- Example: SAREF4AUTO_examples.TrafficParticipant.png

s4auto:TrafficParticipant a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:TrafficParticipant ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:TrafficParticipant ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:TrafficParticipant ] )
  ] ;
  skos:broader s4auto:AutomotiveEntity ;
  rdfs:subClassOf s4auto:AutomotiveEntity ;
  rdfs:label "TrafficParticipant"@en ;
  rdfs:comment """Traffic participants include vehicles of different kinds, vulnerable road users such as pedestrians and cyclists, road side units."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_agricultural a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - agricultural"@en ;
    rdfs:comment "agricultural and forestry vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 class T"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_animal a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - animal"@en ;
    rdfs:comment "animal presenting a safety risk to other road users e.g. domesticated dog in a city or horse (VRU Profile 4)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_bus a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - bus"@en ;
    rdfs:comment "large passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_cyclist a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - cyclist"@en ;
    rdfs:comment "non-motorized unicycles, bicycles , tricycles, quadracycles (VRU profile 2)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_heavyTruck a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - heavyTruck"@en ;
    rdfs:comment "Heavy Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 class N2 and N3"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_lightTruck a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - lightTruck"@en ;
    rdfs:comment "light Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 class N1"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_lightVruVehicle a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - lightVruVehicle"@en ;
    rdfs:comment "human being traveling on light vehicle, incl. possible use of roller skates or skateboards (VRU profile 2)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_moped a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - moped"@en ;
    rdfs:comment "light motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2 (VRU Profile 3)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_motorcycle a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - motorcycle"@en ;
    rdfs:comment "motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7 (VRU Profile 3)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_passengerCar a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - passengerCar"@en ;
    rdfs:comment "small passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 class M1"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_pedestrian a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - pedestrian"@en ;
    rdfs:comment "human being not using a mechanical device for their trip (VRU profile 1)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_roadSideUnit a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - roadSideUnit"@en ;
    rdfs:comment """infrastructure typically positioned outside of the drivable roadway (e.g. on a gantry, on a pole, 
  on a stationary road works trailer); the infrastructure is static during the entire operation period of the ITS-S (e.g. no stop and go activity)"""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_specialVehicle a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - specialVehicle"@en ;
    rdfs:comment "vehicles which have special purposes other than the above (e.g. moving road works vehicle)"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_trailer a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - trailer"@en ;
    rdfs:comment "unpowered vehicle that is intended to be towed by a powered vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class O"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .

  s4auto:TrafficParticipant_tram a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:TrafficParticipant ;
    rdfs:label "TrafficParticipant - tram"@en ;
    rdfs:comment "vehicle which runs on tracks along public streets"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficParticipantType"@en .



#### Safe Distances and Collisions
#- Figure: SAREF4AUTO_figures.SafeDistance_Collision.png
#- Example: SAREF4AUTO_examples.Collision.png
#- Example: SAREF4AUTO_examples.SafeDistance.png
#- Example: SAREF4AUTO_examples.TrajectoryInterceptionProbability.png

s4auto:TrafficParticipant saref:hasProperty s4auto:SafeDistance .

s4auto:SafeDistance a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
  rdfs:label "SafeDistance"@en ;
  rdfs:comment """This property indicates if a distance from an observer traffic participant to the traffic participant holding this property is safe. 

The value for this property is *FALSE* if  the triple  {LaD,  LoD, VD} < {MSLaD, MSLoD, MSVD} is simultaneously  satisfied with confidence level of  90 % or  more"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SafeDistanceIndicator"@en ;
  skos:note """the abbreviations used are Lateral Distance (LaD),  Longitudinal Distance (LoD) and Vertical Distance (VD) 
and their respective  thresholds, Minimum  Safe  Lateral  Distance (MSLaD), Minimum  Safe  Longitudinal Distance  (MSLoD),  and  Minimum  Safe Vertical Distance (MSVD)."""@en .


s4auto:TrafficParticipant saref:hasProperty s4auto:Collision .

s4auto:Collision a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
  rdfs:label "Collision"@en ;
  rdfs:comment """This property indicates if collision holds between an observer traffic participant and the traffic participant holding this property. 

  The value for this property is *TRUE* if the collision is expected to occur, or has occurred. The phenomenonTime indicates the time of the collision"""@en ;
  skos:note """The time-to-collision is calculated as sqrt(LaDi^2 + LoDi^2 + VDi^2)/relative speed. the abbreviations used are Lateral Distance (LaD),  Longitudinal Distance (LoD) and Vertical Distance (VD)."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SafeDistanceIndicator.timeToCollision"@en .


s4auto:VulnerableRoadUser saref:hasProperty s4auto:TrajectoryInterceptionProbability .

s4auto:TrajectoryInterceptionProbability a owl:NamedIndividual , saref:Property ;
  rdfs:label "TrajectoryInterception"@en ;
  rdfs:comment """This property indicates the probability that the observer's trajectory intercepts with the trajectory of the VRU holding this property."""@en ;
  skos:note "Typically, the property is measured in 2 %"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrajectoryInterceptionProbability"@en .



### Vehicle
#- Figure: SAREF4AUTO_figures.Vehicle.png
#- Example: SAREF4AUTO_examples.Vehicle.png

s4auto:Vehicle a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:Vehicle ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:Vehicle ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:Vehicle ] )
  ] ;
  skos:broader s4auto:TrafficParticipant ;
  rdfs:subClassOf s4auto:TrafficParticipant ;
  rdfs:label "Vehicle"@en ;
  rdfs:comment "Self-propelled transport device, along with any attachments, e.g. trailers, that is a legal user of the transportation network (Source: ISO/TS 19091:2019(en))."@en ;
  skos:example "Example of types of vehicles are car, truck, public transport and two-wheeler."@en ;
  skos:note "See ETSI TS 102 894-2 spec for full list of vehicles, which are type of \"stations\". The main IoT device considered in the vehicle is the  s4auto:OnBoardUnit." .

s4auto:ArticulatedBusVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "ArticulatedBus vehicle"@en ;
    rdfs:comment "articulatedBus vehicle kind, as defined by term No 3.1.2.5 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:ArticulatedRoadTrainVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "ArticulatedRoadTrain vehicle"@en ;
    rdfs:comment "articulatedRoadTrain vehicle kind, as defined by term No 3.3.3 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:BusSemiTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "BusSemiTrailer vehicle"@en ;
    rdfs:comment "busSemiTrailer vehicle kind, as defined by term No 3.2.2.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:BusTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "BusTrailer vehicle"@en ;
    rdfs:comment "busTrailer vehicle kind, as defined by term No 3.2.1.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:BusVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Bus vehicle"@en ;
    rdfs:comment "bus vehicle kind, as defined by term No 3.1.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:CaravanVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Caravan vehicle"@en ;
    rdfs:comment "caravan vehicle kind, as defined by term No 3.2.1.3 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:CommercialVehicleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "CommercialVehicle vehicle"@en ;
    rdfs:comment "commercialVehicle vehicle kind, as defined by term No 3.1.3 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:CompositeRoadTrainVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "CompositeRoadTrain vehicle"@en ;
    rdfs:comment "compositeRoadTrain vehicle kind, as defined by term No 3.3.5 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:ConvertibleSaloonVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "ConvertibleSaloon vehicle"@en ;
    rdfs:comment "convertibleSaloon vehicle kind, as defined by term No 3.1.1.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:ConvertibleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Convertible vehicle"@en ;
    rdfs:comment "convertible vehicle kind, as defined by term No 3.1.1.6 (open tourer, roadster, spider) in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:CoupeVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Coupe vehicle"@en ;
    rdfs:comment "coupe vehicle kind, as defined by term No 3.1.1.5 (coupe) in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:DoubleRoadTrainVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DoubleRoadTrain vehicle"@en ;
    rdfs:comment "doubleRoadTrain vehicle kind, as defined by term No 3.3.4 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:ForwardControlPassengerCarVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "ForwardControlPassengerCar vehicle"@en ;
    rdfs:comment "forwardControlPassengerCar vehicle kind, as defined by term No 3.1.1.8 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:GeneralPurposeSemiTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "GeneralPurposeSemiTrailer vehicle"@en ;
    rdfs:comment "generalPurposeSemiTrailer vehicle kind, as defined by term No 3.2.2.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:GeneralPurposeTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "GeneralPurposeTrailer vehicle"@en ;
    rdfs:comment "generalPurposeTrailer vehicle kind, as defined by term No 3.2.1.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:InterurbanCoachVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "InterurbanCoach vehicle"@en ;
    rdfs:comment "interurbanCoach vehicle kind, as defined by term No 3.1.2.3 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:LongDistanceCoachVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "LongDistanceCoach vehicle"@en ;
    rdfs:comment "longDistanceCoach vehicle kind, as defined by term No 3.1.2.4 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:MinibusVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Minibus vehicle"@en ;
    rdfs:comment "minibus vehicle kind, as defined by term No 3.1.2.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:MopedVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Moped vehicle"@en ;
    rdfs:comment "moped vehicle kind, as defined by term No 3.4 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:MotorCycleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "MotorCycle vehicle"@en ;
    rdfs:comment "motorCycle vehicle kind, as defined by term No 3.5 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:MultipurposePassengerCarVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "MultipurposePassengerCar vehicle"@en ;
    rdfs:comment "multipurposePassengerCar vehicle kind, as defined by term No 3.1.1.7 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:PassengerCarVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "PassengerCar vehicle"@en ;
    rdfs:comment "passengerCar vehicle kind, as defined by term No 3.1.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:PassengerRoadTrainVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "PassengerRoadTrain vehicle"@en ;
    rdfs:comment "passengerRoadTrain vehicle kind, as defined by term No 3.3.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:PullmanSaloonVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "PullmanSaloon vehicle"@en ;
    rdfs:comment "pullmanSaloon vehicle kind, as defined by term No 3.1.1.3 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:RoadTrainVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "RoadTrain vehicle"@en ;
    rdfs:comment "roadTrain vehicle kind, as defined by term No 3.3.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SaloonVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Saloon vehicle"@en ;
    rdfs:comment "saloon vehicle kind, as defined by term No 3.1.1.1 (sedan) in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SemiTrailerTowingVehicleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SemiTrailerTowingVehicle vehicle"@en ;
    rdfs:comment "semiTrailerTowingVehicle vehicle kind, as defined by term No 3.1.6 (fifth wheel tractor) in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SemiTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SemiTrailer vehicle"@en ;
    rdfs:comment "semiTrailer vehicle kind, as defined by term No 3.2.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialBusVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialBus vehicle"@en ;
    rdfs:comment "specialBus vehicle kind, as defined by term No 3.1.2.7 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialCommercialVehicleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialCommercialVehicle vehicle"@en ;
    rdfs:comment "specialCommercialVehicle vehicle kind, as defined by term No 3.1.3.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialPassengerCarVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialPassengerCar vehicle"@en ;
    rdfs:comment "specialPassengerCar vehicle kind, as defined by term No 3.1.1.9 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialRoadTrainVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialRoadTrain vehicle"@en ;
    rdfs:comment "specialRoadTrain vehicle kind, as defined by term No 3.3.6 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialSemiTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialSemiTrailer vehicle"@en ;
    rdfs:comment "specialSemiTrailer vehicle kind, as defined by term No 3.2.2.3 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialTrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialTrailer vehicle"@en ;
    rdfs:comment "specialTrailer vehicle kind, as defined by term No 3.2.1.4 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:SpecialVehicleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "SpecialVehicle vehicle"@en ;
    rdfs:comment "specialVehicle vehicle kind, as defined by term No 3.1.4 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:StationWagonVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "StationWagon vehicle"@en ;
    rdfs:comment "stationWagon vehicle kind, as defined by term No 3.1.1.4 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:TrailerVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "Trailer vehicle"@en ;
    rdfs:comment "trailer vehicle kind, as defined by term No 3.2.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:TrailingTowingVehicleVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "TrailingTowingVehicle vehicle"@en ;
    rdfs:comment "trailingTowingVehicle vehicle kind, as defined by term No 3.1.5 (draw-bar tractor) in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:TrolleyBusVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "TrolleyBus vehicle"@en ;
    rdfs:comment "trolleyBus	 vehicle kind, as defined by term No 3.1.2.6 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:TruckStationWagonVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "TruckStationWagon vehicle"@en ;
    rdfs:comment "truckStationWagon vehicle kind, as defined by term No 3.1.1.4.1 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .

s4auto:UrbanBusVehicle a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "UrbanBus vehicle"@en ;
    rdfs:comment "urbanBus vehicle kind, as defined by term No 3.1.2.2 in ISO 3833"@en ;
    skos:broader s4auto:Vehicle .




#### Static Vehicle Properties
#- Figure: SAREF4AUTO_figures.VehicleStaticProperties.png
#- Example: SAREF4AUTO_examples.Vehicle_static_properties.png

s4auto:Vehicle saref:hasProperty 
  s4auto:VehicleIdentification,
  s4auto:VehicleHeight,
  s4auto:VehicleLength,
  s4auto:VehicleMass,
  s4auto:VehicleWidth,
  s4auto:WheelBaseVehicle,
  s4auto:TurningRadius,
  s4auto:PositionOfPillars,
  s4auto:PosCentMass,
  s4auto:PosFrontAx,
  s4auto:PosLonCarr,
  s4auto:HeightLonCarr.

s4auto:VehicleIdentification a owl:NamedIndividual , saref:Property ;
    rdfs:label "VehicleIdentification"@en ;
    rdfs:comment """This property provides information related to the identification of a vehicle.

It shall include the following components:

 - WMInumber: World Manufacturer Identifier (WMI) code.
 - VDS: Vehicle Descriptor Section (VDS)."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VehicleIdentification"@en ;
    s4auto:isComposedOf s4auto:VDS, s4auto:WMInumber ;
    saref:isPropertyOf s4auto:Vehicle .

  s4auto:VDS a owl:NamedIndividual , saref:Property , s4auto:StringProperty ;
      rdfs:label "VDS"@en ;
      rdfs:comment "This property represents the Vehicle Descriptor Section (VDS). The values are assigned according to ISO 3779."@en ;
      skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VDS"@en .

  s4auto:WMInumber a owl:NamedIndividual , saref:Property, s4auto:StringProperty ;
      rdfs:label "WMInumber"@en ;
      rdfs:comment "This property represents the World Manufacturer Identifier (WMI). The values are assigned according to ISO 3779."@en ;
      skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: WMInumber"@en .

s4auto:VehicleHeight a owl:NamedIndividual , saref:Property ;
    rdfs:label "VehicleHeight"@en ;
    rdfs:comment """This property represents the height of the vehicle, measured from the ground to the highest point, excluding any antennas.
In case vehicles are equipped with adjustable ride heights, camper shells, and any other equipment which may result in varying height, the largest possible height shall be used."""@en ;
    skos:historyNote "Adapted from ETSI TS 102894-2 V2.1.1"@en ;
    skos:note "Typically, the property is measured in 0,05 metre"@en ;
    saref:isPropertyOf s4auto:Vehicle .

s4auto:VehicleLength a owl:NamedIndividual , saref:Property ;
    skos:broader s4auto:Length ;
    rdfs:label "VehicleLength"@en ;
    rdfs:comment """This property represents the length of a vehicle."""@en ;
    skos:historyNote "Adapted from ETSI TS 102894-2 V2.1.1 VehicleLengthValue"@en ;
    skos:note "Typically, the property is measured in metre"@en .

  s4auto:VehicleLengthWithTrailer a owl:NamedIndividual , saref:Property ;
      skos:broader s4auto:VehicleLength ;
      rdfs:label "VehicleLengthWithTrailer"@en ;
      rdfs:comment """This property represents the length of a vehicle, including the length of a potential trailer."""@en ;
      skos:note "Typically, the property is measured in metre"@en .

  s4auto:VehicleLengthWithoutTrailer a owl:NamedIndividual , saref:Property ;
      skos:broader s4auto:VehicleLength ;
      rdfs:label "VehicleLengthWithoutTrailer"@en ;
      rdfs:comment """This property represents the length of a vehicle, excluding the length of a potential trailer."""@en ;
      skos:note "Typically, the property is measured in metre"@en .

s4auto:VehicleMass a owl:NamedIndividual , saref:Property ;
    rdfs:label "VehicleMass"@en ;
    rdfs:comment """This property represents the mass of an empty loaded vehicle."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VehicleMass"@en ;
    skos:note "The empty load vehicle is defined in ISO 1176 [8], clause 4.6."@en,
        "Typically, the property is measured in 10^5 gramm"@en ;
    saref:isPropertyOf s4auto:Vehicle .

s4auto:VehicleWidth a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "VehicleWidth"@en ;
  rdfs:comment """This property represents the width of a vehicle, excluding side mirrors and possible similar extensions."""@en ;
  skos:historyNote "Adapted from ETSI TS 102894-2 V2.1.1"@en ;
  skos:note "Typically, the property is measured in metre"@en .

s4auto:WheelBaseVehicle a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "WheelBaseVehicle"@en ;
  rdfs:comment """This property indicates the perpendicular distance between front and rear axle of the wheel base of vehicle."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: WheelBaseVehicle"@en ;
  skos:note "Typically, the property is measured in metre"@en ;
  saref:isPropertyOf s4auto:Vehicle .

s4auto:TurningRadius a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "TurningRadius"@en ;
  rdfs:comment """This property represents the smallest circular turn (i.e. U-turn) that the vehicle is capable of making.

For vehicle with tracker, the turning radius applies to the vehicle only."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TurningRadius"@en ;
  skos:note "Typically, the property is measured in metre"@en ;
  saref:isPropertyOf s4auto:Vehicle .

s4auto:PositionOfPillars a owl:NamedIndividual , saref:Property ;
  rdfs:label "PositionOfPillars"@en ;
  rdfs:comment """This property and values for this property are composed of (s4auto:isComposedOf) a sequence of distances s4auto:PosPillar that refer to the perpendicular distance between centre of vehicle front bumper and vehicle pillar A, between neighbour pillars until the last pillar of the vehicle.

Vehicle pillars refer to the vertical or near vertical support of vehicle, designated respectively as the A, B, C or D and other pillars moving in side profile view from the front to rear.

The first value of the DF refers to the perpendicular distance from the centre of vehicle front bumper to  vehicle A pillar. The second value refers to the perpendicular distance from the centre position of A pillar to the B pillar of vehicle and so on until the last pillar."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PositionOfPillars"@en ;
  s4auto:isComposedOf s4auto:PosPillar ;
  saref:isPropertyOf s4auto:Vehicle .

  s4auto:PosPillar a owl:NamedIndividual , saref:Property,
          s4auto:IndexedProperty ;
    skos:broader s4auto:Length ;
    rdfs:label "PosPillar"@en ;
    rdfs:comment """This property represents the perpendicular inter-distance of neighbouring pillar axis of vehicle starting from the middle point of the front line of the vehicle bounding box."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PosPillar"@en ;
    skos:note "Typically, the property is measured in metre"@en .

s4auto:PosCentMass a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "PosCentMass"@en ;
  rdfs:comment """This property indicates the perpendicular distance from the centre of mass of an empty load vehicle to the front line of the vehicle bounding box of the empty load vehicle.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PosCentMass"@en ;
  skos:note "The empty load vehicle is defined in ISO 1176, clause 4.6."@en,
      "Typically, the property is measured in metre"@en ;
  saref:isPropertyOf s4auto:Vehicle .

s4auto:PosFrontAx a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:label "PosFrontAx"@en ;
  rdfs:comment """This property indicates the perpendicular distance between the vehicle front line of the bounding box and the front wheel axle."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PosFrontAx"@en ;
  skos:note "Typically, the property is measured in metre"@en ;
  saref:isPropertyOf s4auto:Vehicle .

s4auto:PosLonCarr a owl:NamedIndividual , saref:Property ;
    rdfs:label "PosLonCarr"@en ;
    rdfs:comment """This property represents the distance from the centre of vehicle front bumper to the right or left longitudinal carrier of vehicle.
The left/right carrier refers to the left/right as seen from a passenger sitting in the vehicle."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PosLonCarr"@en ;
    skos:note "Typically, the property is measured in metre"@en ;
    saref:isPropertyOf s4auto:Vehicle .

s4auto:HeightLonCarr a owl:NamedIndividual , saref:Property ;
    rdfs:label "HeightLonCarr"@en ;
    rdfs:comment """This property represents the height of the left or right longitude carrier of vehicle from base to top (left or right carrier seen from vehicle rear to front)."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HeightLonCarr"@en ;
    skos:note "Typically, the property is measured in metre"@en ;
    saref:isPropertyOf s4auto:Vehicle .



#### Dynamic Vehicle Properties
#- Figure: SAREF4AUTO_figures.VehicleDynamicProperties1.png
#- Figure: SAREF4AUTO_figures.VehicleDynamicProperties2.png
#- Example: SAREF4AUTO_examples.Vehicle_dynamic_properties.png

s4auto:Vehicle saref:hasProperty 
  s4auto:NumberOfOccupants,
  s4auto:Curvature,
  s4auto:DriveDirection,
  s4auto:EmbarkationStatus,
  s4auto:ExteriorLights,
  s4auto:Heading,
  s4auto:VehicleRole,
  s4auto:VehicleAcceleration,
  s4auto:TurningDirection,
  s4auto:ItineraryPath,
  s4auto:StabilityLossProbability,
  s4auto:SteeringWheelAngle,
  s4auto:VehicleAutomationLevel,
  s4auto:YawRate .

s4auto:NumberOfOccupants a owl:NamedIndividual , saref:Property , s4auto:IntegerProperty ;
    rdfs:label "NumberOfOccupants"@en ;
    rdfs:comment """This property represents the number of occupants in a vehicle."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: NumberOfOccupants"@en ;
    skos:note "Typically, the property is measured in 1 person"@en ;
    saref:isPropertyOf s4auto:Vehicle .

s4auto:Curvature a owl:NamedIndividual , saref:Property ;
    rdfs:label "Curvature"@en ;
    rdfs:comment """This property represents the curvature of the vehicle trajectory, as the inverse of the vehicle turning curve radius. 

Positive values indicate a turning curve to the left hand side of the driver.
It corresponds to the vehicle coordinate system as defined in ISO 8855.

The curvature detected by a vehicle represents the curvature of actual vehicle trajectory."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: Curvature"@en ;
    saref:isPropertyOf s4auto:Vehicle ;
    skos:note "The present DE is limited to vehicle types as defined in ISO 8855."@en,
        "Typically, the property is measured in 1 over metres"@en .

  s4auto:Curvature_straight a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "Curvature - straight"@en ;
      rdfs:comment "`0` when the vehicle is moving straight"@en ;
      saref:hasValue 0 ;
      saref:isValueOfProperty s4auto:Curvature .

s4auto:DriveDirection a owl:NamedIndividual , saref:Property ;
    rdfs:label "DriveDirection"@en ;
    rdfs:comment """This property indicates in which direction something is moving.

The following property values are defined:

- s4auto:DriveDirection_backward - to indicate it is moving forward,
- s4auto:DriveDirection_forward  - to indicate it is moving backwards"""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: DriveDirection"@en ;
    saref:isPropertyOf s4auto:Vehicle .

  s4auto:DriveDirection_backward a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "DriveDirection - backward"@en ;
      rdfs:comment "Indicates it is moving backwards"@en ;
      saref:hasValue 1 ;
      saref:isValueOfProperty s4auto:DriveDirection .

  s4auto:DriveDirection_forward a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "DriveDirection - forward"@en ;
      rdfs:comment "Indicates it is moving forward"@en ;
      saref:hasValue 0 ;
      saref:isValueOfProperty s4auto:DriveDirection .

s4auto:EmbarkationStatus a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "EmbarkationStatus"@en ;
    rdfs:comment """This property indicates whether a vehicle (e.g. public transport vehicle, truck) is under the embarkation process.
If that is the case, the value is *TRUE*, otherwise *FALSE*."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: EmbarkationStatus"@en ;
    saref:isPropertyOf s4auto:Vehicle .

s4auto:ExteriorLights a owl:NamedIndividual , saref:Property ;
  rdfs:label "ExteriorLights"@en ;
  rdfs:comment """This property describes the status of some exterior light switches of a vehicle incl. VRU vehicles.

Narrower properties indicate the type of exterior light switch of interest:

- s4auto:ExteriorLights_lowBeamHeadlightsOn    - *TRUE* when the low beam head light switch is on,
- s4auto:ExteriorLights_highBeamHeadlightsOn   - *TRUE* when the high beam head light switch is on,
- s4auto:ExteriorLights_leftTurnSignalOn       - *TRUE* when the left turnSignal switch is on,
- s4auto:ExteriorLights_rightTurnSignalOn      - *TRUE* when the right turn signal switch is on,
- s4auto:ExteriorLights_daytimeRunningLightsOn - *TRUE* when the daytime running light switch is on,
- s4auto:ExteriorLights_reverseLightOn         - *TRUE* when the reverse light switch is on,
- s4auto:ExteriorLights_fogLightOn             - *TRUE* when the tail fog light switch is on,
- s4auto:ExteriorLights_parkingLightsOn        - *TRUE* when the parking light switch is on."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ExteriorLights"@en ;
  skos:note """The value of each narrower property indicates the state of the switch, which commands the corresponding light.
It is *TRUE* when the corresponding switch is turned on, either manually by the driver or automatically by a vehicle system. 
The value does not indicate if the corresponding lamps are alight or not.

If a vehicle is not equipped with a certain light or if the light switch status information is not available, the corresponding value shall be *FALSE*.

As the property value indicates only the state of the switch, the turn signal and hazard signal values shall not alternate with the blinking interval.

For hazard indicator, the s4auto:ExteriorLights_leftTurnSignalOn and s4auto:ExteriorLights_rightTurnSignalOn shall be both set to *TRUE*."""@en .

  s4auto:ExteriorLights_daytimeRunningLightsOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - daytimeRunningLightsOn"@en ;
    rdfs:comment "*TRUE* when the daytime running light switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_fogLightOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - fogLightOn"@en ;
    rdfs:comment "*TRUE* when the tail fog light switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_highBeamHeadlightsOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - highBeamHeadlightsOn"@en ;
    rdfs:comment "*TRUE* when the high beam head light switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_leftTurnSignalOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - leftTurnSignalOn"@en ;
    rdfs:comment "*TRUE* when the left turn signal switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_lowBeamHeadlightsOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - lowBeamHeadlightsOn"@en ;
    rdfs:comment "*TRUE* when the low beam head light switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_parkingLightsOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - parkingLightsOn"@en ;
    rdfs:comment "*TRUE* when the parking light switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_reverseLightOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - reverseLightOn"@en ;
    rdfs:comment "*TRUE* when the reverse light switch is on"@en ;
    skos:broader s4auto:ExteriorLights .

  s4auto:ExteriorLights_rightTurnSignalOn a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ExteriorLights - rightTurnSignalOn"@en ;
    rdfs:comment "*TRUE* when the right turn signal switch is on"@en ;
    skos:broader s4auto:ExteriorLights .


s4auto:VehicleRole a owl:NamedIndividual , saref:Property ;
    rdfs:label "VehicleRole"@en ;
    rdfs:comment """This property indicates the role played by a vehicle at a point in time.

The following property values are defined:
- 0 `default`          - to indicate the default vehicle role as indicated by the vehicle type,
- 1 `publicTransport`  - to indicate that the vehicle is used to operate public transport service,
- 2 `specialTransport` - to indicate that the vehicle is used for special transport purpose, e.g. oversized trucks,
- 3 `dangerousGoods`   - to indicate that the vehicle is used for dangerous goods transportation,
- 4 `roadWork`         - to indicate that the vehicle is used to realize roadwork or road maintenance mission,
- 5 `rescue`           - to indicate that the vehicle is used for rescue purpose in case of an accident, e.g. as a towing service,
- 6 `emergency`        - to indicate that the vehicle is used for emergency mission, e.g. ambulance, fire brigade,
- 7 `safetyCar`        - to indicate that the vehicle is used for public safety, e.g. patrol,
- 8 `agriculture`      - to indicate that the vehicle is used for agriculture, e.g. farm tractor, 
- 9 `commercial`       - to indicate that the vehicle is used for transportation of commercial goods,
- 10 `military`        - to indicate that the vehicle is used for military purpose, 
- 11 `roadOperator`    - to indicate that the vehicle is used in road operator missions,
- 12 `taxi`            - to indicate that the vehicle is used to provide an authorized taxi service."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VehicleRole"@en ;
    saref:isPropertyOf s4auto:Vehicle .

  s4auto:VehicleRole_agriculture a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - agriculture"@en ;
      rdfs:comment "8 `agriculture` - to indicate that the vehicle is used for agriculture, e.g. farm tractor"@en ;
      saref:hasValue 8 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_commercial a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - commercial"@en ;
      rdfs:comment "9 `commercial` - to indicate that the vehicle is used for transportation of commercial goods"@en ;
      saref:hasValue 9 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_dangerousGoods a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - dangerousGoods"@en ;
      rdfs:comment "3 `dangerousGoods` - to indicate that the vehicle is used for dangerous goods transportation"@en ;
      saref:hasValue 3 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_default a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - default"@en ;
      rdfs:comment "0 `default` - to indicate the default vehicle role as indicated by the vehicle type"@en ;
      saref:hasValue 0 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_emergency a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - emergency"@en ;
      rdfs:comment "6 `emergency` - to indicate that the vehicle is used for emergency mission, e.g. ambulance, fire brigade"@en ;
      saref:hasValue 6 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_military a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - military"@en ;
      rdfs:comment "10 `military` - to indicate that the vehicle is used for military purpose"@en ;
      saref:hasValue 10 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_publicTransport a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - publicTransport"@en ;
      rdfs:comment "1 `publicTransport` - to indicate that the vehicle is used to operate public transport service"@en ;
      saref:hasValue 1 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_rescue a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - rescue"@en ;
      rdfs:comment "5 `rescue` - to indicate that the vehicle is used for rescue purpose in case of an accident, e.g. as a towing service"@en ;
      saref:hasValue 5 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_reserved1 a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - reserved1"@en ;
      rdfs:comment "13 `reserved` - is reserved for future usage."@en ;
      saref:hasValue 13 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_reserved2 a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - reserved2"@en ;
      rdfs:comment "14 `reserved` - is reserved for future usage."@en ;
      saref:hasValue 14 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_reserved3 a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - reserved3"@en ;
      rdfs:comment "15 `reserved` - is reserved for future usage."@en ;
      saref:hasValue 15 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_roadOperator a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - roadOperator"@en ;
      rdfs:comment "11 `roadOperator` - to indicate that the vehicle is used in road operator missions"@en ;
      saref:hasValue 11 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_roadWork a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - roadWork"@en ;
      rdfs:comment "4 `roadWork` - to indicate that the vehicle is used to realize roadwork or road maintenance mission"@en ;
      saref:hasValue 4 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_safetyCar a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - safetyCar"@en ;
      rdfs:comment "7 `safetyCar` - to indicate that the vehicle is used for public safety, e.g. patrol"@en ;
      saref:hasValue 7 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_specialTransport a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - specialTransport"@en ;
      rdfs:comment "2 `specialTransport` - to indicate that the vehicle is used for special transport purpose, e.g. oversized trucks"@en ;
      saref:hasValue 2 ;
      saref:isValueOfProperty s4auto:VehicleRole .

  s4auto:VehicleRole_taxi a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleRole - taxi"@en ;
      rdfs:comment "12 `taxi` - to indicate that the vehicle is used to provide an authorized taxi service."@en ;
      saref:hasValue 12 ;
      saref:isValueOfProperty s4auto:VehicleRole .

s4auto:VehicleAcceleration a owl:NamedIndividual , saref:Property ;
    rdfs:label "VehicleAcceleration"@en ;
    rdfs:comment """This property indicates the acceleration of a vehicle.

The following property values are defined:
- s4auto:VehicleAcceleration_accelerate - if the magnitude of the horizontal velocity vector increases.
- s4auto:VehicleAcceleration_decelerate - if the magnitude of the horizontal velocity vector decreases."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AccelerationChange"@en ;
    saref:isPropertyOf s4auto:Vehicle .

  s4auto:VehicleAcceleration_accelerate a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleAcceleration - accelerate"@en ;
      rdfs:comment "The magnitude of the horizontal velocity vector increases."@en ;
      saref:hasValue 0 ;
      saref:isValueOfProperty s4auto:VehicleAcceleration .

  s4auto:VehicleAcceleration_decelerate a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "VehicleAcceleration - decelerate"@en ;
      rdfs:comment "The magnitude of the horizontal velocity vector decreases."@en ;
      saref:hasValue 1 ;
      saref:isValueOfProperty s4auto:VehicleAcceleration .

s4auto:TurningDirection a owl:NamedIndividual , saref:Property ;
    rdfs:label "TurningDirection"@en ;
    rdfs:comment """This property provides the turning direction. 

The following property values are defined:
- `left`  for turning to the left.
- `right` for turning to the right."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TurningDirection"@en .

s4auto:TurningDirection_left a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "TurningDirection - left"@en ;
    rdfs:comment "`left` for turning to the left."@en ;
    saref:hasValue 0 ;
    saref:isValueOfProperty s4auto:TurningDirection .

s4auto:TurningDirection_right a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "TurningDirection - right"@en ;
    rdfs:comment "`right` for turning to the right."@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:TurningDirection .

s4auto:ItineraryPath a owl:NamedIndividual , saref:Property ;
    rdfs:label "ItineraryPath"@en ;
    rdfs:comment "This property shall contain  a list of waypoints s4auto:Position."@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ItineraryPath"@en ;
    s4auto:isComposedOf s4auto:ItineraryPath_Position ;
    saref:isPropertyOf s4auto:Vehicle .

s4auto:ItineraryPath_Position a owl:NamedIndividual , saref:Property,
        s4auto:IndexedProperty ;
    rdfs:label "ItineraryPath - Position"@en ;
    rdfs:comment "One Position item in a sequence ItineraryPath."@en ;
    skos:broader s4auto:Position .

s4auto:StabilityLossProbability a owl:NamedIndividual , saref:Property ;
    rdfs:label "StabilityLossProbability"@en ;
    rdfs:comment """This property indicates the estimated probability of a stability level and conversely also the probability of a stability loss.

The following property values are defined:
- `0` to indicate an estimated probability of a loss of stability of 0 %, i.e. "stable", 
- `n` (`n > 0` and `n < 50`) to indicate the actual stability level,
- `50` to indicate a estimated probability of a loss of stability of 100 %, i.e. "total loss of stability",
- the values between 51 and 62 are reserved for future use,
- `63`: this value indicates that the information is unavailable."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: StabilityLossProbability"@en ;
    skos:note "Typically, the property is measured in 2 %"@en .

  s4auto:StabilityLossProbability_stable a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "StabilityLossProbability - stable"@en ;
      rdfs:comment "`0` to indicate an estimated probability of a loss of stability of 0 %, i.e. \"stable\""@en ;
      saref:hasValue 0 ;
      saref:isValueOfProperty s4auto:StabilityLossProbability .

  s4auto:StabilityLossProbability_totalLossOfStability a owl:NamedIndividual , saref:PropertyValue ;
      rdfs:label "StabilityLossProbability - totalLossOfStability"@en ;
      rdfs:comment "`50` to indicate a estimated probability of a loss of stability of 100 %, i.e. \"total loss of stability\""@en ;
      saref:hasValue 50 ;
      saref:isValueOfProperty s4auto:StabilityLossProbability .

s4auto:SteeringWheelAngle a owl:NamedIndividual , saref:Property ;
    rdfs:label "SteeringWheelAngle"@en ;
    rdfs:comment """This property represents the steering wheel angle of the vehicle at certain point in time.
    The value shall be provided in the vehicle coordinate system as defined in ISO 8855, clause 2.11."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SteeringWheelAngle"@en ;
    saref:isPropertyOf s4auto:Vehicle .


s4auto:VehicleAutomationLevel a owl:NamedIndividual , saref:Property ;
  rdfs:label "Vehicle Automation Level"@en ;
  rdfs:comment """According to SAE J3016, there are five levels of automation for a vehicle:

- Level 0: No Driving Automation.
- Level 1: Driver assistance.
- Level 2: Partial driving automation.
- Level 3: Conditional driving automation.
- Level 4: High driving automation.
- Level 5: Full Driving automation.
"""@en ;
  saref:isPropertyOf s4auto:Vehicle .

  s4auto:VehicleAutomationLevel0 a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Vehicle Automation Level 0"@en ;
    rdfs:comment "Vehicle Automation Level 0: No Driving Automation [Source: SAE J3016]."@en ;
    saref:hasValue 0 ;
    saref:isValueOfProperty s4auto:VehicleAutomationLevel .

  s4auto:VehicleAutomationLevel1 a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Vehicle Automation Level 1"@en ;
    rdfs:comment "Vehicle Automation Level 1: Driver assistance [Source: SAE J3016]."@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:VehicleAutomationLevel .

  s4auto:VehicleAutomationLevel2 a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Vehicle Automation Level 2"@en ;
    rdfs:comment "Vehicle Automation Level 2: Partial driving automation [Source: SAE J3016]."@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:VehicleAutomationLevel .

  s4auto:VehicleAutomationLevel3 a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Vehicle Automation Level 3"@en ;
    rdfs:comment "Vehicle Automation Level 3: Conditional driving automation [Source: SAE J3016]."@en ;
    saref:hasValue 3 ;
    saref:isValueOfProperty s4auto:VehicleAutomationLevel .

  s4auto:VehicleAutomationLevel4 a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Vehicle Automation Level 4"@en ;
    rdfs:comment "Vehicle Automation Level 4: High driving automation [Source: SAE J3016]."@en ;
    saref:hasValue 4 ;
    saref:isValueOfProperty s4auto:VehicleAutomationLevel .

  s4auto:VehicleAutomationLevel5 a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "Vehicle Automation Level 5"@en ;
    rdfs:comment "Vehicle Automation Level 5: Full Driving automation [Source: SAE J3016]."@en ;
    saref:hasValue 5 ;
    saref:isValueOfProperty s4auto:VehicleAutomationLevel .

s4auto:YawRate a owl:NamedIndividual , saref:Property ;
    rdfs:label "YawRate"@en ;
    rdfs:comment """This property represents the vehicle rotation around z-axis of the coordinate system centred on the centre of mass of the empty-loaded
vehicle. The leading sign denotes the direction of rotation.

The yaw rate value shall be a raw data value, i.e. not filtered, smoothed or otherwise modified.
The reading instant should be the same as for the vehicle acceleration."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: YawRate"@en ;
    saref:isPropertyOf s4auto:Vehicle .

#### Vehicle Environment
#- Figure: SAREF4AUTO_figures.VehicleEnvironment.png
#- Example: SAREF4AUTO_examples.VehicleEnvironment.png

s4auto:Vehicle saref:hasProperty s4auto:VehicleEnvironment .

s4auto:VehicleEnvironment a owl:NamedIndividual , saref:Property ;
  rdfs:comment "The vehicle environment consists of entities which are present on the road in the area around a vehicle, and is composed of other properties such as the air humidity and temperature."@en ;
  rdfs:label "VehicleEnvironment"@en ;
  s4auto:isComposedOf 
    s4auto:AutomotiveEntity ,
    s4auto:AirHumidity,
    s4auto:BarometricPressure,
    s4auto:PrecipitationIntensity,
    s4auto:Temperature .

s4auto:AirHumidity a owl:NamedIndividual , saref:Property ;
  rdfs:label "AirHumidity"@en ;
  rdfs:comment """This property represents the air humidity."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AirHumidity"@en ;
  skos:note "Typically, the property is measured in 0,1 %"@en .

  s4auto:AirHumidity_oneHundredPercent a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "AirHumidity - oneHundredPercent"@en ;
    rdfs:comment "Defined property value for air humidity of 100%."@en ;
    saref:hasValue 1000 ;
    saref:isValueOfProperty s4auto:AirHumidity .

s4auto:BarometricPressure a owl:NamedIndividual , saref:Property ;
  rdfs:label "BarometricPressure"@en ;
  rdfs:comment """This property represents the measured uncompensated atmospheric pressure."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: BarometricPressure"@en ;
  skos:note "Typically, the property is measured in 10 Pascal"@en .

s4auto:PrecipitationIntensity a owl:NamedIndividual , saref:Property ;
  rdfs:label "PrecipitationIntensity"@en ;
  rdfs:comment """This property represent the total amount of rain falling during one hour. It is measured in mm per hour at an area of 1 square metre."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PrecipitationIntensity"@en ;
  skos:note "Typically, the property is measured in 0,1 mm/h"@en .

s4auto:Temperature a owl:NamedIndividual , saref:Property ;
    rdfs:label "Temperature"@en ;
    rdfs:comment """This property indicates a temperature value."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: Temperature"@en ;
    skos:note "Typically, the property is measured in degrees Celsius"@en .






### Trailer
#- Figure: SAREF4AUTO_figures.Trailer.png
#- Example: SAREF4AUTO_examples.Trailer.png

s4auto:Vehicle saref:consistsOf s4auto:Trailer .

s4auto:Trailer a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [ a owl:Class ; 
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:Trailer ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:Trailer ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:Trailer ] ) ] ;
  skos:broader s4auto:Vehicle ;
  rdfs:subClassOf s4auto:Vehicle ;
  rdfs:label "Trailer"@en ;
  rdfs:comment "Non-self propelled vehicle that is designed and constructed to be towed by a power driven vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class O"@en ;
  saref:hasProperty s4auto:Trailer_frontOverhang,
        s4auto:Trailer_hitchAngle,
        s4auto:Trailer_hitchPointOffset,
        s4auto:Trailer_rearOverhang,
        s4auto:Trailer_trailerWidth ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrailerData"@en .

s4auto:Trailer_trailerWidth a owl:NamedIndividual , saref:Property ;
    rdfs:label "Trailer - trailerWidth"@en ;
    rdfs:comment "Width of the trailer."@en ;
    skos:broader s4auto:VehicleWidth .

s4auto:Trailer_frontOverhang a owl:NamedIndividual , saref:Property ;
    rdfs:label "Trailer - frontOverhang"@en ;
    rdfs:comment "Length of the trailer overhang in the positive x direction (according to ISO 8855) from the trailer reference point. The value defaults to 0 in case the trailer is not overhanging to the front with respect to the trailer reference point."@en ;
    skos:broader s4auto:Length .

s4auto:Trailer_hitchAngle a owl:NamedIndividual , saref:Property ;
    rdfs:label "Trailer - hitchAngle"@en ;
    rdfs:comment """Value and confidence value of the angle between the trailer orientation (corresponding to the x
direction of the ISO 8855 coordinate system centered on the trailer) and the direction of
the segment having as end points the reference point of the trailer and the reference point of
the pulling vehicle, which can be another trailer or a vehicle looking on the horizontal plane
xy, described in the local Cartesian coordinate system of the trailer. The
angle is measured with negative values considering the trailer orientation turning clockwise
starting from the segment direction. The angle value accuracy is provided with the
confidence level of 95 %."""@en ;
    skos:broader s4auto:CartesianAngle .

s4auto:Trailer_hitchPointOffset a owl:NamedIndividual , saref:Property ;
    rdfs:label "Trailer - hitchPointOffset"@en ;
    rdfs:comment "Position of the hitch point in negative x-direction (according to ISO 8855) from the vehicle Reference Point"@en ;
    skos:broader s4auto:Length .

s4auto:Trailer_rearOverhang a owl:NamedIndividual , saref:Property ;
    rdfs:label "Trailer - rearOverhang"@en ;
    rdfs:comment "length of the trailer overhang in the negative x direction (according to ISO 8855) from the trailer reference point"@en ;
    skos:broader s4auto:Length .


### Dangerous Goods
#- Figure: SAREF4AUTO_figures.DangerousGoods.png
#- Example: SAREF4AUTO_examples.DangerousGoods.png

s4auto:Vehicle saref:consistsOf s4auto:DangerousGoods .

s4auto:DangerousGoods a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [ a owl:Class ; 
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:DangerousGoods ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:DangerousGoods ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:DangerousGoods ] ) ] ;
  rdfs:label "DangerousGoods"@en ;
  rdfs:comment """Kind of dangerous goods being carried by a heavy vehicle.
narrower kinds are defined according to `class` and `division` definitions of dangerous goods as specified in part II,
chapter 2.1.1.1 of European Agreement concerning the International Carriage of Dangerous Goods by Road."@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: DangerousGoods"""@en ;
  saref:hasProperty s4auto:ElevatedTemperature ,
    s4auto:TunnelsRestricted , 
    s4auto:LimitedQuantity .

s4auto:hasDangerousGoodsCompany a owl:DatatypeProperty ;
  rdfs:label "has Dangerous Goods company"@en ;
  rdfs:comment """Company that manages the transportation of the dangerous goods."""@en ;
  rdfs:domain s4auto:DangerousGoods .

s4auto:hasDangerousGoodsPhone a owl:ObjectProperty ;
  rdfs:label "has DangerousGoods phone"@en ;
  rdfs:comment """contact phone number of assistance service in case of incident or accident.
This component should be represented as a IRI with the tel: schema, following RFC 3966."""@en ;
  rdfs:domain s4auto:DangerousGoods .

s4auto:hasDangerousGoodsUnNumber a owl:DatatypeProperty ;
  rdfs:label "has DangerousGoods unNumber"@en ;
  rdfs:comment """The substance of the dangerous goods. An individual with identifier as specified in
United Nations Recommendations on the Transport of Dangerous Goods - Model Regulations"""@en ;
  rdfs:domain s4auto:DangerousGoods ;
  rdfs:range xsd:integer .

s4auto:hasDangerousGoodsEmergencyActionCode a owl:DatatypeProperty ;
  rdfs:label "has DangerousGoods EmergencyActionCode"@en ;
  rdfs:comment """physical signage placard at the vehicle that carries information on how an emergency
service should deal with an incident."""@en ;
  rdfs:domain s4auto:DangerousGoods ;
  rdfs:range xsd:string .

s4auto:ElevatedTemperature a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "ElevatedTemperature"@en ;
    rdfs:comment "*TRUE* if the carried dangerous goods are transported at high temperature."@en .
  
s4auto:TunnelsRestricted a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "TunnelsRestricted"@en ;
    rdfs:comment """Whether the heavy vehicle carrying dangerous goods is restricted to enter tunnels.
If yes, the value shall be set to TRUE"""@en .
  
s4auto:LimitedQuantity a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "LimitedQuantity"@en ;
    rdfs:comment """whether the carried dangerous goods are packed with limited quantity.
If yes, the value shall be set to TRUE"""@en .


s4auto:DangerousGoods_corrosiveSubstances a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - corrosiveSubstances"@en ;
    rdfs:comment "Kind of dangerous goods of type corrosiveSubstances"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_explosives1 a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - explosives1"@en ;
    rdfs:comment "Kind of dangerous goods of type explosives1"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_explosives2 a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - explosives2"@en ;
    rdfs:comment "Kind of dangerous goods of type explosives2"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_explosives3 a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - explosives3"@en ;
    rdfs:comment "Kind of dangerous goods of type explosives3"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_explosives4 a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - explosives4"@en ;
    rdfs:comment "Kind of dangerous goods of type explosives4"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_explosives5 a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - explosives5"@en ;
    rdfs:comment "Kind of dangerous goods of type explosives5"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_explosives6 a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - explosives6"@en ;
    rdfs:comment "Kind of dangerous goods of type explosives6"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_flammableGases a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - flammableGases"@en ;
    rdfs:comment "Kind of dangerous goods of type flammableGases"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_flammableLiquids a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - flammableLiquids"@en ;
    rdfs:comment "Kind of dangerous goods of type flammableLiquids"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_flammableSolids a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - flammableSolids"@en ;
    rdfs:comment "Kind of dangerous goods of type flammableSolids"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_infectiousSubstances a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - infectiousSubstances"@en ;
    rdfs:comment "Kind of dangerous goods of type infectiousSubstances"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_miscellaneousDangerousSubstances a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - miscellaneousDangerousSubstances"@en ;
    rdfs:comment "Kind of dangerous goods of type miscellaneousDangerousSubstances"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_nonFlammableGases a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - nonFlammableGases"@en ;
    rdfs:comment "Kind of dangerous goods of type nonFlammableGases"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_organicPeroxides a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - organicPeroxides"@en ;
    rdfs:comment "Kind of dangerous goods of type organicPeroxides"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_oxidizingSubstances a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - oxidizingSubstances"@en ;
    rdfs:comment "Kind of dangerous goods of type oxidizingSubstances"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_radioactiveMaterial a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - radioactiveMaterial"@en ;
    rdfs:comment "Kind of dangerous goods of type radioactiveMaterial"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_substancesEmittingFlammableGasesUponContactWithWater a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - substancesEmittingFlammableGasesUponContactWithWater"@en ;
    rdfs:comment "Kind of dangerous goods of type substancesEmittingFlammableGasesUponContactWithWater"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_substancesLiableToSpontaneousCombustion a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - substancesLiableToSpontaneousCombustion"@en ;
    rdfs:comment "Kind of dangerous goods of type substancesLiableToSpontaneousCombustion"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_toxicGases a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - toxicGases"@en ;
    rdfs:comment "Kind of dangerous goods of type toxicGases"@en ;
    skos:broader s4auto:DangerousGoods .

s4auto:DangerousGoods_toxicSubstances a owl:NamedIndividual , saref:FeatureKind ;
    rdfs:label "DangerousGoods - toxicSubstances"@en ;
    rdfs:comment "Kind of dangerous goods of type toxicSubstances"@en ;
    skos:broader s4auto:DangerousGoods .




### Platoon
#- Figure: SAREF4AUTO_figures.Platoon.png
#- Example: SAREF4AUTO_examples.Platoon.png

s4auto:Platoon a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:Platoon ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:Platoon ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:Platoon ] )
  ] ;
  skos:broader s4auto:TrafficParticipant ;
  rdfs:subClassOf s4auto:TrafficParticipant ;
  saref:consistsOf s4auto:Vehicle ;
  rdfs:comment "A platoon is a group of vehicles automatically following each other at a relatively close distance"@en ;
  rdfs:label "Platoon"@en .


s4auto:PlatoonJoin a owl:Class ;
  rdfs:subClassOf saref:ProcedureExecution ;
  rdfs:label "Platoon Join"@en ;
  rdfs:comment "Describes the act of a vehicle carrying out a procedure to join a platoon. It is linked to the vehicle that joins the platoon using OP s4auto:madeBy, and to the platoon using OP saref:targets. DP saref:resultTime indicates the time of joining. OP saref:resultPosition indicates the position where the vehicle member joins the platoon. Typically, a s4auto:PlatoonJoin has no saref:hasResult."@en ;
  rdfs:subClassOf 
    [   a owl:Restriction ;
        owl:onProperty saref:madeBy ;
        owl:allValuesFrom s4auto:Vehicle
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:targets ;
        owl:someValuesFrom s4auto:Platoon 
    ] .

s4auto:PlatoonBreakup a owl:Class ;
  rdfs:subClassOf saref:ProcedureExecution ;
  rdfs:label "Platoon Breakup"@en ;
  rdfs:comment "Describes the act of a platoon leader carrying out a procedure to breakup a platoon. It is linked to the platoon using OP saref:targets. DP saref:resultTime indicates the time of breakup."@en ;
  rdfs:subClassOf 
    [   a owl:Restriction ;
        owl:onProperty saref:madeBy ;
        owl:allValuesFrom s4auto:Vehicle
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:targets ;
        owl:someValuesFrom s4auto:Platoon 
    ] .

s4auto:PlatoonLeave a owl:Class ;
  rdfs:subClassOf saref:ProcedureExecution ;
  rdfs:label "Platoon Leave"@en ;
  rdfs:comment "Describes the act of a platoon participant carrying out a procedure to leave a platoon. It is linked to the platoon using OP saref:targets. DP saref:resultTime indicates the time of leaving."@en ;
  rdfs:subClassOf 
    [   a owl:Restriction ;
        owl:onProperty saref:madeBy ;
        owl:allValuesFrom s4auto:Vehicle
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:targets ;
        owl:someValuesFrom s4auto:Platoon 
    ] .



s4auto:Platoon saref:hasProperty
  s4auto:PlatoonMaxSize,
  s4auto:Heading,
  s4auto:ItineraryPath,
  s4auto:PlatoonLength,
  s4auto:PlatoonSize,
  s4auto:PlatoonState.


s4auto:PlatoonMaxSize a owl:NamedIndividual , saref:Property , s4auto:IntegerProperty ;
  rdfs:comment "The max size of a platoon. This is expected to be a fixed/static value of the platoon that does not change over time, and can therefore be described with saref:PropertyValue directly attached to the platoon instance (a feature of interest). In contrast, the current size of the platoon may change over time and is therefore defined with property (see s4auto:PlatoonSize)."@en ;
  rdfs:label "Platoon Max Size"@en .

s4auto:PlatoonLength a owl:NamedIndividual , saref:Property ;
  skos:broader s4auto:Length ;
  rdfs:comment "Sum of all vehicles' length + inter-vehicle distances."@en ;
  rdfs:label "Platoon Length"@en .

s4auto:PlatoonSize a owl:NamedIndividual , saref:Property , s4auto:IntegerProperty ;
  rdfs:comment "The total number of vehicles currently in the platoon."@en ;
  rdfs:label "Platoon Size"@en .

s4auto:PlatoonState a owl:NamedIndividual , saref:Property ;
  rdfs:comment "The state of platoons. Examples of states for a platoon are: unknown, standalone, assembling, platooning, disengaging, etc."@en ;
  rdfs:label "Platoon State"@en ;
  saref:isStateOf s4auto:Platoon .

  s4auto:PlatoonStateStandalone a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonState ;
    rdfs:comment "A type of state for a Platoon"@en ;
    rdfs:label "Platoon State standalone"@en .

  s4auto:PlatoonStateAssembling a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonState ;
    rdfs:comment "A type of state for Platoon"@en ;
    rdfs:label "Platoon State assembling"@en .

  s4auto:PlatoonStatePlatooning a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonState ;
    rdfs:comment "A type of state for a Platoon"@en ;
    rdfs:label "Platoon State platooning"@en .

  s4auto:PlatoonStateDisengaging a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonState ;
    rdfs:comment "A type of state for a Platoon"@en ;
    rdfs:label "Platoon State disengaging"@en .

  s4auto:PlatoonStateUnknown a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonState ;
    rdfs:comment "A type of state for a Platoon"@en ;
    rdfs:label "Platoon State unknown"@en .



s4auto:Vehicle saref:hasProperty
  s4auto:PlatoonRole,
  s4auto:PlatoonAutomationLevel,
  s4auto:PlatoonVehicleState,
  s4auto:PlatoonPosition .

s4auto:PlatoonRole a owl:NamedIndividual , saref:Property ;
  rdfs:comment "In platoon a vehicle can assume roles such as: unknown, leader, follower, ready-for-leading, trailing, etc."@en ;
  rdfs:label "PlatoonRole"@en ;
  saref:isPropertyOf s4auto:Vehicle .

  s4auto:Follower a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonRole ;
    rdfs:comment "A type of platoon role"@en ;
    rdfs:label "follower"@en .

  s4auto:Leader a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonRole ;
    rdfs:comment "A type of platoon role"@en ;
    rdfs:label "leader"@en .

  s4auto:ReadyForLeading a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonRole ;
    rdfs:comment "A type of platoon role"@en ;
    rdfs:label "ready for leading"@en .

  s4auto:Trailing a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonRole ;
    rdfs:comment "A type of platoon role"@en ;
    rdfs:label "trailing"@en .

  s4auto:UnknownPlatoonRole a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonRole ;
    rdfs:comment "A type of platoon role"@en ;
    rdfs:label "unknown platoon role"@en .


s4auto:PlatoonAutomationLevel a owl:NamedIndividual , saref:Property ;
  rdfs:comment "A level of automation is defined for a vehicle that it is platooning. For example, in the ENSEMBLE project  there are three levels of platoon automation defined: Level A, Level B, Level C. Level C represents the highest level of automation for platooning in terms of longitudinal and lateral control, shortest time gap supported, wider range of situations handled and support for merging of entire platoons."@en ;
  rdfs:label "PlatoonAutomationLevel"@en ;
  saref:isPropertyOf s4auto:Vehicle .

  s4auto:PlatoonAutomationLevelA a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonAutomationLevel ;
    rdfs:label "Platoon Automation Level A"@en ;
    rdfs:comment "Platoon Automation Level A [Source: ENSEMBLE project]."@en .

  s4auto:PlatoonAutomationLevelB a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonAutomationLevel ;
    rdfs:label "Platoon Automation Level B"@en ;
    rdfs:comment "Platoon Automation Level B [Source: ENSEMBLE project]."@en .

  s4auto:PlatoonAutomationLevelC a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonAutomationLevel ;
    rdfs:label "Platoon Automation Level C"@en ;
    rdfs:comment "Platoon Automation Level C [Source: ENSEMBLE project]."@en .


s4auto:PlatoonVehicleState a owl:NamedIndividual , saref:Property ;
  rdfs:comment "The state of platoon vehicles. Examples of states are: standalone, engaging, platooning, disengaging, searching, forming."@en ;
  rdfs:label "Platoon Vehicle State"@en ;
  saref:isStateOf s4auto:Vehicle .

  s4auto:PlatoonVehicleStateSearching a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
    rdfs:label "Platoon Vehicle State Searching"@en .

  s4auto:PlatoonVehicleStateStandalone a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
    rdfs:label "Platoon Vehicle State standalone"@en .

  s4auto:PlatoonVehicleStateDisengaging a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
    rdfs:label "Platoon Vehicle State disengaging"@en .

  s4auto:PlatoonVehicleStatePlatooning a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Platoon"@en ;
    rdfs:label "Platoon Vehicle State platooning"@en .

  s4auto:PlatoonVehicleStateEngaging a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
    rdfs:label "Platoon Vehicle State engaging"@en .

  s4auto:PlatoonVehicleStateForming a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
    rdfs:label "Platoon Vehicle State forming"@en .

  s4auto:PlatoonVehicleStateUnknown a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:PlatoonVehicleState ;
    rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
    rdfs:label "Platoon Vehicle State unknown"@en .


s4auto:PlatoonPosition a owl:NamedIndividual , saref:Property , s4auto:IntegerProperty ;
  skos:broader s4auto:Position ;
  rdfs:comment "A position defined as the index of the vehicle in the platoon starting from zero (leader) up to N (trailing vehicle)"@en ;
  rdfs:label "Platoon Position"@en .



### Vulnerable Road Users
#- Figure: SAREF4AUTO_figures.VulnerableRoadUser.png
#- Example: SAREF4AUTO_examples.VulnerableRoadUser.png

s4auto:VulnerableRoadUser a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:VulnerableRoadUser ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:VulnerableRoadUser ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:VulnerableRoadUser ] )
  ] ;
  skos:broader s4auto:TrafficParticipant ;
  rdfs:subClassOf s4auto:TrafficParticipant ;
  rdfs:comment "Archetype of vulnerable road users, which are non-motorized road users as well as users of VRU vehicles (L class of vehicles, for example mopeds or motorcycles, etc.) participating to the road traffic."@en ;
  rdfs:label "Vulnerable Road User"@en .

  s4auto:VulnerableRoadUser_Pedestrian a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:VulnerableRoadUser ;
    rdfs:comment "VRU Profile 1 - Pedestrian. For example: adult, child, elderly person, pram, animal, blind person guided by a dog, rider off its bike"@en ;
    rdfs:label "VulnerableRoadUser - pedestrian"@en .

    s4auto:VulnerableRoadUser_Pedestrian_ordinary-pedestrian a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Pedestrian ;
      rdfs:comment "A pedestrian to which no more-specific profile applies"@en ;
      rdfs:label "VulnerableRoadUser - pedestrian - ordinary-pedestrian"@en .

    s4auto:VulnerableRoadUser_Pedestrian_road-worker a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Pedestrian ;
      rdfs:comment "A pedestrian with the role of a road worker"@en ;
      rdfs:label "VulnerableRoadUser - pedestrian - road-worker"@en .

    s4auto:VulnerableRoadUser_Pedestrian_first-responder a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Pedestrian ;
      rdfs:label "VruSubProfilePedestrian - first-responder"@en ;
      rdfs:comment "A pedestrian with the role of a first responder."@en .

  s4auto:VulnerableRoadUser_Bicyclist a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:VulnerableRoadUser ;
    rdfs:comment "VRU Profile  2 - Bicyclist. For example: user of bicycle, wheelchair, rollerskater, e-scooter, pedelec, or a mounted horse rider"@en ;
    rdfs:label "VulnerableRoadUser - bicyclistAndLightVruVehicle"@en .

    s4auto:VulnerableRoadUser_Bicyclist_bicyclist a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - bicyclist"@en ;
      rdfs:comment "A cycle and bicyclist"@en .

    s4auto:VulnerableRoadUser_Bicyclist_e-scooter a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - e-scooter"@en ;
      rdfs:comment "An e-scooter and rider"@en .

    s4auto:VulnerableRoadUser_Bicyclist_horse-and-rider a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - horse-and-rider"@en ;
      rdfs:comment "A horse and rider"@en .

    s4auto:VulnerableRoadUser_Bicyclist_pedelec a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - pedelec"@en ;
      rdfs:comment "A pedelec and rider"@en .

    s4auto:VulnerableRoadUser_Bicyclist_personal-transporter a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - personal-transporter"@en ;
      rdfs:comment "A personal-transporter and rider"@en .

    s4auto:VulnerableRoadUser_Bicyclist_rollerskater a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - rollerskater"@en ;
      rdfs:comment "A rolleskater and skater"@en .

    s4auto:VulnerableRoadUser_Bicyclist_speed-pedelec a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - speed-pedelec"@en ;
      rdfs:comment "A speed-pedelec and rider."@en .

    s4auto:VulnerableRoadUser_Bicyclist_wheelchair-user a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Bicyclist ;
      rdfs:label "VulnerableRoadUser - Bicyclist - wheelchair-user"@en ;
      rdfs:comment "A wheelchair and its user"@en .

  s4auto:VulnerableRoadUser_Motorcyclist a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:VulnerableRoadUser ;
    rdfs:comment "VRU Profile 3 - Motorcyclist, which are equipped with engines that allow them to move on the road. It includes users (driver and passengers, e.g. children and animals) of Powered Two Wheelers (PTW) such as mopeds (motorized scooters), motorcycles or side-cars."@en ;
    rdfs:label "VulnerableRoadUser - motorcyclist"@en .

    s4auto:VulnerableRoadUser_Motorcyclist_moped a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Motorcyclist ;
      rdfs:label "VulnerableRoadUser - Motorcyclist - moped"@en ;
      rdfs:comment "A moped and rider"@en .

    s4auto:VulnerableRoadUser_Motorcyclist_motorcycle a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Motorcyclist ;
      rdfs:label "VulnerableRoadUser - Motorcyclist - motorcycle"@en ;
      rdfs:comment "A motorcycle and rider"@en .

    s4auto:VulnerableRoadUser_Motorcyclist_motorcycle-and-sidecar-left a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Motorcyclist ;
      rdfs:label "VulnerableRoadUser - Motorcyclist - motorcycle-and-sidecar-left"@en ;
      rdfs:comment "A motorcycle with sidecar on the left and rider."@en .

    s4auto:VulnerableRoadUser_Motorcyclist_motorcycle-and-sidecar-right a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Motorcyclist ;
      rdfs:label "VulnerableRoadUser - Motorcyclist - motorcycle-and-sidecar-right"@en ;
      rdfs:comment "A motorcycle with sidecar on the right and rider"@en .

  s4auto:VulnerableRoadUser_Animal a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:VulnerableRoadUser ;
    rdfs:comment "VRU Profile 4 - Animal. For example : dogs, wild animals, horses, cows, sheep, kangaroos, etc."@en ;
    rdfs:label "VulnerableRoadUser - animal"@en .

    s4auto:VulnerableRoadUser_Animal_farm-animal a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Animal ;
      rdfs:label "VulnerableRoadUser - Animal - farm-animal"@en ;
      rdfs:comment "An animal beloning to a farm"@en .

    s4auto:VulnerableRoadUser_Animal_service-animal a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Animal ;
      rdfs:label "VulnerableRoadUser - Animal - service-animal"@en ;
      rdfs:comment "An animal that supports a human being."@en .

    s4auto:VulnerableRoadUser_Animal_wild-animal a owl:NamedIndividual , saref:FeatureKind ;
      skos:broader s4auto:VulnerableRoadUser_Animal ;
      rdfs:label "VulnerableRoadUser - Animal - wild-animal"@en ;
      rdfs:comment "An animal living in the wildness"@en .



s4auto:VulnerableRoadUser saref:hasProperty s4auto:VruDeviceUsage .

s4auto:VruDeviceUsage a owl:NamedIndividual , saref:Property ;
  rdfs:label "VruDeviceUsage"@en ;
  rdfs:comment """This property represents the possible usage conditions of the VRU device.

- The following property values are defined:
- 2 `idle`             - to indicate that the human is currently not interacting with the device,
- 3 `listeningToAudio` - to indicate that any audio source other than calling is in use,
- 4 `typing`           - to indicate that the human is texting or performaing any other manual input activity,
- 5 `calling`          - to indicate that the VRU device is currently receiving a call,
- 6 `playingGames`     - to indicate that the human is playing games,
- 7 `reading`          - to indicate that the human is reading on the VRU device,
- 8 `viewing`          - to indicate that the human is watching dynamic content, including following navigation prompts, viewing videos or other visual contents that are not static."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VruDeviceUsage"@en ;
  saref:isPropertyOf s4auto:VulnerableRoadUser .

  s4auto:VruDeviceUsage_calling a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - calling"@en ;
    rdfs:comment "5 `calling` - to indicate that the VRU device is currently receiving a call"@en ;
    saref:hasValue 5 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .

  s4auto:VruDeviceUsage_idle a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - idle"@en ;
    rdfs:comment "2 `idle` - to indicate that the human is currently not interacting with the device"@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .

  s4auto:VruDeviceUsage_listeningToAudio a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - listeningToAudio"@en ;
    rdfs:comment "3 `listeningToAudio` - to indicate that any audio source other than calling is in use"@en ;
    saref:hasValue 3 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .

  s4auto:VruDeviceUsage_playingGames a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - playingGames"@en ;
    rdfs:comment "6 `playingGames` - to indicate that the human is playing games"@en ;
    saref:hasValue 6 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .

  s4auto:VruDeviceUsage_reading a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - reading"@en ;
    rdfs:comment "7 `reading` - to indicate that the human is reading on the VRU device"@en ;
    saref:hasValue 7 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .

  s4auto:VruDeviceUsage_typing a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - typing"@en ;
    rdfs:comment "4 `typing` - to indicate that the human is texting or performaing any other manual input activity"@en ;
    saref:hasValue 4 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .

  s4auto:VruDeviceUsage_viewing a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruDeviceUsage - viewing"@en ;
    rdfs:comment "8 `viewing` - to indicate that the human is watching dynamic content, including following navigation prompts, viewing videos or other visual contents that are not static."@en ;
    saref:hasValue 8 ;
    saref:isValueOfProperty s4auto:VruDeviceUsage .


s4auto:VulnerableRoadUser saref:hasProperty s4auto:VruEnvironment .

s4auto:VruEnvironment a owl:NamedIndividual , saref:Property ;
  rdfs:label "VruEnvironment"@en ;
  rdfs:comment """This property represents the possible VRU environment conditions.

The following property values are defined:

- 1 `intersectionCrossing`   - to indicate that the VRU is on an intersection or crossing,
- 2 `zebraCrossing`          - to indicate that the VRU is on a  zebra crossing (crosswalk),
- 3 `sidewalk`               - to indicate that the VRU is on a sidewalk,
- 4 `onVehicleRoad`          - to indicate that the VRU is on a traffic lane,
- 5 `protectedGeographicArea`- to indicate that the VRU is in a protected area."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VruEnvironment"@en ;
  saref:isPropertyOf s4auto:VulnerableRoadUser .

  s4auto:VruEnvironment_intersectionCrossing a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruEnvironment - intersectionCrossing"@en ;
    rdfs:comment "1 `intersectionCrossing` - to indicate that the VRU is on an intersection or crossing"@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:VruEnvironment .

  s4auto:VruEnvironment_onVehicleRoad a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruEnvironment - onVehicleRoad"@en ;
    rdfs:comment "4 `onVehicleRoad` - to indicate that the VRU is on a traffic lane"@en ;
    saref:hasValue 4 ;
    saref:isValueOfProperty s4auto:VruEnvironment .

  s4auto:VruEnvironment_protectedGeographicArea a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruEnvironment - protectedGeographicArea"@en ;
    rdfs:comment "5 `protectedGeographicArea`- to indicate that the VRU is in a protected area."@en ;
    saref:hasValue 5 ;
    saref:isValueOfProperty s4auto:VruEnvironment .

  s4auto:VruEnvironment_sidewalk a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruEnvironment - sidewalk"@en ;
    rdfs:comment "3 `sidewalk` - to indicate that the VRU is on a sidewalk"@en ;
    saref:hasValue 3 ;
    saref:isValueOfProperty s4auto:VruEnvironment .

  s4auto:VruEnvironment_zebraCrossing a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruEnvironment - zebraCrossing"@en ;
    rdfs:comment "2 `zebraCrossing` - to indicate that the VRU is on a zebra crossing (crosswalk)"@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:VruEnvironment .



s4auto:VulnerableRoadUser saref:hasProperty s4auto:VruSpecificExteriorLights .

s4auto:VruSpecificExteriorLights a owl:NamedIndividual , saref:Property ;
  rdfs:label "VruSpecificExteriorLights"@en ;
  rdfs:comment """This property represents the status of some exterior light switch of a VRU.

Narrower properties indicate the type of exterior light switch of interest:

- s4auto:VruSpecificExteriorLights_backFlashLight  - indicates the status of the back flash light,
- s4auto:VruSpecificExteriorLights_helmetLight     - indicates the status of the helmet light,
- s4auto:VruSpecificExteriorLights_armLight        - indicates the status of the arm light,
- s4auto:VruSpecificExteriorLights_legLight        - indicates the status of the leg light,
- s4auto:VruSpecificExteriorLights_wheelLight      - indicates the status of the wheel light. 

"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VruSpecificExteriorLights"@en ;
  saref:isPropertyOf s4auto:VulnerableRoadUser ;
  skos:note """The value of each narrower property indicates the state of the switch, which commands the corresponding light.
It is *TRUE* when the corresponding switch is turned on. 
The values do not indicate if the corresponding lamps are alight or not.

If  VRU is not equipped with a certain light or if the light switch status information is not available, the value shall be *FALSE*."""@en .


  s4auto:VruSpecificExteriorLights_armLight a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "VruSpecificExteriorLights - armLight"@en ;
    rdfs:comment "*TRUE* when the arm light switch is on"@en ;
    skos:broader s4auto:VruSpecificExteriorLights ;
    saref:hasIdentifier 3 .

  s4auto:VruSpecificExteriorLights_backFlashLight a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "VruSpecificExteriorLights - backFlashLight"@en ;
    rdfs:comment "*TRUE* when the back flash light switch is on"@en ;
    skos:broader s4auto:VruSpecificExteriorLights ;
    saref:hasIdentifier 1 .

  s4auto:VruSpecificExteriorLights_helmetLight a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "VruSpecificExteriorLights - helmetLight"@en ;
    rdfs:comment "*TRUE* when the helmet light switch is on"@en ;
    skos:broader s4auto:VruSpecificExteriorLights ;
    saref:hasIdentifier 2 .

  s4auto:VruSpecificExteriorLights_legLight a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "VruSpecificExteriorLights - legLight"@en ;
    rdfs:comment "*TRUE* when the leg light switch is on"@en ;
    skos:broader s4auto:VruSpecificExteriorLights ;
    saref:hasIdentifier 4 .

  s4auto:VruSpecificExteriorLights_wheelLight a owl:NamedIndividual , saref:Property,
        s4auto:BooleanProperty ;
    rdfs:label "VruSpecificExteriorLights - wheelLight"@en ;
    rdfs:comment "*TRUE* when the wheel light switch is on"@en ;
    skos:broader s4auto:VruSpecificExteriorLights ;
    saref:hasIdentifier 5 .



s4auto:VulnerableRoadUser saref:hasProperty s4auto:VruMovementControl .

s4auto:VruMovementControl a owl:NamedIndividual , saref:Property ;
    rdfs:label "VruMovementControl"@en ;
    rdfs:comment """This property indicates the status of the possible human control over a VRU vehicle.

The following property values are defined:
- 1 `braking`                     - to indicate that the VRU is braking,
- 2 `hardBraking`                 - to indicate that the VRU is braking hard,
- 3 `stopPedaling`                - to indicate that the VRU stopped pedaling,
- 4 `brakingAndStopPedaling`      - to indicate that the VRU stopped pedaling an is braking,
- 5 `hardBrakingAndStopPedaling`  - to indicate that the VRU stopped pedaling an is braking hard,
- 6 `noReaction`                  - to indicate that the VRU is not changing its behavior."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VruMovementControl"@en ;
    saref:isPropertyOf s4auto:VulnerableRoadUser .

  s4auto:VruMovementControl_braking a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruMovementControl - braking"@en ;
    rdfs:comment "1 `braking` - to indicate that the VRU is braking"@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:VruMovementControl .

  s4auto:VruMovementControl_brakingAndStopPedaling a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruMovementControl - brakingAndStopPedaling"@en ;
    rdfs:comment "4 `brakingAndStopPedaling` - to indicate that the VRU stopped pedaling an is braking"@en ;
    saref:hasValue 4 ;
    saref:isValueOfProperty s4auto:VruMovementControl .

  s4auto:VruMovementControl_hardBraking a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruMovementControl - hardBraking"@en ;
    rdfs:comment "2 `hardBraking` - to indicate that the VRU is braking hard"@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:VruMovementControl .

  s4auto:VruMovementControl_hardBrakingAndStopPedaling a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruMovementControl - hardBrakingAndStopPedaling"@en ;
    rdfs:comment "5 `hardBrakingAndStopPedaling` - to indicate that the VRU stopped pedaling an is braking hard"@en ;
    saref:hasValue 5 ;
    saref:isValueOfProperty s4auto:VruMovementControl .

  s4auto:VruMovementControl_noReaction a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruMovementControl - noReaction"@en ;
    rdfs:comment "6 `noReaction` - to indicate that the VRU is not changing its behavior."@en ;
    saref:hasValue 6 ;
    saref:isValueOfProperty s4auto:VruMovementControl .

  s4auto:VruMovementControl_stopPedaling a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruMovementControl - stopPedaling"@en ;
    rdfs:comment "3 `stopPedaling` - to indicate that the VRU stopped pedaling"@en ;
    saref:hasValue 3 ;
    saref:isValueOfProperty s4auto:VruMovementControl .


s4auto:VulnerableRoadUser saref:hasProperty s4auto:VruSizeClass .

s4auto:VruSizeClass a owl:NamedIndividual , saref:Property ;
    rdfs:label "VruSizeClass"@en ;
    rdfs:comment """This property indicates the approximate size of a VRU including the VRU vehicle used.

The following property values are defined:
- 1 `low`            - to indicate that the VRU size class is low depending on the VRU profile,
- 2 `medium`         - to indicate that the VRU size class is medium depending on the VRU profile,
- 3 `high`           - to indicate that the VRU size class is high depending on the VRU profile."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VruSizeClass"@en ;
    saref:isPropertyOf s4auto:VulnerableRoadUser .

  s4auto:VruSizeClass_high a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruSizeClass - high"@en ;
    rdfs:comment "3 `high` - to indicate that the VRU size class is high depending on the VRU profile."@en ;
    saref:hasValue 3 ;
    saref:isValueOfProperty s4auto:VruSizeClass .

  s4auto:VruSizeClass_low a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruSizeClass - low"@en ;
    rdfs:comment "1 `low` - to indicate that the VRU size class is low depending on the VRU profile"@en ;
    saref:hasValue 1 ;
    saref:isValueOfProperty s4auto:VruSizeClass .

  s4auto:VruSizeClass_medium a owl:NamedIndividual , saref:PropertyValue ;
    rdfs:label "VruSizeClass - medium"@en ;
    rdfs:comment "2 `medium` - to indicate that the VRU size class is medium depending on the VRU profile"@en ;
    saref:hasValue 2 ;
    saref:isValueOfProperty s4auto:VruSizeClass .



### Vulnerable Road User Clusters
#- Figure: SAREF4AUTO_figures.VRUCluster.png
#- Example: SAREF4AUTO_examples.VRUCluster.png

s4auto:VRUCluster a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:VRUCluster ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:VRUCluster ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:VRUCluster ] )
  ] ;
  skos:broader s4auto:TrafficParticipant ;
  rdfs:subClassOf s4auto:TrafficParticipant ;
  saref:consistsOf s4auto:VulnerableRoadUser ;
  rdfs:label "VRU Cluster"@en ;
  rdfs:comment """A Vulnerable Road User (VRU) cluster is a group of VRUs with a homogeneous behaviour (see ETSI TS 103 300-2), where VRU awareness messages (VAM) related to the VRU cluster provide information about the entire cluster. Within a VRU cluster, VRU devices take the role of either leader (one per cluster) or member.

  A VRU Cluster may have a geometry as a bounding box.
  
A cluster may contain VRU devices of multiple profiles. A cluster is referred to as "homogeneous" if it contains devices of only one profile, and "heterogeneous" if it contains VRU devices of more than one profile (e.g. a mixed group of pedestrians and bicyclists)."""@en ;
  skos:historyNote "Adapted from ETSI TS 103 300-3 - ITS Vulnerable Road Users (VRU) awareness; Part 3: Specification of VRU awareness basic service"@en .

s4auto:ClusterJoin a owl:Class ;
  rdfs:subClassOf saref:ProcedureExecution ;
  rdfs:label "Cluster Join"@en ;
  rdfs:comment "Describes the act of a VRU carrying out a procedure to join a VRU cluster. It is linked to the VRU that joins the cluster using OP s4auto:madeBy, and to the VRU cluster using OP saref:targets. DP saref:resultTime indicates the time of joining. Typically, a s4auto:ClusterJoin has no saref:hasResult."@en ;
  rdfs:subClassOf 
    [   a owl:Restriction ;
        owl:onProperty saref:madeBy ;
        owl:allValuesFrom s4auto:VulnerableRoadUser
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:targets ;
        owl:someValuesFrom s4auto:VRUCluster 
    ] ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ClusterJoinInfo"@en .

s4auto:ClusterBreakup a owl:Class ;
  rdfs:subClassOf saref:ProcedureExecution ;
  rdfs:label "Cluster Breakup"@en ;
  rdfs:comment "Describes the act of a VRU leader carrying out a procedure to breakup a VRU cluster. It is linked to the VRU cluster using OP saref:targets. DP saref:resultTime indicates the time of breakup. OP saref:hasResult, if present, indicates the reason for breakup."@en ;
  rdfs:subClassOf 
    [   a owl:Restriction ;
        owl:onProperty saref:madeBy ;
        owl:allValuesFrom s4auto:VulnerableRoadUser
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:hasResult ;
        owl:allValuesFrom s4auto:ClusterBreakupReason
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:targets ;
        owl:someValuesFrom s4auto:VRUCluster 
    ] ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ClusterBreakupInfo"@en .


s4auto:ClusterBreakupReason a owl:Class ;
    rdfs:label "ClusterBreakupReason"@en ;
    rdfs:comment """This class indicates the reasons why a cluster leader intends to break up a VRU cluster.

The following instances are defined:

- s4auto:ClusterBreakupReason_`clusteringPurposeCompleted          - the cluster purpose has been completed,
- s4auto:ClusterBreakupReason_leaderMovedOutOfClusterBoundingBox   - the leader moved out of the cluster's bounding box,
- s4auto:ClusterBreakupReason_joiningAnotherCluster                - the cluster leader is about to join another cluster,
- s4auto:ClusterBreakupReason_enteringLowRiskAreaBasedOnMaps       - the cluster is entering an area idenrified as low risk based on the use of maps,
- s4auto:ClusterBreakupReason_receptionOfCpmContainingCluster      - the leader received a Collective Perception Message containing information about the same cluster."""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ClusterBreakupReason"@en .

    s4auto:ClusterBreakupReason_clusteringPurposeCompleted a owl:NamedIndividual , s4auto:ClusterBreakupReason ;
      rdfs:label "ClusterBreakupReason - clusteringPurposeCompleted"@en ;
      rdfs:comment "The cluster purpose has been completed"@en .

    s4auto:ClusterBreakupReason_enteringLowRiskAreaBasedOnMaps a owl:NamedIndividual , s4auto:ClusterBreakupReason ;
      rdfs:label "ClusterBreakupReason - enteringLowRiskAreaBasedOnMaps"@en ;
      rdfs:comment "The cluster is entering an area idenrified as low risk based on the use of maps"@en .

    s4auto:ClusterBreakupReason_joiningAnotherCluster a owl:NamedIndividual , s4auto:ClusterBreakupReason ;
      rdfs:label "ClusterBreakupReason - joiningAnotherCluster"@en ;
      rdfs:comment "The cluster leader is about to join another cluster"@en .

    s4auto:ClusterBreakupReason_leaderMovedOutOfClusterBoundingBox a owl:NamedIndividual , s4auto:ClusterBreakupReason ;
      rdfs:label "ClusterBreakupReason - leaderMovedOutOfClusterBoundingBox"@en ;
      rdfs:comment "The leader moved out of the cluster's bounding box"@en .

    s4auto:ClusterBreakupReason_receptionOfCpmContainingCluster a owl:NamedIndividual , s4auto:ClusterBreakupReason ;
      rdfs:label "ClusterBreakupReason - receptionOfCpmContainingCluster"@en ;
      rdfs:comment "The leader received a Collective Perception Message containing information about the same cluster."@en .


s4auto:ClusterLeave a owl:Class ;
  rdfs:subClassOf saref:ProcedureExecution ;
  rdfs:label "Cluster Leave"@en ;
  rdfs:comment "Describes the act of a VRU cluster participant carrying out a procedure to leave a VRU cluster. It is linked to the VRU cluster using OP saref:targets. DP saref:resultTime indicates the time of leaving. OP saref:hasResult, if present, indicates the reason reason why a cluster participant is leaving the cluster."@en ;
  rdfs:subClassOf 
    [   a owl:Restriction ;
        owl:onProperty saref:madeBy ;
        owl:allValuesFrom s4auto:VulnerableRoadUser
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:hasResult ;
        owl:allValuesFrom s4auto:ClusterLeaveReason
    ] ,
    [   a owl:Restriction ;
        owl:onProperty saref:targets ;
        owl:someValuesFrom s4auto:VRUCluster 
    ] ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ClusterLeaveInfo"@en .


s4auto:ClusterLeaveReason a owl:Class ;
    rdfs:label "ClusterLeaveReason"@en ;
    rdfs:comment """This property indicates the reason why a cluster participant is leaving the cluster.

The following instances values are defined:
- s4auto:ClusterLeaveReason_clusterLeaderLost            - if the cluster leader cannot be found anymore,   
- s4auto:ClusterLeaveReason_clusterDisbandedByLeader     - if the cluster has been disbanded by the leader,
- s4auto:ClusterLeaveReason_outOfClusterBoundingBox      - if the participants moved out of the cluster's bounding box,
- s4auto:ClusterLeaveReason_outOfClusterSpeedRange       - if the cluster speed moved out of a defined range, 
- s4auto:ClusterLeaveReason_joiningAnotherCluster        - if the participant is joining another cluster,
- s4auto:ClusterLeaveReason_cancelledJoin                - if the participant is cancelling a joining procedure,
- s4auto:ClusterLeaveReason_failedJoin                   - if the participant failed to join the cluster,
- s4auto:ClusterLeaveReason_safetyCondition              - if a safety condition applies.
"""@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: ClusterLeaveReason"@en .

    s4auto:ClusterLeaveReason_cancelledJoin a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - cancelledJoin"@en ;
      rdfs:comment "The participant is cancelling a joining procedure"@en .

    s4auto:ClusterLeaveReason_clusterDisbandedByLeader a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - clusterDisbandedByLeader"@en ;
      rdfs:comment "The cluster has been disbanded by the leader"@en .

    s4auto:ClusterLeaveReason_clusterLeaderLost a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - clusterLeaderLost"@en ;
      rdfs:comment "The cluster leader cannot be found anymore"@en .

    s4auto:ClusterLeaveReason_failedJoin a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - failedJoin"@en ;
      rdfs:comment "The participant failed to join the cluster"@en .

    s4auto:ClusterLeaveReason_joiningAnotherCluster a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - joiningAnotherCluster"@en ;
      rdfs:comment "The participant is joining another cluster"@en .

    s4auto:ClusterLeaveReason_outOfClusterBoundingBox a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - outOfClusterBoundingBox"@en ;
      rdfs:comment "The participants moved out of the cluster's bounding box"@en .

    s4auto:ClusterLeaveReason_outOfClusterSpeedRange a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - outOfClusterSpeedRange"@en ;
      rdfs:comment "The cluster speed moved out of a defined range"@en .

    s4auto:ClusterLeaveReason_safetyCondition a owl:NamedIndividual , s4auto:ClusterLeaveReason ;
      rdfs:label "ClusterLeaveReason - safetyCondition"@en ;
      rdfs:comment "A safety condition applies."@en .





### Parking Spots
#- Figure: SAREF4AUTO_figures.ParkingSpot.png
#- Example: SAREF4AUTO_examples.ParkingSpot.png

s4auto:ParkingSpot a owl:NamedIndividual , saref:FeatureKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:ParkingSpot ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:ParkingSpot ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:ParkingSpot ] )
  ] ;
  skos:broader s4auto:AutomotiveEntity ;
  rdfs:comment "A location that is designated for parking. A parking spot is a geo:Feature and can thus have a geometry."@en ;
  rdfs:label "ParkingSpot"@en .

  s4auto:ElectricChargingParkingSpot a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:ParkingSpot ;
    rdfs:comment "A type pf parking spot"@en ;
    rdfs:label "ElectricChargingParkingSpot"@en .

  s4auto:RegularParkingSpot a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:ParkingSpot ;
    rdfs:comment "A type pf parking spot"@en ;
    rdfs:label "RegularParkingSpot"@en .

  s4auto:SpecialPermitParkingSpot a owl:NamedIndividual , saref:FeatureKind ;
    skos:broader s4auto:ParkingSpot ;
    rdfs:comment "A type pf parking spot. Parking spot reserved for special permits (authorities, disabled, blue Zone, resident ...)"@en ;
    rdfs:label "SpecialPermitParkingSpot"@en .



s4auto:ParkingSpot saref:hasProperty s4auto:ParkingSpotState .

s4auto:ParkingSpotState a owl:NamedIndividual , saref:Property ;
  rdfs:comment "The state related to parking spots. Possible values for parking spot state are Free, occupied, reserved, closed, charging"@en ;
  rdfs:label "Parking Spot State"@en ;
  saref:isPropertyOf s4auto:ParkingSpot .

  s4auto:ParkingSpotStateFree a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:ParkingSpotState ;
    rdfs:comment "A type of state for Parking Spot"@en ;
    rdfs:label "Parking Spot State free"@en .

  s4auto:ParkingSpotStateOccupied a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:ParkingSpotState ;
    rdfs:comment "A type of state for Parking Spot"@en ;
    rdfs:label "Parking Spot State occupied"@en .

  s4auto:ParkingSpotStateReserved a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:ParkingSpotState ;
    rdfs:comment "A type of state for Parking Spot"@en ;
    rdfs:label "Parking Spot State reserved"@en .

  s4auto:ParkingSpotStateOpen a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:ParkingSpotState ;
    rdfs:comment "A type of state for Parking Spot"@en ;
    rdfs:label "Parking Spot State open"@en .

  s4auto:ParkingSpotStateClosed a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:ParkingSpotState ;
    rdfs:comment "A type of state for Parking Spot"@en ;
    rdfs:label "Parking Spot State closed"@en .

  s4auto:ParkingSpotStateCharging a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:ParkingSpotState ;
    rdfs:comment "A type of state for Parking Spot"@en ;
    rdfs:label "Parking Spot State charging"@en .



s4auto:Vehicle saref:hasProperty s4auto:VehicleParkingState .

s4auto:VehicleParkingState a owl:NamedIndividual , saref:Property ;
  rdfs:comment "The state related to the parking phases of a vehicle."@en ;
  rdfs:label "Parking Vehicle State"@en ;
  saref:isPropertyOf s4auto:Vehicle .

  s4auto:VehicleParkingStateParked a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State parked"@en .

  s4auto:VehicleParkingStateParking a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State parking"@en .

  s4auto:VehicleParkingStateDrivingToParkingSpot a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State Driving To Parking Spot"@en .

  s4auto:VehicleParkingStateDrivingToPickUpSpot a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State Driving To Pick Up Spot"@en .

  s4auto:VehicleParkingStateAtDropOffSpot a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State At Drop Off Spot"@en .

  s4auto:VehicleParkingStateAtPickUpSpot a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State At Pick Up Spot"@en .

  s4auto:VehicleParkingStateCharging a owl:NamedIndividual , saref:PropertyValue ;
    saref:isValueOfProperty s4auto:VehicleParkingState ;
    rdfs:comment "A type of state for Parking Vehicle"@en ;
    rdfs:label "Parking Vehicle State charging"@en .


### Automotive Devices
#- Figure: SAREF4AUTO_figures.AutomotiveDevice.png
#- Example: SAREF4AUTO_examples.AutomotiveDevice.png

s4auto:AutomotiveDevice a owl:NamedIndividual , saref:DeviceKind , owl:Class ;
  owl:equivalentClass [
    owl:unionOf ( 
      [ owl:oneOf ( s4auto:AutomotiveDevice ) ]
      [ owl:onProperty skos:broader ; owl:hasValue s4auto:AutomotiveDevice ]
      [ owl:onProperty saref:hasFeatureKind ; owl:hasValue s4auto:AutomotiveDevice ] )
  ] ;
  skos:broader s4auto:AutomotiveEntity ;
  rdfs:subClassOf s4auto:AutomotiveEntity ;
  rdfs:label "Automotive Device"@en ;
  rdfs:comment """A device used to wirelessly communicate with other devices for safety and mobility purposes."""@en .

s4auto:Vehicle s4syst:hasSubSystem s4auto:OnBoardUnit .

s4auto:OnBoardUnit a owl:NamedIndividual , saref:DeviceKind ;
  skos:broader s4auto:AutomotiveDevice ;
  rdfs:label "On-Board Unit"@en ;
  rdfs:comment """A device used to wirelessly communicate with other devices for safety and mobility purposes installed in a vehicle as original equipment or as aftermarket equipment (sometimes referred to as an "aftermarket safety device (ASD)""."""@en .

s4auto:MobileUnit a owl:NamedIndividual , saref:DeviceKind ;
  skos:broader s4auto:AutomotiveDevice ;
  rdfs:label "Mobile Unit"@en ;
  rdfs:comment """A device used to wirelessly communicate with other devices for safety and mobility purposes carried by a pedestrian, bicyclist, work zone worker, or other traveler."""@en .

s4auto:RoadSideEquipment a owl:Class ;
  rdfs:subClassOf s4auto:AutomotiveDevice ;
  rdfs:comment """A road side equipment can be either a simple data relay between vehicles and infrastructure or between the vehicles themselves, or it can run applications. It is usually high mounted in existing equipment, such as a street light, city traffic light, VMS or highway sign, or has its own pole.
  
Includes the ITS-C road side units and other ITS field equipment (includes traffic signal controllers)."""@en ;
  rdfs:label "RoadSideEquipment"@en .

s4auto:RoadSideUnit a owl:Class ;
  rdfs:subClassOf s4auto:RoadSideEquipment ;
  rdfs:comment """A transportation infrastructure communications device located on the roadside that provides V2X connectivity between On Board Units/Mobile Units and other parts of the transportation infrastructure including traffic control devices, traffic management systems, and back-office systems.
  
Note: Devices that are not part of the transportation infrastructure, such as cellular base stations or satellites, are not Road Side Units."""@en ;
  rdfs:label "RoadSideUnit"@en .

s4auto:RoadSideActuator a owl:Class ;
  rdfs:subClassOf s4auto:RoadSideEquipment ;
  rdfs:subClassOf [ owl:onProperty saref:controls ; owl:someValuesFrom s4auto:AutomotiveEntity ] ;
  rdfs:comment "Devices deployed along the road that produce signals based on road side sensor data measurements. Types of road side actuators that are relevant are devices such as traffic light controllers changing from red to green based on detected vehicles."@en ;
  rdfs:label "RoadSideActuator"@en .

s4auto:TrafficLightController a owl:Class ;
  rdfs:subClassOf s4auto:RoadSideActuator ;
  rdfs:comment "A device that automatically operates coloured lights, typically red, amber, and green, for controlling traffic at road junctions, pedestrian crossings, and roundabouts."@en ;
  rdfs:label "TrafficLight"@en .

s4auto:RoadSideSensor a owl:Class ;
  rdfs:subClassOf s4auto:RoadSideEquipment ;
  rdfs:subClassOf [ owl:onProperty saref:observes ; owl:someValuesFrom s4auto:AutomotiveEntity ] ;
  rdfs:comment "Sensors such as cameras, radars that are deployed along the road (e.g. at intersections and at poles along a highway). Road side sensors perform measurements, such as speed, position (relative or absolute), dimension, direction, etc. of road objects."@en ;
  rdfs:label "RoadSideSensor"@en .

s4auto:TrafficManagementCentre a owl:Class ;
  rdfs:subClassOf s4auto:AutomotiveEntity ;
  rdfs:comment "A traffic centre provides services to road users: exploiting data for road traffic management, providing information about mobility zones, operational management of the road infrastructure, etc."@en ;
  rdfs:label "TrafficManagementCentre"@en .



#### Sensors
#- Figure: SAREF4AUTO_figures.Sensors.png
#- Example: SAREF4AUTO_examples.Sensors.png



s4auto:AcousticSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "acoustic sensor"@en ;
    rdfs:comment "the class of acoustic sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:InductionLoopSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "inductionLoop sensor"@en ;
    rdfs:comment "the class of induction loop sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:ItsAggregationSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "itsAggregation Sensor"@en ;
    rdfs:comment "the class of systems that aggregate information from other received ITS messages."@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:LidarSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "lidar sensor"@en ;
    rdfs:comment "the class of lidar sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:LocalAggregationSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "localAggregation sensor"@en ;
    rdfs:comment "the class of systems that aggregate information from different local sensors. Aggregation may include fusion"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:MonovideoSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "monovideo sensor"@en ;
    rdfs:comment "the class of mono video sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:NightvisionSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "nightvision sensor"@en ;
    rdfs:comment "the class of night vision sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:PmdSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "pmd sensor"@en ;
    rdfs:comment "the class of photonic mixing device sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:RadarSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "radar sensor"@en ;
    rdfs:comment "the class of radar sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:SphericalCameraSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "sphericalCamera sensor"@en ;
    rdfs:comment "the class of spherical camera sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:StereovisionSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "stereovision sensor"@en ;
    rdfs:comment "the class of stereo vision sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:UltrasonicSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "ultrasonic sensor"@en ;
    rdfs:comment "the class of ultrasonic sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .

s4auto:UwbSensor a owl:Class ;
    rdfs:subClassOf saref:Sensor ;
    rdfs:label "uwb sensor"@en ;
    rdfs:comment "the class of ultra wide band sensors"@en ;
    skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SensorType"@en .


## Traffic Event Observations
#- Figure: SAREF4AUTO_figures.TrafficEventObservation.png
#- Example: SAREF4AUTO_examples.TrafficEventObservation.png

s4auto:TrafficEventObservation a owl:Class ;
  rdfs:subClassOf saref:Observation ;
  rdfs:label "Traffic Event"@en ;
  rdfs:comment "Act of carrying an observation resulting in a traffic event description. OP saref:hasResult links to the cause of the traffic event. OP saref:observes links to the direction and traffic direction where the event occurred."@en ;
  rdfs:subClassOf 
  [   a owl:Restriction ;
      owl:onProperty saref:hasResult ;
      owl:allValuesFrom s4auto:TrafficEventCause
  ] ,
  [   a owl:Restriction ;
      owl:onProperty s4auto:affectsTrafficDirection ;
      owl:someValuesFrom s4auto:TrafficDirection
  ] .

s4auto:affectsTrafficDirection a owl:ObjectProperty ;
  rdfs:label "in traffic direction"@en ;
  rdfs:comment """Links a traffic event observation to which traffic direction the observed event affects."""@en ;
  rdfs:domain s4auto:TrafficEventObservation ;
  rdfs:range s4auto:TrafficDirection ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficDirection"@en .

s4auto:TrafficDirection a owl:Class ;
  rdfs:subClassOf skos:Concept ;
  rdfs:label "Traffic Direction"@en ;
  rdfs:comment """The class of traffic direction in which observed traffic events are detected.

The following instances are defined:

- s4auto:TrafficDirection_allTrafficDirections  - for all traffic directions, 
- s4auto:TrafficDirection_upstreamTraffic       - for upstream traffic, 
- s4auto:TrafficDirection_downstreamTraffic     - for downstream traffic, 
- s4auto:TrafficDirection_oppositeTraffic       - for traffic in the opposite direction. 

The terms `upstream`, `downstream` and `oppositeTraffic` are relative to the event position."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficDirection"@en ;
  skos:note """Upstream traffic corresponds to the incoming traffic towards the event position,
and downstream traffic to the departing traffic away from the event position."""@en .

s4auto:TrafficDirection_allTrafficDirections a owl:NamedIndividual , s4auto:TrafficDirection ;
  rdfs:label "TrafficDirection - allTrafficDirections"@en ;
  rdfs:comment "All traffic directions"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficDirection"@en .

s4auto:TrafficDirection_downstreamTraffic a owl:NamedIndividual , s4auto:TrafficDirection ;
  rdfs:label "TrafficDirection - downstreamTraffic"@en ;
  rdfs:comment "Downstream traffic"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficDirection"@en .

s4auto:TrafficDirection_oppositeTraffic a owl:NamedIndividual , s4auto:TrafficDirection ;
  rdfs:label "TrafficDirection - oppositeTraffic"@en ;
  rdfs:comment """Traffic in the opposite direction."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficDirection"@en .

s4auto:TrafficDirection_upstreamTraffic a owl:NamedIndividual , s4auto:TrafficDirection ;
  rdfs:label "TrafficDirection - upstreamTraffic"@en ;
  rdfs:comment "Upstream traffic"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficDirection"@en .

s4auto:TrafficEventCause a owl:Class ; 
  rdfs:subClassOf skos:Concept ;
  rdfs:label "Traffic Event Cause"@en ;
  rdfs:comment """Class of concepts that describe traffic event causes.
  
The traffic event cause is completely defined by the top-level concepts. Narrower concepts may provide additional information that is not strictly necessary.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CauseCodeChoice"@en .

s4auto:TrafficCondition a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "TrafficCondition"@en ;
  rdfs:comment """In case the type of event is an abnormal traffic condition. 

The following narrower traffic event causes are defined:

- s4auto:TrafficCondition_increasedVolumeOfTraffic     - in case detected jam volume is increased,
- s4auto:TrafficCondition_trafficJamSlowlyIncreasing   - in case detected traffic jam volume is increasing slowly,
- s4auto:TrafficCondition_trafficJamIncreasing         - in case traffic jam volume is increasing,
- s4auto:TrafficCondition_trafficJamStronglyIncreasing - in case traffic jam volume is strongly increasing,
- s4auto:TrafficCondition_trafficStationary            - in case traffic is stationary,
- s4auto:TrafficCondition_trafficJamSlightlyDecreasing - in case traffic jam volume is decreasing slowly,
- s4auto:TrafficCondition_trafficJamDecreasing         - in case traffic jam volume is decreasing,
- s4auto:TrafficCondition_trafficJamStronglyDecreasing - in case traffic jam volume is decreasing rapidly,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: TrafficConditionSubCauseCode"@en .

  s4auto:TrafficCondition_increasedVolumeOfTraffic a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - increasedVolumeOfTraffic"@en ;
    rdfs:comment "In case detected jam volume is increased"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficJamDecreasing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficJamDecreasing"@en ;
    rdfs:comment "In case traffic jam volume is decreasing"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficJamIncreasing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficJamIncreasing"@en ;
    rdfs:comment "In case traffic jam volume is increasing"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficJamSlightlyDecreasing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficJamSlightlyDecreasing"@en ;
    rdfs:comment "In case traffic jam volume is decreasing slowly"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficJamSlowlyIncreasing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficJamSlowlyIncreasing"@en ;
    rdfs:comment "In case detected traffic jam volume is increasing slowly"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficJamStronglyDecreasing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficJamStronglyDecreasing"@en ;
    rdfs:comment "In case traffic jam volume is decreasing rapidly"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficJamStronglyIncreasing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficJamStronglyIncreasing"@en ;
    rdfs:comment "In case traffic jam volume is strongly increasing"@en ;
    skos:broader s4auto:TrafficCondition .

  s4auto:TrafficCondition_trafficStationary a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "TrafficCondition - trafficStationary"@en ;
    rdfs:comment "In case traffic is stationary"@en ;
    skos:broader s4auto:TrafficCondition .

s4auto:Accident a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "Accident"@en ;
  rdfs:comment """In case the type of event is a road accident.

The following narrower traffic event causes are defined:

- s4auto:Accident_multiVehicleAccident                - in case more than two vehicles are involved in accident,
- s4auto:Accident_heavyAccident                       - in case the airbag of the vehicle involved in the accident is triggered, the accident requires important rescue and/or recovery work,
- s4auto:Accident_accidentInvolvingLorry              - in case the accident involves a lorry,
- s4auto:Accident_accidentInvolvingBus                - in case the accident involves a bus,
- s4auto:Accident_accidentInvolvingHazardousMaterials - in case the accident involves hazardous material,
- s4auto:Accident_accidentOnOppositeLane              - in case the accident happens on opposite lanes,
- s4auto:Accident_unsecuredAccident                   - in case the accident is not secured,
- s4auto:Accident_assistanceRequested                 - in case rescue and assistance are requested,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AccidentSubCauseCode"@en .

  s4auto:Accident_accidentInvolvingBus a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - accidentInvolvingBus"@en ;
    rdfs:comment "In case the accident involves a bus"@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_accidentInvolvingHazardousMaterials a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - accidentInvolvingHazardousMaterials"@en ;
    rdfs:comment "In case the accident involves hazardous material"@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_accidentInvolvingLorry a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - accidentInvolvingLorry"@en ;
    rdfs:comment "In case the accident involves a lorry"@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_accidentOnOppositeLane a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - accidentOnOppositeLane"@en ;
    rdfs:comment "In case the accident happens on opposite lanes"@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_assistanceRequested a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - assistanceRequested"@en ;
    rdfs:comment "In case rescue and assistance are requested"@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_heavyAccident a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - heavyAccident"@en ;
    rdfs:comment """In case the airbag of the vehicle involved in the accident is triggered, 
  the accident requires important rescue and/or recovery work"""@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_multiVehicleAccident a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - multiVehicleAccident"@en ;
    rdfs:comment "In case more than two vehicles are involved in accident"@en ;
    skos:broader s4auto:Accident .

  s4auto:Accident_unsecuredAccident a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Accident - unsecuredAccident"@en ;
    rdfs:comment "In case the accident is not secured"@en ;
    skos:broader s4auto:Accident .
  
s4auto:Roadworks a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "Roadworks"@en ;
  rdfs:comment """In case the type of event is roadwork.

The following narrower traffic event causes are defined:

- s4auto:Roadworks_majorRoadworks               - in case a major roadworks is ongoing,
- s4auto:Roadworks_roadMarkingWork              - in case a road marking work is ongoing,
- s4auto:Roadworks_slowMovingRoadMaintenance    - in case slow moving road maintenance work is ongoing,
- s4auto:Roadworks_shortTermStationaryRoadworks - in case a short term stationary roadwork is ongoing,
- s4auto:Roadworks_streetCleaning               - in case a vehicle street cleaning work is ongoing,
- s4auto:Roadworks_winterService                - in case winter service work is ongoing.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RoadworksSubCauseCode"@en .

  s4auto:Roadworks_majorRoadworks a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Roadworks - majorRoadworks"@en ;
    rdfs:comment "In case a major roadworks is ongoing"@en ;
    skos:broader s4auto:Roadworks .

  s4auto:Roadworks_roadMarkingWork a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Roadworks - roadMarkingWork"@en ;
    rdfs:comment "In case a road marking work is ongoing"@en ;
    skos:broader s4auto:Roadworks .

  s4auto:Roadworks_shortTermStationaryRoadworks a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Roadworks - shortTermStationaryRoadworks"@en ;
    rdfs:comment "In case a short term stationary roadwork is ongoing"@en ;
    skos:broader s4auto:Roadworks .

  s4auto:Roadworks_slowMovingRoadMaintenance a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Roadworks - slowMovingRoadMaintenance"@en ;
    rdfs:comment "In case slow moving road maintenance work is ongoing"@en ;
    skos:broader s4auto:Roadworks .

  s4auto:Roadworks_streetCleaning a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Roadworks - streetCleaning"@en ;
    rdfs:comment "In case a vehicle street cleaning work is ongoing"@en ;
    skos:broader s4auto:Roadworks .

  s4auto:Roadworks_winterService a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "Roadworks - winterService"@en ;
    rdfs:comment "In case winter service work is ongoing."@en ;
    skos:broader s4auto:Roadworks .

s4auto:Impassability a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "Impassability"@en ;
  rdfs:comment "in case the type of event is unmanaged road blocking, referring to any blocking of a road, partial or total, which has not been adequately secured and signposted"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CauseCodeChoice"@en .


s4auto:AdverseWeatherCondition-Adhesion a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "AdverseWeatherCondition-Adhesion"@en ;
  rdfs:comment """In case the type of event is low adhesion. 

The following narrower traffic event causes are defined:

- s4auto:AdverseWeatherCondition-Adhesion_heavyFrostOnRoad - in case the low road adhesion is due to heavy frost on the road,
- s4auto:AdverseWeatherCondition-Adhesion_fuelOnRoad       - in case the low road adhesion is due to fuel on the road,
- s4auto:AdverseWeatherCondition-Adhesion_mudOnRoad        - in case the low road adhesion is due to mud on the road,
- s4auto:AdverseWeatherCondition-Adhesion_snowOnRoad       - in case the low road adhesion is due to snow on the road,
- s4auto:AdverseWeatherCondition-Adhesion_iceOnRoad        - in case the low road adhesion is due to ice on the road,
- s4auto:AdverseWeatherCondition-Adhesion_blackIceOnRoad   - in case the low road adhesion is due to black ice on the road,
- s4auto:AdverseWeatherCondition-Adhesion_oilOnRoad        - in case the low road adhesion is due to oil on the road,
- s4auto:AdverseWeatherCondition-Adhesion_looseChippings   - in case the low road adhesion is due to loose gravel or stone fragments detached from a road surface or from a hazard,
- s4auto:AdverseWeatherCondition-Adhesion_instantBlackIce  - in case the low road adhesion is due to instant black ice on the road surface,
- s4auto:AdverseWeatherCondition-Adhesion_roadsSalted     - when the low road adhesion is due to salted road,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AdverseWeatherCondition-AdhesionSubCauseCode"@en .

  s4auto:AdverseWeatherCondition-Adhesion_blackIceOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - blackIceOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to black ice on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_fuelOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - fuelOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to fuel on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_heavyFrostOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - heavyFrostOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to heavy frost on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_iceOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - iceOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to ice on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_instantBlackIce a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - instantBlackIce"@en ;
    rdfs:comment "In case the low road adhesion is due to instant black ice on the road surface"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_looseChippings a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - looseChippings"@en ;
    rdfs:comment "In case the low road adhesion is due to loose gravel or stone fragments detached from a road surface or from a hazard"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_mudOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - mudOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to mud on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_oilOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - oilOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to oil on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_roadsSalted a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - roadsSalted"@en ;
    rdfs:comment "In case the low road adhesion is due to salted road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

  s4auto:AdverseWeatherCondition-Adhesion_snowOnRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Adhesion - snowOnRoad"@en ;
    rdfs:comment "In case the low road adhesion is due to snow on the road"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Adhesion .

s4auto:Aquaplaning a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "Aquaplaning"@en ;
  rdfs:comment "Danger of aquaplaning on the road"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CauseCodeChoice"@en .

s4auto:HazardousLocation-SurfaceCondition a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "HazardousLocation-SurfaceCondition"@en ;
  rdfs:comment """In case the type of event is abnormal road surface condition. 

The following narrower traffic event causes are defined:

- s4auto:HazardousLocation-SurfaceCondition_rockfalls        - in case rock falls are detected on the road surface,
- s4auto:HazardousLocation-SurfaceCondition_earthquakeDamage - in case the road surface is damaged by earthquake,
- s4auto:HazardousLocation-SurfaceCondition_sewerCollapse    - in case of sewer collapse on the road surface,
- s4auto:HazardousLocation-SurfaceCondition_subsidence       - in case road surface is damaged by subsidence,
- s4auto:HazardousLocation-SurfaceCondition_snowDrifts       - in case road surface is damaged due to snow drift,
- s4auto:HazardousLocation-SurfaceCondition_stormDamage      - in case road surface is damaged by strong storm,
- s4auto:HazardousLocation-SurfaceCondition_burstPipe        - in case road surface is damaged due to pipe burst,
- s4auto:HazardousLocation-SurfaceCondition_volcanoEruption  - in case road surface is damaged due to volcano eruption,
- s4auto:HazardousLocation-SurfaceCondition_fallingIce       - in case road surface damage is due to falling ice,
- s4auto:HazardousLocation-SurfaceCondition_fire             - in case there is fire on or near to the road surface.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HazardousLocation-SurfaceConditionSubCauseCode"@en .

  s4auto:HazardousLocation-SurfaceCondition_burstPipe a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - burstPipe"@en ;
    rdfs:comment "In case road surface is damaged due to pipe burst"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_earthquakeDamage a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - earthquakeDamage"@en ;
    rdfs:comment "In case the road surface is damaged by earthquake"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_fallingIce a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - fallingIce"@en ;
    rdfs:comment "In case road surface damage is due to falling ice"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_fire a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - fire"@en ;
    rdfs:comment "In case there is fire on or near to the road surface."@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_rockfalls a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - rockfalls"@en ;
    rdfs:comment "In case rock falls are detected on the road surface"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_sewerCollapse a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - sewerCollapse"@en ;
    rdfs:comment "In case of sewer collapse on the road surface"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_snowDrifts a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - snowDrifts"@en ;
    rdfs:comment "In case road surface is damaged due to snow drift"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_stormDamage a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - stormDamage"@en ;
    rdfs:comment "In case road surface is damaged by strong storm"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_subsidence a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - subsidence"@en ;
    rdfs:comment "In case road surface is damaged by subsidence"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

  s4auto:HazardousLocation-SurfaceCondition_volcanoEruption a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-SurfaceCondition - volcanoEruption"@en ;
    rdfs:comment "In case road surface is damaged due to volcano eruption"@en ;
    skos:broader s4auto:HazardousLocation-SurfaceCondition .

s4auto:HazardousLocation-ObstacleOnTheRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "HazardousLocation-ObstacleOnTheRoad"@en ;
  rdfs:comment """In case the type of event is obstacle on the road. 

The following narrower traffic event causes are defined:

- s4auto:HazardousLocation-ObstacleOnTheRoad_shedLoad        - in case detected obstacle is large amount of obstacles (shedload),
- s4auto:HazardousLocation-ObstacleOnTheRoad_partsOfVehicles - in case detected obstacles are parts of vehicles,
- s4auto:HazardousLocation-ObstacleOnTheRoad_partsOfTyres    - in case the detected obstacles are parts of tyres,
- s4auto:HazardousLocation-ObstacleOnTheRoad_bigObjects      - in case the detected obstacles are big objects,
- s4auto:HazardousLocation-ObstacleOnTheRoad_fallenTrees     - in case the detected obstacles are fallen trees,
- s4auto:HazardousLocation-ObstacleOnTheRoad_hubCaps         - in case the detected obstacles are hub caps,
- s4auto:HazardousLocation-ObstacleOnTheRoad_waitingVehicles - in case the detected obstacles are waiting vehicles.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HazardousLocation-ObstacleOnTheRoadSubCauseCode"@en .

  s4auto:HazardousLocation-ObstacleOnTheRoad_bigObjects a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - bigObjects"@en ;
    rdfs:comment "In case the detected obstacles are big objects"@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

  s4auto:HazardousLocation-ObstacleOnTheRoad_fallenTrees a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - fallenTrees"@en ;
    rdfs:comment "In case the detected obstacles are fallen trees"@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

  s4auto:HazardousLocation-ObstacleOnTheRoad_hubCaps a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - hubCaps"@en ;
    rdfs:comment "In case the detected obstacles are hub caps"@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

  s4auto:HazardousLocation-ObstacleOnTheRoad_partsOfTyres a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - partsOfTyres"@en ;
    rdfs:comment "In case the detected obstacles are parts of tyres"@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

  s4auto:HazardousLocation-ObstacleOnTheRoad_partsOfVehicles a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - partsOfVehicles"@en ;
    rdfs:comment "In case detected obstacles are parts of vehicles"@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

  s4auto:HazardousLocation-ObstacleOnTheRoad_shedLoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - shedLoad"@en ;
    rdfs:comment "In case detected obstacle is large amount of obstacles (shedload)"@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

  s4auto:HazardousLocation-ObstacleOnTheRoad_waitingVehicles a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-ObstacleOnTheRoad - waitingVehicles"@en ;
    rdfs:comment "In case the detected obstacles are waiting vehicles."@en ;
    skos:broader s4auto:HazardousLocation-ObstacleOnTheRoad .

s4auto:HazardousLocation-AnimalOnTheRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "HazardousLocation-AnimalOnTheRoad"@en ;
  rdfs:comment """In case the type of event is animal on the road.

The following narrower traffic event causes are defined:

- s4auto:HazardousLocation-AnimalOnTheRoad_wildAnimals   - in case wild animals are detected on the road,
- s4auto:HazardousLocation-AnimalOnTheRoad_herdOfAnimals - in case herd of animals are detected on the road,
- s4auto:HazardousLocation-AnimalOnTheRoad_smallAnimals  - in case small size animals are detected on the road,
- s4auto:HazardousLocation-AnimalOnTheRoad_largeAnimals  - in case large size animals are detected on the road.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HazardousLocation-AnimalOnTheRoadSubCauseCode"@en .

  s4auto:HazardousLocation-AnimalOnTheRoad_herdOfAnimals a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-AnimalOnTheRoad - herdOfAnimals"@en ;
    rdfs:comment "In case herd of animals are detected on the road"@en ;
    skos:broader s4auto:HazardousLocation-AnimalOnTheRoad .

  s4auto:HazardousLocation-AnimalOnTheRoad_largeAnimals a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-AnimalOnTheRoad - largeAnimals"@en ;
    rdfs:comment "In case large size animals are detected on the road."@en ;
    skos:broader s4auto:HazardousLocation-AnimalOnTheRoad .

  s4auto:HazardousLocation-AnimalOnTheRoad_smallAnimals a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-AnimalOnTheRoad - smallAnimals"@en ;
    rdfs:comment "In case small size animals are detected on the road"@en ;
    skos:broader s4auto:HazardousLocation-AnimalOnTheRoad .

  s4auto:HazardousLocation-AnimalOnTheRoad_wildAnimals a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-AnimalOnTheRoad - wildAnimals"@en ;
    rdfs:comment "In case wild animals are detected on the road"@en ;
    skos:broader s4auto:HazardousLocation-AnimalOnTheRoad .

s4auto:HumanPresenceOnTheRoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "HumanPresenceOnTheRoad"@en ;
  rdfs:comment """In case the type of event is human presence on the road.

The following narrower traffic event causes are defined:

- s4auto:HumanPresenceOnTheRoad_childrenOnRoadway     - in case children are detected on the road,
- s4auto:HumanPresenceOnTheRoad_cyclistOnRoadway      - in case cyclist presence is detected on the road,
- s4auto:HumanPresenceOnTheRoad_motorcyclistOnRoadway - in case motorcyclist presence is detected on the road.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HumanPresenceOnTheRoadSubCauseCode"@en .

  s4auto:HumanPresenceOnTheRoad_childrenOnRoadway a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HumanPresenceOnTheRoad - childrenOnRoadway"@en ;
    rdfs:comment "In case children are detected on the road"@en ;
    skos:broader s4auto:HumanPresenceOnTheRoad .

  s4auto:HumanPresenceOnTheRoad_cyclistOnRoadway a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HumanPresenceOnTheRoad - cyclistOnRoadway"@en ;
    rdfs:comment "In case cyclist presence is detected on the road"@en ;
    skos:broader s4auto:HumanPresenceOnTheRoad .

  s4auto:HumanPresenceOnTheRoad_motorcyclistOnRoadway a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HumanPresenceOnTheRoad - motorcyclistOnRoadway"@en ;
    rdfs:comment "In case motorcyclist presence is detected on the road."@en ;
    skos:broader s4auto:HumanPresenceOnTheRoad .

s4auto:WrongWayDriving a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "WrongWayDriving"@en ;
  rdfs:comment """In case the type of the event is vehicle driving in wrong way.

The following narrower traffic event causes are defined:

- s4auto:WrongWayDriving_wrongLane       - in case vehicle is driving on a lane for which it has no authorization to use,
- s4auto:WrongWayDriving_wrongDirection  - in case vehicle is driving in a direction that it is not allowed,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: WrongWayDrivingSubCauseCode"@en .

  s4auto:WrongWayDriving_wrongDirection a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "WrongWayDriving - wrongDirection"@en ;
    rdfs:comment "In case vehicle is driving in a direction that it is not allowed"@en ;
    skos:broader s4auto:WrongWayDriving .

  s4auto:WrongWayDriving_wrongLane a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "WrongWayDriving - wrongLane"@en ;
    rdfs:comment "In case vehicle is driving on a lane for which it has no authorization to use"@en ;
    skos:broader s4auto:WrongWayDriving .

s4auto:RescueAndRecoveryWorkInProgress a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "RescueAndRecoveryWorkInProgress"@en ;
  rdfs:comment """In case the type of event is rescue and recovery work for accident or for a road hazard in progress. 

The following narrower traffic event causes are defined:

- s4auto:RescueAndRecoveryWorkInProgress_emergencyVehicles        - in case rescue work is ongoing by emergency vehicles,
- s4auto:RescueAndRecoveryWorkInProgress_rescueHelicopterLanding  - in case rescue helicopter is landing,
- s4auto:RescueAndRecoveryWorkInProgress_policeActivityOngoing    - in case police activity is ongoing,
- s4auto:RescueAndRecoveryWorkInProgress_medicalEmergencyOngoing  - in case medical emergency recovery is ongoing,
- s4auto:RescueAndRecoveryWorkInProgress_childAbductionInProgress - in case a child kidnapping alarm is activated and rescue work is ongoing,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RescueAndRecoveryWorkInProgressSubCauseCode"@en .

  s4auto:RescueAndRecoveryWorkInProgress_childAbductionInProgress a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RescueAndRecoveryWorkInProgress - childAbductionInProgress"@en ;
    rdfs:comment "In case a child kidnapping alarm is activated and rescue work is ongoing"@en ;
    skos:broader s4auto:RescueAndRecoveryWorkInProgress .

  s4auto:RescueAndRecoveryWorkInProgress_emergencyVehicles a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RescueAndRecoveryWorkInProgress - emergencyVehicles"@en ;
    rdfs:comment "In case rescue work is ongoing by emergency vehicles"@en ;
    skos:broader s4auto:RescueAndRecoveryWorkInProgress .

  s4auto:RescueAndRecoveryWorkInProgress_medicalEmergencyOngoing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RescueAndRecoveryWorkInProgress - medicalEmergencyOngoing"@en ;
    rdfs:comment "In case medical emergency recovery is ongoing"@en ;
    skos:broader s4auto:RescueAndRecoveryWorkInProgress .

  s4auto:RescueAndRecoveryWorkInProgress_policeActivityOngoing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RescueAndRecoveryWorkInProgress - policeActivityOngoing"@en ;
    rdfs:comment "In case police activity is ongoing"@en ;
    skos:broader s4auto:RescueAndRecoveryWorkInProgress .

  s4auto:RescueAndRecoveryWorkInProgress_rescueHelicopterLanding a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RescueAndRecoveryWorkInProgress - rescueHelicopterLanding"@en ;
    rdfs:comment "In case rescue helicopter is landing"@en ;
    skos:broader s4auto:RescueAndRecoveryWorkInProgress .

s4auto:AdverseWeatherCondition-ExtremeWeatherCondition a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition"@en ;
  rdfs:comment """In case the type of event is extreme weather condition.

The following narrower traffic event causes are defined:

- s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_strongWinds  - in case the type of extreme weather condition is strong wind,
- s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_damagingHail - in case the type of extreme weather condition is damaging hail,
- s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_hurricane    - in case the type of extreme weather condition is hurricane,
- s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_thunderstorm - in case the type of extreme weather condition is thunderstorm,
- s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_tornado      - in case the type of extreme weather condition is tornado,
- s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_blizzard     - in case the type of extreme weather condition is blizzard.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode"@en .

  s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_blizzard a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition - blizzard"@en ;
    rdfs:comment "In case the type of extreme weather condition is blizzard."@en ;
    skos:broader s4auto:AdverseWeatherCondition-ExtremeWeatherCondition .

  s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_damagingHail a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition - damagingHail"@en ;
    rdfs:comment "In case the type of extreme weather condition is damaging hail"@en ;
    skos:broader s4auto:AdverseWeatherCondition-ExtremeWeatherCondition .

  s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_hurricane a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition - hurricane"@en ;
    rdfs:comment "In case the type of extreme weather condition is hurricane"@en ;
    skos:broader s4auto:AdverseWeatherCondition-ExtremeWeatherCondition .

  s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_strongWinds a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition - strongWinds"@en ;
    rdfs:comment "In case the type of extreme weather condition is strong wind"@en ;
    skos:broader s4auto:AdverseWeatherCondition-ExtremeWeatherCondition .

  s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_thunderstorm a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition - thunderstorm"@en ;
    rdfs:comment "In case the type of extreme weather condition is thunderstorm"@en ;
    skos:broader s4auto:AdverseWeatherCondition-ExtremeWeatherCondition .

  s4auto:AdverseWeatherCondition-ExtremeWeatherCondition_tornado a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-ExtremeWeatherCondition - tornado"@en ;
    rdfs:comment "In case the type of extreme weather condition is tornado"@en ;
    skos:broader s4auto:AdverseWeatherCondition-ExtremeWeatherCondition .

s4auto:AdverseWeatherCondition-Visibility a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "AdverseWeatherCondition-Visibility"@en ;
  rdfs:comment """In case the type of event is low visibility.

The following narrower traffic event causes are defined:

- s4auto:AdverseWeatherCondition-Visibility_fog             - in case the cause of low visibility is fog,
- s4auto:AdverseWeatherCondition-Visibility_smoke           - in case the cause of low visibility is smoke,
- s4auto:AdverseWeatherCondition-Visibility_heavySnowfall   - in case the cause of low visibility is heavy snow fall,
- s4auto:AdverseWeatherCondition-Visibility_heavyRain       - in case the cause of low visibility is heavy rain,
- s4auto:AdverseWeatherCondition-Visibility_heavyHail       - in case the cause of low visibility is heavy hail,
- s4auto:AdverseWeatherCondition-Visibility_lowSunGlare     - in case the cause of low visibility is sun glare,
- s4auto:AdverseWeatherCondition-Visibility_sandstorms      - in case the cause of low visibility is sand storm,
- s4auto:AdverseWeatherCondition-Visibility_swarmsOfInsects - in case the cause of low visibility is swarm of insects.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AdverseWeatherCondition-VisibilitySubCauseCode"@en .

  s4auto:AdverseWeatherCondition-Visibility_fog a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - fog"@en ;
    rdfs:comment "In case the cause of low visibility is fog"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_heavyHail a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - heavyHail"@en ;
    rdfs:comment "In case the cause of low visibility is heavy hail"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_heavyRain a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - heavyRain"@en ;
    rdfs:comment "In case the cause of low visibility is heavy rain"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_heavySnowfall a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - heavySnowfall"@en ;
    rdfs:comment "In case the cause of low visibility is heavy snow fall"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_lowSunGlare a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - lowSunGlare"@en ;
    rdfs:comment "In case the cause of low visibility is sun glare"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_sandstorms a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - sandstorms"@en ;
    rdfs:comment "In case the cause of low visibility is sand storm"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_smoke a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - smoke"@en ;
    rdfs:comment "In case the cause of low visibility is smoke"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

  s4auto:AdverseWeatherCondition-Visibility_swarmsOfInsects a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Visibility - swarmsOfInsects"@en ;
    rdfs:comment "In case the cause of low visibility is swarm of insects."@en ;
    skos:broader s4auto:AdverseWeatherCondition-Visibility .

s4auto:AdverseWeatherCondition-Precipitation a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "AdverseWeatherCondition-Precipitation"@en ;
  rdfs:comment """In case the type of event is precipitation. 

The following narrower traffic event causes are defined:

- s4auto:AdverseWeatherCondition-Precipitation_heavyRain      - in case the type of precipitation is heavy rain,
- s4auto:AdverseWeatherCondition-Precipitation_heavySnowfall  - in case the type of precipitation is heavy snow fall,
- s4auto:AdverseWeatherCondition-Precipitation_softHail       - in case the type of precipitation is soft hail.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: AdverseWeatherCondition-PrecipitationSubCauseCode"@en .

  s4auto:AdverseWeatherCondition-Precipitation_heavyRain a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Precipitation - heavyRain"@en ;
    rdfs:comment "In case the type of precipitation is heavy rain"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Precipitation .

  s4auto:AdverseWeatherCondition-Precipitation_heavySnowfall a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Precipitation - heavySnowfall"@en ;
    rdfs:comment "In case the type of precipitation is heavy snow fall"@en ;
    skos:broader s4auto:AdverseWeatherCondition-Precipitation .

  s4auto:AdverseWeatherCondition-Precipitation_softHail a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "AdverseWeatherCondition-Precipitation - softHail"@en ;
    rdfs:comment "In case the type of precipitation is soft hail."@en ;
    skos:broader s4auto:AdverseWeatherCondition-Precipitation .

s4auto:Violence a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "Violence"@en ;
  rdfs:comment "in case the the type of event is human violence on or near the road"@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CauseCodeChoice"@en .

s4auto:SlowVehicle a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "SlowVehicle"@en ;
  rdfs:comment """In case the type of event is slow vehicle driving on the road.

The following narrower traffic event causes are defined:

- s4auto:SlowVehicle_maintenanceVehicle              - in case of a slow driving maintenance vehicle on the road,
- s4auto:SlowVehicle_vehiclesSlowingToLookAtAccident - in case vehicle is temporally slowing down to look at accident, spot, etc.,
- s4auto:SlowVehicle_abnormalLoad                    - in case an abnormal loaded vehicle is driving slowly on the road,
- s4auto:SlowVehicle_abnormalWideLoad                - in case an abnormal wide load vehicle is driving slowly on the road,
- s4auto:SlowVehicle_convoy                          - in case of slow driving convoy on the road,
- s4auto:SlowVehicle_snowplough                      - in case of slow driving snow plough on the road,
- s4auto:SlowVehicle_deicing                         - in case of slow driving de-icing vehicle on the road,
- s4auto:SlowVehicle_saltingVehicles                 - in case of slow driving salting vehicle on the road.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SlowVehicleSubCauseCode"@en .

  s4auto:SlowVehicle_abnormalLoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - abnormalLoad"@en ;
    rdfs:comment "In case an abnormal loaded vehicle is driving slowly on the road"@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_abnormalWideLoad a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - abnormalWideLoad"@en ;
    rdfs:comment "In case an abnormal wide load vehicle is driving slowly on the road"@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_convoy a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - convoy"@en ;
    rdfs:comment "In case of slow driving convoy on the road"@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_deicing a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - deicing"@en ;
    rdfs:comment "In case of slow driving de-icing vehicle on the road"@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_maintenanceVehicle a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - maintenanceVehicle"@en ;
    rdfs:comment "In case of a slow driving maintenance vehicle on the road"@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_saltingVehicles a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - saltingVehicles"@en ;
    rdfs:comment "In case of slow driving salting vehicle on the road."@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_snowplough a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - snowplough"@en ;
    rdfs:comment "In case of slow driving snow plough on the road"@en ;
    skos:broader s4auto:SlowVehicle .

  s4auto:SlowVehicle_vehiclesSlowingToLookAtAccident a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SlowVehicle - vehiclesSlowingToLookAtAccident"@en ;
    rdfs:comment "In case vehicle is temporally slowing down to look at accident, spot, etc."@en ;
    skos:broader s4auto:SlowVehicle .

s4auto:DangerousEndOfQueue a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "DangerousEndOfQueue"@en ;
  rdfs:comment """In case the type of event is dangerous end of vehicle queue. 

The following narrower traffic event causes are defined:

- s4auto:DangerousEndOfQueue_suddenEndOfQueue - in case a sudden end of queue is detected, e.g. due to accident or obstacle,
- s4auto:DangerousEndOfQueue_queueOverHill    - in case the dangerous end of queue is detected on the road hill,
- s4auto:DangerousEndOfQueue_queueAroundBend  - in case the dangerous end of queue is detected around the road bend,
- s4auto:DangerousEndOfQueue_queueInTunnel    - in case queue is detected in tunnel,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: DangerousEndOfQueueSubCauseCode"@en .

  s4auto:DangerousEndOfQueue_queueAroundBend a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousEndOfQueue - queueAroundBend"@en ;
    rdfs:comment "In case the dangerous end of queue is detected around the road bend"@en ;
    skos:broader s4auto:DangerousEndOfQueue .

  s4auto:DangerousEndOfQueue_queueInTunnel a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousEndOfQueue - queueInTunnel"@en ;
    rdfs:comment "In case queue is detected in tunnel"@en ;
    skos:broader s4auto:DangerousEndOfQueue .

  s4auto:DangerousEndOfQueue_queueOverHill a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousEndOfQueue - queueOverHill"@en ;
    rdfs:comment "In case the dangerous end of queue is detected on the road hill"@en ;
    skos:broader s4auto:DangerousEndOfQueue .

  s4auto:DangerousEndOfQueue_suddenEndOfQueue a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousEndOfQueue - suddenEndOfQueue"@en ;
    rdfs:comment "In case a sudden end of queue is detected, e.g. due to accident or obstacle"@en ;
    skos:broader s4auto:DangerousEndOfQueue .

s4auto:VehicleBreakdown a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "VehicleBreakdown"@en ;
  rdfs:comment """In case the type of event is break down vehicle on the road. 

The following narrower traffic event causes are defined:

- s4auto:VehicleBreakdown_lackOfFuel           - in case vehicle break down is due to lack of fuel,
- s4auto:VehicleBreakdown_lackOfBatteryPower   - in case vehicle break down is caused by lack of battery power,
- s4auto:VehicleBreakdown_engineProblem        - in case vehicle break down is caused by an engine problem,
- s4auto:VehicleBreakdown_transmissionProblem  - in case vehicle break down is caused by transmission problem,
- s4auto:VehicleBreakdown_engineCoolingProblem - in case vehicle break down is caused by an engine cooling problem,
- s4auto:VehicleBreakdown_brakingSystemProblem - in case vehicle break down is caused by a braking system problem,
- s4auto:VehicleBreakdown_steeringProblem      - in case vehicle break down is caused by a steering problem,
- s4auto:VehicleBreakdown_tyrePuncture         - in case vehicle break down is caused by tyre puncture,
- s4auto:VehicleBreakdown_tyrePressureProblem  - in case low tyre pressure in detected,
- s4auto:VehicleBreakdown_vehicleOnFire       - in case the vehicle is on fire.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: VehicleBreakdownSubCauseCode"@en .

  s4auto:VehicleBreakdown_brakingSystemProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - brakingSystemProblem"@en ;
    rdfs:comment "In case vehicle break down is caused by a braking system problem"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_engineCoolingProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - engineCoolingProblem"@en ;
    rdfs:comment "In case vehicle break down is caused by an engine cooling problem"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_engineProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - engineProblem"@en ;
    rdfs:comment "In case vehicle break down is caused by an engine problem"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_lackOfBatteryPower a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - lackOfBatteryPower"@en ;
    rdfs:comment "In case vehicle break down is caused by lack of battery power"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_lackOfFuel a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - lackOfFuel"@en ;
    rdfs:comment "In case vehicle break down is due to lack of fuel"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_steeringProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - steeringProblem"@en ;
    rdfs:comment "In case vehicle break down is caused by a steering problem"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_transmissionProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - transmissionProblem"@en ;
    rdfs:comment "In case vehicle break down is caused by transmission problem"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_tyrePressureProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - tyrePressureProblem"@en ;
    rdfs:comment "In case low tyre pressure in detected"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_tyrePuncture a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - tyrePuncture"@en ;
    rdfs:comment "In case vehicle break down is caused by tyre puncture"@en ;
    skos:broader s4auto:VehicleBreakdown .

  s4auto:VehicleBreakdown_vehicleOnFire a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "VehicleBreakdown - vehicleOnFire"@en ;
    rdfs:comment "In case the vehicle is on fire."@en ;
    skos:broader s4auto:VehicleBreakdown .

s4auto:PostCrash a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "PostCrash"@en ;
  rdfs:comment """In case the type of event is a detected crash.

The following narrower traffic event causes are defined:

- s4auto:PostCrash_accidentWithoutECallTriggered                              - in case no eCall has been triggered for an accident,
- s4auto:PostCrash_accidentWithECallManuallyTriggered                         - in case eCall has been manually triggered and transmitted to eCall back end,
- s4auto:PostCrash_accidentWithECallAutomaticallyTriggered                    - in case eCall has been automatically triggered and transmitted to eCall back end,
- s4auto:PostCrash_accidentWithECallTriggeredWithoutAccessToCellularNetwork   - in case eCall has been triggered but cellular network is not accessible from triggering vehicle.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: PostCrashSubCauseCode"@en .

  s4auto:PostCrash_accidentWithECallAutomaticallyTriggered a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "PostCrash - accidentWithECallAutomaticallyTriggered"@en ;
    rdfs:comment "In case eCall has been automatically triggered and transmitted to eCall back end"@en ;
    skos:broader s4auto:PostCrash .

  s4auto:PostCrash_accidentWithECallManuallyTriggered a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "PostCrash - accidentWithECallManuallyTriggered"@en ;
    rdfs:comment "In case eCall has been manually triggered and transmitted to eCall back end"@en ;
    skos:broader s4auto:PostCrash .

  s4auto:PostCrash_accidentWithECallTriggeredWithoutAccessToCellularNetwork a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "PostCrash - accidentWithECallTriggeredWithoutAccessToCellularNetwork"@en ;
    rdfs:comment "In case eCall has been triggered but cellular network is not accessible from triggering vehicle."@en ;
    skos:broader s4auto:PostCrash .

  s4auto:PostCrash_accidentWithoutECallTriggered a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "PostCrash - accidentWithoutECallTriggered"@en ;
    rdfs:comment "In case no eCall has been triggered for an accident"@en ;
    skos:broader s4auto:PostCrash .

s4auto:HumanProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "HumanProblem"@en ;
  rdfs:comment """In case the type of event is human health problem in vehicles involved in traffic.

The following narrower traffic event causes are defined:

- s4auto:HumanProblem_glycemiaProblem - in case human problem is due to glycaemia problem,
- s4auto:HumanProblem_heartProblem    - in case human problem is due to heart problem.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HumanProblemSubCauseCode"@en .

  s4auto:HumanProblem_glycemiaProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HumanProblem - glycemiaProblem"@en ;
    rdfs:comment "In case human problem is due to glycaemia problem"@en ;
    skos:broader s4auto:HumanProblem .

  s4auto:HumanProblem_heartProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HumanProblem - heartProblem"@en ;
    rdfs:comment "In case human problem is due to heart problem."@en ;
    skos:broader s4auto:HumanProblem .

s4auto:StationaryVehicle a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "StationaryVehicle"@en ;
  rdfs:comment """In case the type of event is stationary vehicle. 

The following narrower traffic event causes are defined:

- s4auto:StationaryVehicle_humanProblem           - in case stationary vehicle is due to health problem of driver or passenger,
- s4auto:StationaryVehicle_vehicleBreakdown       - in case stationary vehicle is due to vehicle break down,
- s4auto:StationaryVehicle_postCrash              - in case stationary vehicle is caused by collision,
- s4auto:StationaryVehicle_publicTransportStop    - in case public transport vehicle is stationary at bus stop,
- s4auto:StationaryVehicle_carryingDangerousGoods - in case the stationary vehicle is carrying dangerous goods,
- s4auto:StationaryVehicle_vehicleOnFire          - in case of vehicle on fire.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: StationaryVehicleSubCauseCode"@en .

  s4auto:StationaryVehicle_carryingDangerousGoods a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "StationaryVehicle - carryingDangerousGoods"@en ;
    rdfs:comment "In case the stationary vehicle is carrying dangerous goods"@en ;
    skos:broader s4auto:StationaryVehicle .

  s4auto:StationaryVehicle_humanProblem a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "StationaryVehicle - humanProblem"@en ;
    rdfs:comment "In case stationary vehicle is due to health problem of driver or passenger"@en ;
    skos:broader s4auto:StationaryVehicle .

  s4auto:StationaryVehicle_postCrash a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "StationaryVehicle - postCrash"@en ;
    rdfs:comment "In case stationary vehicle is caused by collision"@en ;
    skos:broader s4auto:StationaryVehicle .

  s4auto:StationaryVehicle_publicTransportStop a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "StationaryVehicle - publicTransportStop"@en ;
    rdfs:comment "In case public transport vehicle is stationary at bus stop"@en ;
    skos:broader s4auto:StationaryVehicle .

  s4auto:StationaryVehicle_vehicleBreakdown a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "StationaryVehicle - vehicleBreakdown"@en ;
    rdfs:comment "In case stationary vehicle is due to vehicle break down"@en ;
    skos:broader s4auto:StationaryVehicle .

  s4auto:StationaryVehicle_vehicleOnFire a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "StationaryVehicle - vehicleOnFire"@en ;
    rdfs:comment "In case of vehicle on fire."@en ;
    skos:broader s4auto:StationaryVehicle .

s4auto:EmergencyVehicleApproaching a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "EmergencyVehicleApproaching"@en ;
  rdfs:comment """In case the type of event is approaching vehicle operating emergency mission.

The following narrower traffic event causes are defined:

- s4auto:EmergencyVehicleApproaching_emergencyVehicleApproaching    - in case an operating emergency vehicle is approaching,
- s4auto:EmergencyVehicleApproaching_prioritizedVehicleApproaching  - in case a prioritized vehicle is approaching,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: EmergencyVehicleApproachingSubCauseCode"@en .

  s4auto:EmergencyVehicleApproaching_emergencyVehicleApproaching a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "EmergencyVehicleApproaching - emergencyVehicleApproaching"@en ;
    rdfs:comment "In case an operating emergency vehicle is approaching"@en ;
    skos:broader s4auto:EmergencyVehicleApproaching .

  s4auto:EmergencyVehicleApproaching_prioritizedVehicleApproaching a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "EmergencyVehicleApproaching - prioritizedVehicleApproaching"@en ;
    rdfs:comment "In case a prioritized vehicle is approaching"@en ;
    skos:broader s4auto:EmergencyVehicleApproaching .

s4auto:HazardousLocation-DangerousCurve a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "HazardousLocation-DangerousCurve"@en ;
  rdfs:comment """In case the type of event is dangerous curve.

The following narrower traffic event causes are defined:

- s4auto:HazardousLocation-DangerousCurve_dangerousLeftTurnCurve                              - in case the dangerous curve is a left turn curve,
- s4auto:HazardousLocation-DangerousCurve_dangerousRightTurnCurve                             - in case the dangerous curve is a right turn curve,
- s4auto:HazardousLocation-DangerousCurve_multipleCurvesStartingWithUnknownTurningDirection   - in case of multiple curves for which the starting curve turning direction is not known,
- s4auto:HazardousLocation-DangerousCurve_multipleCurvesStartingWithLeftTurn                  - in case of multiple curves starting with a left turn curve,
- s4auto:HazardousLocation-DangerousCurve_multipleCurvesStartingWithRightTurn                 - in case of multiple curves starting with a right turn curve.

The definition of whether a curve is dangerous may vary according to region and according to vehicle types/mass
and vehicle speed driving on the curve. This definition is out of scope of the present document."""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: HazardousLocation-DangerousCurveSubCauseCode"@en .

  s4auto:HazardousLocation-DangerousCurve_dangerousLeftTurnCurve a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-DangerousCurve - dangerousLeftTurnCurve"@en ;
    rdfs:comment "In case the dangerous curve is a left turn curve"@en ;
    skos:broader s4auto:HazardousLocation-DangerousCurve .

  s4auto:HazardousLocation-DangerousCurve_dangerousRightTurnCurve a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-DangerousCurve - dangerousRightTurnCurve"@en ;
    rdfs:comment "In case the dangerous curve is a right turn curve"@en ;
    skos:broader s4auto:HazardousLocation-DangerousCurve .

  s4auto:HazardousLocation-DangerousCurve_multipleCurvesStartingWithLeftTurn a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-DangerousCurve - multipleCurvesStartingWithLeftTurn"@en ;
    rdfs:comment "In case of multiple curves starting with a left turn curve"@en ;
    skos:broader s4auto:HazardousLocation-DangerousCurve .

  s4auto:HazardousLocation-DangerousCurve_multipleCurvesStartingWithRightTurn a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-DangerousCurve - multipleCurvesStartingWithRightTurn"@en ;
    rdfs:comment "In case of multiple curves starting with a right turn curve."@en ;
    skos:broader s4auto:HazardousLocation-DangerousCurve .

  s4auto:HazardousLocation-DangerousCurve_multipleCurvesStartingWithUnknownTurningDirection a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "HazardousLocation-DangerousCurve - multipleCurvesStartingWithUnknownTurningDirection"@en ;
    rdfs:comment "In case of multiple curves for which the starting curve turning direction is not known"@en ;
    skos:broader s4auto:HazardousLocation-DangerousCurve .

s4auto:CollisionRisk a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "CollisionRisk"@en ;
  rdfs:comment """In case the type of event is a collision risk.

The following narrower traffic event causes are defined:

- s4auto:CollisionRisk_longitudinalCollisionRisk - in case the type of detected collision risk is longitudinal collision risk, e.g. forward collision or face to face collision,
- s4auto:CollisionRisk_crossingCollisionRisk     - in case the type of detected collision risk is crossing collision risk,
- s4auto:CollisionRisk_lateralCollisionRisk      - in case the type of detected collision risk is lateral collision risk,
- s4auto:CollisionRisk_vulnerableRoadUser        - in case the type of detected collision risk involves vulnerable road users, e.g. pedestrians or bicycles.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: CollisionRiskSubCauseCode"@en .

  s4auto:CollisionRisk_crossingCollisionRisk a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "CollisionRisk - crossingCollisionRisk"@en ;
    rdfs:comment "In case the type of detected collision risk is crossing collision risk"@en ;
    skos:broader s4auto:CollisionRisk .

  s4auto:CollisionRisk_lateralCollisionRisk a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "CollisionRisk - lateralCollisionRisk"@en ;
    rdfs:comment "In case the type of detected collision risk is lateral collision risk"@en ;
    skos:broader s4auto:CollisionRisk .

  s4auto:CollisionRisk_longitudinalCollisionRisk a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "CollisionRisk - longitudinalCollisionRisk"@en ;
    rdfs:comment """In case the type of detected collision risk is longitudinal collision risk, 
  e.g. forward collision or face to face collision"""@en ;
    skos:broader s4auto:CollisionRisk .

  s4auto:CollisionRisk_vulnerableRoadUser a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "CollisionRisk - vulnerableRoadUser"@en ;
    rdfs:comment """In case the type of detected collision risk involves vulnerable road users
  e.g. pedestrians or bicycles."""@en ;
    skos:broader s4auto:CollisionRisk .

s4auto:SignalViolation a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "SignalViolation"@en ;
  rdfs:comment """In case the type of event is signal violation.

The following narrower traffic event causes are defined:

- s4auto:SignalViolation_stopSignViolation          - in case a stop sign violation is detected,
- s4auto:SignalViolation_trafficLightViolation      - in case a traffic light violation is detected,
- s4auto:SignalViolation_turningRegulationViolation - in case a turning regulation violation is detected.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: SignalViolationSubCauseCode"@en .

  s4auto:SignalViolation_stopSignViolation a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SignalViolation - stopSignViolation"@en ;
    rdfs:comment "In case a stop sign violation is detected"@en ;
    skos:broader s4auto:SignalViolation .

  s4auto:SignalViolation_trafficLightViolation a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SignalViolation - trafficLightViolation"@en ;
    rdfs:comment "In case a traffic light violation is detected"@en ;
    skos:broader s4auto:SignalViolation .

  s4auto:SignalViolation_turningRegulationViolation a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "SignalViolation - turningRegulationViolation"@en ;
    rdfs:comment "In case a turning regulation violation is detected."@en ;
    skos:broader s4auto:SignalViolation .

s4auto:DangerousSituation a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "DangerousSituation"@en ;
  rdfs:comment """In case the type of event is dangerous situation in which autonomous safety system in vehicle is activated.

The following narrower traffic event causes are defined:

- s4auto:DangerousSituation_emergencyElectronicBrakeEngaged   - in case emergency electronic brake is engaged,
- s4auto:DangerousSituation_preCrashSystemEngaged             - in case pre-crash system is engaged,
- s4auto:DangerousSituation_espEngaged                        - in case Electronic Stability Program (ESP) system is engaged,
- s4auto:DangerousSituation_absEngaged                        - in case Anti-lock Braking System (ABS) is engaged,
- s4auto:DangerousSituation_aebEngaged                        - in case Autonomous Emergency Braking (AEB) system is engaged,
- s4auto:DangerousSituation_brakeWarningEngaged               - in case brake warning is engaged,
- s4auto:DangerousSituation_collisionRiskWarningEngaged       - in case collision risk warning is engaged,
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: DangerousSituationSubCauseCode"@en .

  s4auto:DangerousSituation_absEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - absEngaged"@en ;
    rdfs:comment "In case Anti-lock Braking System (ABS) is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

  s4auto:DangerousSituation_brakeWarningEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - brakeWarningEngaged"@en ;
    rdfs:comment "In case brake warning is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

  s4auto:DangerousSituation_collisionRiskWarningEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - collisionRiskWarningEngaged"@en ;
    rdfs:comment "In case collision risk warning is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

  s4auto:DangerousSituation_ebEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - ebEngaged"@en ;
    rdfs:comment "In case Autonomous Emergency Braking (AEB) system is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

  s4auto:DangerousSituation_emergencyElectronicBrakeEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - emergencyElectronicBrakeEngaged"@en ;
    rdfs:comment "In case emergency electronic brake is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

  s4auto:DangerousSituation_espEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - espEngaged"@en ;
    rdfs:comment "In case Electronic Stability Program (ESP) system is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

  s4auto:DangerousSituation_preCrashSystemEngaged a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "DangerousSituation - preCrashSystemEngaged"@en ;
    rdfs:comment "In case pre-crash system is engaged"@en ;
    skos:broader s4auto:DangerousSituation .

s4auto:RailwayLevelCrossing a owl:NamedIndividual , s4auto:TrafficEventCause ;
  rdfs:label "RailwayLevelCrossing"@en ;
  rdfs:comment """In case the type of event is a railway level crossing.

The following narrower traffic event causes are defined:

- s4auto:RailwayLevelCrossing_doNotCrossAbnormalSituation    - in case when something wrong is detected by equation or sensors of the railway level crossing, including level crossing is closed for too long (e.g. more than 10 minutes long ; default value),
- s4auto:RailwayLevelCrossing_closed                         - in case the crossing is closed (barriers down),
- s4auto:RailwayLevelCrossing_unguarded                      - in case the level crossing is unguarded (i.e a Saint Andrew cross level crossing without detection of train),
- s4auto:RailwayLevelCrossing_nominal                        - in case the barriers are up and lights are off.
"""@en ;
  skos:historyNote "Adapted from ETSI TS 102 894-2 - ITS Common Data Dictionary (CDD) V2.1.1: RailwayLevelCrossingSubCauseCode"@en .

  s4auto:RailwayLevelCrossing_closed a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RailwayLevelCrossing - closed"@en ;
    rdfs:comment "In case the crossing is closed (barriers down)"@en ;
    skos:broader s4auto:RailwayLevelCrossing .

  s4auto:RailwayLevelCrossing_doNotCrossAbnormalSituation a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RailwayLevelCrossing - doNotCrossAbnormalSituation"@en ;
    rdfs:comment """In case when something wrong is detected by equation or sensors of the railway level crossing, 
  including level crossing is closed for too long (e.g. more than 10 minutes long ; default value)"""@en ;
    skos:broader s4auto:RailwayLevelCrossing .

  s4auto:RailwayLevelCrossing_nominal a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RailwayLevelCrossing - nominal"@en ;
    rdfs:comment "In case the barriers are up and lights are off."@en ;
    skos:broader s4auto:RailwayLevelCrossing .

  s4auto:RailwayLevelCrossing_unguarded a owl:NamedIndividual , s4auto:TrafficEventCause ;
    rdfs:label "RailwayLevelCrossing - unguarded"@en ;
    rdfs:comment "In case the level crossing is unguarded (i.e a Saint Andrew cross level crossing without detection of train)"@en ;
    skos:broader s4auto:RailwayLevelCrossing .

