PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX s4auto: <https://saref.etsi.org/saref4auto/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

s4auto:TrafficLightController a rdfs:Class ;
  rdfs:label "TrafficLight"@en ;
  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:subClassOf s4auto:RoadSideActuator .

s4auto:usesMeasurement a rdf:Property ;
  rdfs:label "usesMeasurement"@en ;
  rdfs:comment "A relation to express that a device can use different types of measurements, such as speed, position of detected road objects (e.g., bicycles, vehicles). This applies in particular to the ElectronicControlUnit and TrafficLightController classes."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://saref.etsi.org/core/controlsProperty> a rdf:Property ;
  rdfs:label "controls property"@en ;
  rdfs:comment "A relationship specifying the property that can be controlled by a certain device"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/measuresProperty> a rdf:Property ;
  rdfs:label "measures property"@en ;
  rdfs:comment "A relationship specifying the property that can be measured by a certain device"@en ;
  rdfs:domain <https://saref.etsi.org/core/Device> ;
  rdfs:range <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/makesMeasurement> a rdf:Property ;
  rdfs:label "makes measurement"@en ;
  rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ;
  rdfs:range <https://saref.etsi.org/core/Measurement> .

s4auto:Role a rdfs:Class ;
  rdfs:label "Role"@en ;
  rdfs:comment "The role that can be assumed by a vehicle or a platoon"@en .

s4auto:Shape a rdfs:Class ;
  rdfs:label "Shape"@en ;
  rdfs:comment "A Property of interest for the automotive domain. It defines the overall shape of an entity: i.e., Sphere, Torus, Cylinder, Cone, Ellipsoid, Cube, Cuboid, Pyramid, Prism, Multiple shapes"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/relatesToMeasurement> a rdf:Property ;
  rdfs:label "relates to measurement"@en ;
  rdfs:comment "A relationship between a property and the measurements it relates to"@en ;
  rdfs:range <https://saref.etsi.org/core/Measurement> .

<https://saref.etsi.org/core/isMeasuredByDevice> a rdf:Property ;
  rdfs:label "is measured by device"@en ;
  rdfs:comment "A relationship specifying the devices that can measure a certain property"@en ;
  rdfs:range <https://saref.etsi.org/core/Device> .

<https://saref.etsi.org/core/isControlledByDevice> a rdf:Property ;
  rdfs:label "is controlled by device"@en ;
  rdfs:comment "A relationship specifying the devices that can control a certain property"@en ;
  rdfs:range <https://saref.etsi.org/core/Device> .

s4auto:ElectronicControlUnit a rdfs:Class ;
  rdfs:label "ElectronicControlUnit"@en ;
  rdfs:comment "An electronic control unit (ECU) is any embedded system in automotive electronics that monitors and controls one or more of the electrical systems or subsystems in a vehicle. The ECU provides measurements about relevant properties of the vehicle, such as speed, acceleration, position, etc."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> , <https://saref.etsi.org/saref4syst/System> .

<https://saref.etsi.org/saref4syst/subSystemOf> a rdf:Property ;
  rdfs:label "subSystemOf"@en ;
  rdfs:comment "Links a system to its super system. Properties of subsystems somehow contribute to the properties of the super system. The exact meaning of \"contribute is defined by sub properties of s4syst:subSystemOf. Property s4syst:subSystemOf is transitive."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:detectsPosition a rdf:Property ;
  rdfs:label "detects position"@en ;
  rdfs:comment "A relationship specifying the position (absolute or relative position) that can be detected by a certain device"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:Tram a rdfs:Class ;
  rdfs:label "tram"@en ;
  rdfs:comment "A type of public transport"@en ;
  rdfs:subClassOf s4auto:PublicTransport .

s4auto:hasRoute a rdf:Property ;
  rdfs:label "hasRoute"@en ;
  rdfs:comment "A relation to express the route of an entity, e.g., a vehicle or a platoon"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasAbsolutePosition a rdf:Property ;
  rdfs:label "hasAbsolutePosition"@en ;
  rdfs:comment "A relation between an entity, e.g., a vehicle or road entity, and AbsolutePosition to represent its absolute position"@en ;
  rdfs:range s4auto:RelativePosition ;
  rdfs:subPropertyOf s4auto:hasPosition .

s4auto:hasEnvironment a rdf:Property ;
  rdfs:label "hasEnvironment"@en ;
  rdfs:comment "A relation that allows to describe the environment of a vehicle"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasEstimatedRendezvousLocation a rdf:Property ;
  rdfs:label "hasEstimatedRendezvousLocation"@en ;
  rdfs:comment "A relation to express that, during the forming state, a vehicle member of a platoon is given an estimated rendezvous location for joining the platoon. It is expressed in global coordinates (lat, long, alt), e.g. according to WGS 84."@en ;
  rdfs:range s4auto:RendezvousLocation .

s4auto:hasEstimatedJoiningTime a rdf:Property ;
  rdfs:label "hasEstimatedJoiningTime"@en ;
  rdfs:comment "A relation to express that, during the forming state, a vehicle member of a platoon is given an estimated time for joining"@en ;
  rdfs:range xsd:dateTime .

<https://saref.etsi.org/core/hasProperty> a rdf:Property ;
  rdfs:label "controls property"@en ;
  rdfs:comment "A relationship between a feature of interest and a property of that feature"@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4auto:hasVehicleRole a rdf:Property ;
  rdfs:label "hasVehicleRole"@en ;
  rdfs:comment "A relation between Vehicle and VehicleRole classes, to express the role the vehicle plays in traffic. If not specified, it is assumed that it takes a default value. Otherwise, possible values to be specified are: publicTransport, specialTransport, dangerousGoods, roadWork, rescue, emergency, safetyCar, agriculture, commercial, military, roadOperator, taxi (see ETSI TR 103 508)."@en ;
  rdfs:range s4auto:Role ;
  rdfs:subPropertyOf s4auto:hasRole .

s4auto:hasDestinationAddress a rdf:Property ;
  rdfs:label "hasDestinationAddress"@en ;
  rdfs:comment "A relation to express the destination of a vehicle in terms of an Address"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:hasDestination .

s4auto:hasAutomationLevel a rdf:Property ;
  rdfs:label "hasAutomationLevel"@en ;
  rdfs:comment """A relation to define the level of automation of a singular vehicle. According to SAE J3016, there are five levels of automation:
- 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 ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:isMemberOfPlatoon a rdf:Property ;
  rdfs:label "isMemberOfPlatoon"@en ;
  rdfs:comment "A relation to express that a vehicle can be member of  a platoon"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:isMemberOf .

s4auto:hasWidth a rdf:Property ;
  rdfs:label "hasWidth"@en ;
  rdfs:comment "A relation to express the width of an entity, e.g., a vehicle or an entity in the vehicle environment"@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasProperty> .

s4auto:hasPlatoonPosition a rdf:Property ;
  rdfs:label "hasPlatoonPosition"@en ;
  rdfs:comment "A relatiA relation to express that a vehicle member of a platoon has a platoon position that is defined as the index of the vehicle in the platoon starting from zero (leader) up to N (trailing vehicle)"@en ;
  rdfs:range s4auto:RelativePosition ;
  rdfs:subPropertyOf s4auto:hasPosition .

s4auto:hasHeight a rdf:Property ;
  rdfs:label "hasHeight"@en ;
  rdfs:comment "A relation to express the height of an entity, e.g., a vehicle or an entity in the vehicle environment"@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasProperty> .

s4auto:hasBrakeCapacity a rdf:Property ;
  rdfs:label "hasBrakeCapacity"@en ;
  rdfs:comment "A relation to express that the vehicle has the capacity to reduce its speed (by action on the brake pedal or an autonomous actuator)"@en ;
  rdfs:range s4auto:BrakeCapacity .

s4auto:hasDestinationEndPoint a rdf:Property ;
  rdfs:label "hasDestinationEndPoint"@en ;
  rdfs:comment "A relation to express the destination of a vehicle, a platoon or a route in terms of an end point with latitude and longitude"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:hasDestination .

s4auto:hasPlatoonVehicleState a rdf:Property ;
  rdfs:label "hasPlatoonVehicleState"@en ;
  rdfs:comment "A relation to express the state of a vehicle in a platoon"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:hasState .

s4auto:hasRelativePosition a rdf:Property ;
  rdfs:label "hasPlatoonPosition"@en ;
  rdfs:comment "A relation between an entity, e.g., a vehicle or road entity, and RelativePosition to represent its relative position (e.g., a car is x,y,z in front of another car)"@en ;
  rdfs:range s4auto:RelativePosition ;
  rdfs:subPropertyOf s4auto:hasPosition .

s4auto:hasPlatoonRole a rdf:Property ;
  rdfs:label "hasPlatoonRole"@en ;
  rdfs:comment "A relation to specify that in a platoon a vehicle can assume roles such as: unknown, leader, follower, ready-for-leading, trailing, etc."@en ;
  rdfs:range s4auto:Role ;
  rdfs:subPropertyOf s4auto:hasRole .

s4auto:hasParkingVehicleState a rdf:Property ;
  rdfs:label "hasParkingVehicleState"@en ;
  rdfs:comment "A relation to express the state of a vehicle that is parking"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:hasState .

<https://saref.etsi.org/saref4syst/hasSubSystem> a rdf:Property ;
  rdfs:label "hasSubSystem"@en ;
  rdfs:comment "Links a system to one of its sub systems"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:isMemberOfVehicleEnvironment a rdf:Property ;
  rdfs:label "isMemberOfVehicleEnvironment"@en ;
  rdfs:comment "A relation to express that an entity, e.g., a vehicle, can be member of  another vehicle's environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:isMemberOf .

s4auto:hasLength a rdf:Property ;
  rdfs:label "hasLength"@en ;
  rdfs:comment "A relation to express the length of an entity, e.g., a vehicle or an entity in the vehicle environment or a platoon (Length of the platoon is the sum of all vehicles' length + inter-vehicle distance)"@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasProperty> .

s4auto:hasRoadTopologyPosition a rdf:Property ;
  rdfs:label "hasRoadTopologyPosition"@en ;
  rdfs:comment "A relation between Vehicle and RoadTopologyPosition to represent the road topology position of a vehicle"@en ;
  rdfs:range s4auto:RelativePosition ;
  rdfs:subPropertyOf s4auto:hasPosition .

s4auto:hasIdentifier a rdf:Property ;
  rdfs:label "hasIdentifier"@en ;
  rdfs:comment "A relation between an entity and its identifier (s4auto:Identifier) which is used to identify 1) a vehicle (station) during data exchange with other devices/stations 2) a platoon during data exchange with other devices/stations, 3) a parking spot within a parking area during data exchange with other devices/stations. In all cases, this identifier may be a pseudonym. It may change over space and/or over time."@en ;
  rdfs:range s4auto:Identifier .

s4auto:PublicTransport a rdfs:Class ;
  rdfs:label "publicTransport"@en ;
  rdfs:comment "A type of vehicle role"@en ;
  rdfs:subClassOf s4auto:Vehicle .

s4auto:PlatoonPosition a rdfs:Class ;
  rdfs:label "PlatoonPosition"@en ;
  rdfs:comment "A vehicle member of a platoon has a platoon position that is defined as the index of the vehicle in the platoon starting from zero (leader) up to N (trailing vehicle)."@en ;
  rdfs:subClassOf s4auto:Position .

s4auto:hasPlatoonIndex a rdf:Property ;
  rdfs:label "hasPlatoonIndex"@en ;
  rdfs:comment "A relation to express the index of the vehicle in the platoon starting from zero (leader) up to N (trailing vehicle)"@en ;
  rdfs:range xsd:int .

s4auto:hasConfidence a rdf:Property ;
  rdfs:label "hasConfidence"@en ;
  rdfs:comment "A relation between an estimated measurement (saref:Measurement class) and its confidence (s4auto:Confidence)"@en ;
  rdfs:range s4auto:Confidence .

s4auto:AbsoluteSpeed a rdfs:Class ;
  rdfs:label "AbsoluteSpeed"@en ;
  rdfs:comment "A type of speed"@en ;
  rdfs:subClassOf s4auto:Speed .

s4auto:Assembling a rdfs:Class ;
  rdfs:label "assembling"@en ;
  rdfs:comment "A type of state for Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonState .

<https://saref.etsi.org/core/hasTimestamp> a rdf:Property ;
  rdfs:label "has timestamp"@en ;
  rdfs:comment "A relationship stating the timestamp of an entity (e.g. a measurement)."@en ;
  rdfs:range <https://w3id.org/linkml/Any> , xsd:dateTime .

s4auto:LengthUnit a rdfs:Class ;
  rdfs:label "length unit"@en ;
  rdfs:comment "unit of measure of lenght"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/UnitOfMeasure> .

s4auto:EndPoint a rdfs:Class ;
  rdfs:label "EndPoint"@en ;
  rdfs:comment "The final destination of a vehicle or a platoon, or the final point of a route"@en ;
  rdfs:subClassOf s4auto:Point .

<http://www.w3.org/2003/01/geo/wgs84_pos#alt> a rdf:Property ;
  rdfs:label "altitude"@en ;
  rdfs:comment """The WGS84 altitude of a SpatialThing (decimal meters 
above the local reference ellipsoid)."""@en ;
  rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/01/geo/wgs84_pos#lat> a rdf:Property ;
  rdfs:label "latitude"@en ;
  rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)."@en ;
  rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/01/geo/wgs84_pos#long> a rdf:Property ;
  rdfs:label "longitude"@en ;
  rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)."@en ;
  rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://saref.etsi.org/core/Actuator> a rdfs:Class ;
  rdfs:label "Actuator"@en ;
  rdfs:comment "A device responsible for moving or controlling a mechanism or system."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

<http://www.w3.org/2006/time#Instant> a rdfs:Class ;
  rdfs:label "Instant"@en ;
  rdfs:comment "A temporal entity with zero extent or duration"@en ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

<http://www.w3.org/2006/time#inXSDDateTimeStamp> a rdf:Property ;
  rdfs:label "inXSDDateTimeStamp"@en ;
  rdfs:comment "Position of an instant, expressed using xsd:dateTimeStamp"@en ;
  rdfs:domain <http://www.w3.org/2006/time#Instant> ;
  rdfs:range xsd:dateTimeStamp .

<http://www.w3.org/2006/time#hasEnd> a rdf:Property ;
  rdfs:label "hasEnd"@en ;
  rdfs:comment "End of a temporal entity."@en ;
  rdfs:domain <http://www.w3.org/2006/time#TemporalEntity> ;
  rdfs:range <http://www.w3.org/2006/time#Instant> .

<http://www.w3.org/2006/time#hasBeginning> a rdf:Property ;
  rdfs:label "hasBeginning"@en ;
  rdfs:comment "Beginning of a temporal entity"@en ;
  rdfs:domain <http://www.w3.org/2006/time#TemporalEntity> ;
  rdfs:range <http://www.w3.org/2006/time#Instant> .

s4auto:AutomationLevel a rdfs:Class ;
  rdfs:label "AutomationLevel"@en ;
  rdfs:comment "The level of automation a platoon of vehicles or a singular vehicle"@en .

s4auto:RoadObject a rdfs:Class ;
  rdfs:label "RoadObject"@en ;
  rdfs:comment "Road side sensors measure properties (such as speed, position, dimension, direction, etc.) of road objects. Types of relevant road objects are Pedestrian, vehicles, obstacles, traffic signs, etc."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> .

s4auto:YawRate a rdfs:Class ;
  rdfs:label "YawRate"@en ;
  rdfs:comment "A type of heading"@en ;
  rdfs:subClassOf s4auto:Heading .

s4auto:AccelerationConfidence a rdfs:Class ;
  rdfs:label "AccelerationConfidence"@en ;
  rdfs:comment "A type of confidence for acceleration measurements that represents the absolute accuracy of a reported vehicle acceleration value with a predefined confidence level (e.g. 95 %)"@en ;
  rdfs:subClassOf s4auto:Confidence .

s4auto:hasConfidenceValue a rdf:Property ;
  rdfs:label "hasConfidenceValue"@en ;
  rdfs:comment "A relation between the confidence (s4auto:Confidence) and its value, which can be a discrete value (+/- 5 cm/s) or a level (e.g. 95 %)"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasConfidenceUnitOfMeasure a rdf:Property ;
  rdfs:label "has confidence unit of measure"@en ;
  rdfs:comment "A relation that allows to specify the unit of measure associated with a certain confidence"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.opengis.net/ont/geosparql#Geometry> a rdfs:Class ;
  rdfs:label "Geometry"@en ;
  rdfs:comment """The class represents the top-level geometry type. This class is 
      equivalent to the UML class GM_Object defined in ISO 19107, and 
      it is superclass of all geometry types."""@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

s4auto:TrafficManagementCentre a rdfs:Class ;
  rdfs:label "TrafficManagementCentre"@en ;
  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:subClassOf s4auto:AutomotiveObject .

s4auto:DrivingToPickUpSpot a rdfs:Class ;
  rdfs:label "Driving To Pick Up Spot"@en ;
  rdfs:comment "A type of state for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingVehicleState .

s4auto:Parked a rdfs:Class ;
  rdfs:label "parked"@en ;
  rdfs:comment "A type of state for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingVehicleState .

s4auto:P4Animal a rdfs:Class ;
  rdfs:label "P4 Animal"@en ;
  rdfs:comment "VRU Profile 4 animals presenting a safety risk to other road users, for example : dogs, wild animals, horses, cows, sheep, kangaroos, etc."@en ;
  rdfs:subClassOf s4auto:VulnerableRoadUser .

s4auto:hasMovement a rdf:Property ;
  rdfs:label "hasMovement"@en ;
  rdfs:comment "A relation to express the movement of an entity in the vehicle environment."@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasProperty> .

s4auto:LightTruck a rdfs:Class ;
  rdfs:label "LightTruck"@en ;
  rdfs:comment "A type of truck"@en ;
  rdfs:subClassOf s4auto:Truck .

s4auto:Vehicle a rdfs:Class ;
  rdfs:label "Vehicle"@en ;
  rdfs:comment "A vehicle is the main object of interest in the automotive domain. Example of types of vehicles are car, truck, public transport and two-wheeler. See ETSI TS 102 894-2 spec for full list of vehicles, which are type of \"stations\". See also the SENSORIS data model for possible type of vehicles. The main IoT device considered in the vehicle is the ECU (part of the vehicle on board equipment, or OBE), see s4auto:ElectronicControlUnit class."@en ;
  rdfs:subClassOf s4auto:AutomotiveObject , <https://saref.etsi.org/core/FeatureOfInterest> , <https://saref.etsi.org/saref4syst/System> .

s4auto:RoadSideSensor a rdfs:Class ;
  rdfs:label "RoadSideSensor"@en ;
  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:subClassOf <https://saref.etsi.org/core/Sensor> .

s4auto:Free a rdfs:Class ;
  rdfs:label "free"@en ;
  rdfs:comment "A type of state for Parking Spot"@en ;
  rdfs:subClassOf s4auto:ParkingSpotState .

s4auto:RendezvousLocation a rdfs:Class ;
  rdfs:label "RendezvousLocation"@en ;
  rdfs:comment "It is the estimated location where the vehicle member joins the platoon. It is expressed in global coordinates (lat, long, alt), e.g. according to WGS 84."@en ;
  rdfs:subClassOf s4auto:Point .

s4auto:AtDropOffSpot a rdfs:Class ;
  rdfs:label "At Drop Off Spot"@en ;
  rdfs:comment "A type of state for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingVehicleState .

s4auto:Length a rdfs:Class ;
  rdfs:label "Length"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Address a rdfs:Class ;
  rdfs:label "Address"@en ;
  rdfs:comment "A class to define common information related to 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 .

s4auto:Position a rdfs:Class ;
  rdfs:label "Position"@en ;
  rdfs:comment "The position of an entity in the automotive domain"@en .

s4auto:Point a rdfs:Class ;
  rdfs:label "Point"@en ;
  rdfs:comment "A geo point in SAREF4AUTO"@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> , <http://www.w3.org/2003/01/geo/wgs84_pos#Point> .

s4auto:AtPickUpSpot a rdfs:Class ;
  rdfs:label "At Pick Up Spot"@en ;
  rdfs:comment "A type of state for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingVehicleState .

s4auto:Searching a rdfs:Class ;
  rdfs:label "Searching"@en ;
  rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonVehicleState .

s4auto:Width a rdfs:Class ;
  rdfs:label "Width"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Size a rdfs:Class ;
  rdfs:label "Size"@en ;
  rdfs:comment "A Property of interest for the automotive domain. A platoon has a size. Tis size is defined as 1) the total number of vehicles currently in the platoon; or 2) Length of the platoon (sum of all vehicles' length + inter-vehicle distance)"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Forming a rdfs:Class ;
  rdfs:label "forming"@en ;
  rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonVehicleState .

s4auto:Occupied a rdfs:Class ;
  rdfs:label "occupied"@en ;
  rdfs:comment "A type of state for Parking Spot"@en ;
  rdfs:subClassOf s4auto:ParkingSpotState .

s4auto:Route a rdfs:Class ;
  rdfs:label "Route"@en ;
  rdfs:comment "The route of a vehicle or of a platoon. The route of a platoon is defined as the route of the current vehicle leader in the platoon that other follower vehicles (partially) share"@en .

s4auto:hasOrigin a rdf:Property ;
  rdfs:label "hasOrigin"@en ;
  rdfs:comment "A relation to express the origin of an entity (e.g., a vehicle or a route)  in terms of a StartPoint"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:isCollectionOf a rdf:Property ;
  rdfs:label "isCollectionOf"@en ;
  rdfs:comment "A relation to express the intermediate destination of a route (e.g., of a vehicle or a platoon) in terms of RoutePoint"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:RelativePosition a rdfs:Class ;
  rdfs:label "RelativePosition"@en ;
  rdfs:comment "It represents the relative position of a vehicle (e.g., a car is x,y,z in front of another car)"@en ;
  rdfs:subClassOf s4auto:Position .

s4auto:hasCoordinateX a rdf:Property ;
  rdfs:label "hasCoordinateX"@en ;
  rdfs:comment "A relation to define the X coordinate of a relative position"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasCoordinateY a rdf:Property ;
  rdfs:label "hasCoordinateY"@en ;
  rdfs:comment "A relation to define the Y coordinate of a relative position"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasCoordinateZ a rdf:Property ;
  rdfs:label "hasCoordinateY"@en ;
  rdfs:comment "A relation to define the Z coordinate of a relative position"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://saref.etsi.org/core/Device> a rdfs:Class ;
  rdfs:label "Device"@en ;
  rdfs:comment "A tangible object designed to accomplish a particular task in households, common public buildings or offices. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function. Devices can be structured in categories (subclasses) that reflect the different domain in which a device is used, e.g., smart appliances domain (subclass FunctionRelated) vs. building domain (subclass BuildingRelated) vs. smart grid domain (subclass EnergyRelated). New categories can be defined,if needed, to reflect other differences, for example different points of view, such as the point of view of the device's user vs. the point of view of the device's manufacturer. We propose a list of devices that are relevant for the purpose of SAREF, but this list can be extended."@en .

s4auto:MediumObject a rdfs:Class ;
  rdfs:label "Medium Object"@en ;
  rdfs:comment "A type of Critical Object"@en ;
  rdfs:subClassOf s4auto:CriticalObject .

s4auto:hasShape a rdf:Property ;
  rdfs:label "hasShape"@en ;
  rdfs:comment "A relation to express the shape of an entity in the vehicle environment."@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasProperty> .

s4auto:RoadEntity a rdfs:Class ;
  rdfs:label "RoadEntity"@en ;
  rdfs:comment "An entity present on the road in the neighbouring area of a vehicle"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> .

s4auto:consistsOfObject a rdf:Property ;
  rdfs:label "consists of object"@en ;
  rdfs:comment "A relation to describe the objects that can compose the vehicle environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/consistsOf> .

s4auto:consistsOfEquipment a rdf:Property ;
  rdfs:label "consists of equipment"@en ;
  rdfs:comment "A relation to describe the type of equipment that can compose the vehicle environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/consistsOf> .

s4auto:consistsOfUser a rdf:Property ;
  rdfs:label "consists of user"@en ;
  rdfs:comment "A relation to describe the users that can compose the vehicle environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/consistsOf> .

s4auto:consistsOfEvent a rdf:Property ;
  rdfs:label "consists of event"@en ;
  rdfs:comment "A relation to describe the events that can compose the vehicle environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/consistsOf> .

<http://www.opengis.net/ont/geosparql#SpatialObject> a rdfs:Class ;
  rdfs:label "SpatialObject"@en ;
  rdfs:comment """The class spatial-object represents everything that can have 
      a spatial representation. It is superclass of feature and geometry."""@en .

s4auto:UUID a rdfs:Class ;
  rdfs:label "UUID"@en ;
  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:subClassOf s4auto:Identifier .

s4auto:hasIDValue a rdf:Property ;
  rdfs:label "hasIDValue"@en ;
  rdfs:comment "A relationship to define the value of an indentifier"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> a rdfs:Class ;
  rdfs:label "Spatial Thing"@en ;
  rdfs:comment """Anything with spatial extent, i.e. size, shape, or position.
 e.g. people, places, bowling balls, as well as abstract areas like cubes."""@en .

s4auto:PersonalDevice a rdfs:Class ;
  rdfs:label "PersonalDevice"@en ;
  rdfs:comment "A personal device is a nomadic device used by a pedestrian or the rider of a two-wheeler. A personal device in modelled as a different type of automotive object, as it normally does not have access to the vehicle CAN bus."@en ;
  rdfs:subClassOf s4auto:AutomotiveObject , <https://saref.etsi.org/core/Device> .

<http://www.w3.org/2006/time#Interval> a rdfs:Class ;
  rdfs:label "Interval"@en ;
  rdfs:comment "A temporal entity with an extent or duration"@en ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

s4auto:ParkingSpotState a rdfs:Class ;
  rdfs:label "ParkingSpotState"@en ;
  rdfs:comment "A parking spot has a state. Possible values for parking spot state are Free, occupied, reserved, closed, charging"@en ;
  rdfs:subClassOf s4auto:State .

s4auto:Speed a rdfs:Class ;
  rdfs:label "Speed"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:CriticalObject a rdfs:Class ;
  rdfs:label "CriticalObject"@en ;
  rdfs:comment "A critical object located on the road. Critical objects are small object, medium object, large object"@en .

s4auto:WidthUnit a rdfs:Class ;
  rdfs:label "width unit"@en ;
  rdfs:comment "unit of measure of width"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/UnitOfMeasure> .

s4auto:PlatoonVehicleState a rdfs:Class ;
  rdfs:label "PlatoonVehicleState"@en ;
  rdfs:comment "Examples of states for a vehicle in a platoon are: unknown, standalone, engaging, platooning, disengaging, searching, forming."@en ;
  rdfs:subClassOf s4auto:State .

s4auto:PlatoonState a rdfs:Class ;
  rdfs:label "PlatoonState"@en ;
  rdfs:comment "The state of a platoon. Examples of states for a platoon are: unknown, standalone, assembling, platooning, disengaging, etc."@en ;
  rdfs:subClassOf s4auto:State .

s4auto:RoutePoint a rdfs:Class ;
  rdfs:label "RoutePoint"@en ;
  rdfs:comment "The intermediate points of a route"@en ;
  rdfs:subClassOf s4auto:Point .

s4auto:DrivingToParkingSpot a rdfs:Class ;
  rdfs:label "Driving To Parking Spot"@en ;
  rdfs:comment "A type of state for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingVehicleState .

s4auto:AngularDirection a rdfs:Class ;
  rdfs:label "AngularDirection"@en ;
  rdfs:comment "A type of heading"@en ;
  rdfs:subClassOf s4auto:Heading .

<https://saref.etsi.org/core/State> a rdfs:Class ;
  rdfs:label "State"@en ;
  rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended."@en .

s4auto:VehicleEnvironment a rdfs:Class ;
  rdfs:label "VehicleEnvironment"@en ;
  rdfs:comment "The vehicle environment is made of entities which are present on the road in the area around the vehicle"@en .

s4auto:consistsOfVehicle a rdf:Property ;
  rdfs:label "consists of vehicle"@en ;
  rdfs:comment "A relation to decribe the vehicles that can compose the vehicle environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/consistsOf> .

s4auto:consistsOfEntity a rdf:Property ;
  rdfs:label "consists Of Entity"@en ;
  rdfs:comment "A relation to describe the entities that can compose the vehicle environment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/consistsOf> .

s4auto:Closed a rdfs:Class ;
  rdfs:label "closed"@en ;
  rdfs:comment "A type of state for Parking Spot"@en ;
  rdfs:subClassOf s4auto:ParkingSpotState .

s4auto:HeavyTruck a rdfs:Class ;
  rdfs:label "HeavyTruck"@en ;
  rdfs:comment "A type of truck"@en ;
  rdfs:subClassOf s4auto:Truck .

s4auto:Charging a rdfs:Class ;
  rdfs:label "charging"@en ;
  rdfs:comment "A type of state for Parking Spot or for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingSpotState , s4auto:ParkingVehicleState .

s4auto:Weight a rdfs:Class ;
  rdfs:label "Weight"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:PerceptionState a rdfs:Class ;
  rdfs:label "perception state"@en ;
  rdfs:comment "A state of the vehicle related to its environment"@en ;
  rdfs:subClassOf s4auto:State .

s4auto:ParkingVehicleState a rdfs:Class ;
  rdfs:label "ParkingVehicleState"@en ;
  rdfs:comment "A vehicle can be found at different states (or parking phases) during parking . Possible values for parking state (or parking phase) of a vehicle are: At drop-off spot, at pick-up spot, driving to parking spot, driving to pick up spot, parking, parked, charging."@en ;
  rdfs:subClassOf s4auto:State .

s4auto:CardinalityUnit a rdfs:Class ;
  rdfs:label "cardinality unit"@en ;
  rdfs:comment "unit of measure of size"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/UnitOfMeasure> .

s4auto:Platooning a rdfs:Class ;
  rdfs:label "platooning"@en ;
  rdfs:comment "A type of state for Platoon or for a Vehicle in a Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonState , s4auto:PlatoonVehicleState .

s4auto:SpeedUnit a rdfs:Class ;
  rdfs:label "speed unit"@en ;
  rdfs:comment "unit of measure of speed"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/UnitOfMeasure> .

<https://saref.etsi.org/saref4syst/System> a rdfs:Class ;
  rdfs:label "System"@en ;
  rdfs:comment "The class of systems, i.e., systems virtually isolated from the environment, whose behaviour and interactions with the environment are modeled. Systems can be connected to other systems. Connected systems interact in some ways. Systems can also have subsystems. Properties of subsystems somehow contribute to the properties of the supersystem"@en .

s4auto:VulnerableRoadUser a rdfs:Class ;
  rdfs:label "VulnerableRoadUser"@en ;
  rdfs:comment "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 .

s4auto:AbsolutePosition a rdfs:Class ;
  rdfs:label "AbsolutePosition"@en ;
  rdfs:comment "The absolute poistion of an automotive object in terms of lat, long and lat"@en ;
  rdfs:subClassOf s4auto:Point , s4auto:Position .

s4auto:Disengaging a rdfs:Class ;
  rdfs:label "disengaging"@en ;
  rdfs:comment "A type of state for Platoon or for a Vehicle in a Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonState , s4auto:PlatoonVehicleState .

s4auto:RoadSideEquipment a rdfs:Class ;
  rdfs:label "RoadSideEquipment"@en ;
  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."@en ;
  rdfs:subClassOf s4auto:AutomotiveObject .

s4auto:BrakeCapacity a rdfs:Class ;
  rdfs:label "BrakeCapacity"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Standalone a rdfs:Class ;
  rdfs:label "standalone"@en ;
  rdfs:comment "A type of state for Platoon or for a Vehicle in a Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonState , s4auto:PlatoonVehicleState .

<https://saref.etsi.org/core/Sensor> a rdfs:Class ;
  rdfs:label "Sensor"@en ;
  rdfs:comment "A device that detects and responds to events or changes in the physical environment such as light, motion, or temperature changes. A device that has category saref:Sensor and performs a saref:SensingFunction."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> .

s4auto:LateralAcceleration a rdfs:Class ;
  rdfs:label "Lateral Acceleration"@en ;
  rdfs:comment "A type of acceleration"@en ;
  rdfs:subClassOf s4auto:Acceleration .

<http://www.w3.org/2006/time#TemporalEntity> a rdfs:Class ;
  rdfs:label "TemporaryEntity"@en ;
  rdfs:comment "A temporal interval or instant."@en .

s4auto:SpecialPermitParkingSpot a rdfs:Class ;
  rdfs:label "SpecialPermitParkingSpot"@en ;
  rdfs:comment "A type pf parking spot. Parking spot reserved for special permits (authorities, disabled, blue Zone, resident ...)"@en ;
  rdfs:subClassOf s4auto:ParkingSpot .

<http://www.opengis.net/ont/geosparql#hasGeometry> a rdf:Property ;
  rdfs:comment "A spatial representation for a given feature."@en ;
  rdfs:domain <http://www.opengis.net/ont/geosparql#Feature> ;
  rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> .

s4auto:hasOpeningTimeAvailability a rdf:Property ;
  rdfs:label "hasOpeningTimeAvailability"@en ;
  rdfs:comment "A relation to express the opening time of parking spot"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasDescriptionName a rdf:Property ;
  rdfs:label "hasDescriptionName"@en ;
  rdfs:comment "A relation to define that a parking spot can have a description name"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:LargeObject a rdfs:Class ;
  rdfs:label "Large Object"@en ;
  rdfs:comment "A type of Critical Object"@en ;
  rdfs:subClassOf s4auto:CriticalObject .

s4auto:P3Motorcyclist a rdfs:Class ;
  rdfs:label "P3 Motorcyclist"@en ;
  rdfs:comment "VRU Profile 3 users are Motorcyclists, 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:subClassOf s4auto:VulnerableRoadUser .

s4auto:VehicleAutomationLevel a rdfs:Class ;
  rdfs:label "VehicleAutomationLevel"@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 ;
  rdfs:subClassOf s4auto:AutomationLevel .

s4auto:SmallObject a rdfs:Class ;
  rdfs:label "Small Object"@en ;
  rdfs:comment "A type of Critical Object"@en ;
  rdfs:subClassOf s4auto:CriticalObject .

s4auto:Heading a rdfs:Class ;
  rdfs:label "Heading"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Reserved a rdfs:Class ;
  rdfs:label "reserved"@en ;
  rdfs:comment "A type of state for Parking Spot"@en ;
  rdfs:subClassOf s4auto:ParkingSpotState .

s4auto:NotifiedEvent a rdfs:Class ;
  rdfs:label "NotifiedEvent"@en ;
  rdfs:comment "The relevant types of events are trafficCondition, accident, roadworks, impassability, adverseWeatherCondition-Adhesion, aquaplannning, hazardousLocation-SurfaceCondition, hazardousLocation-ObstacleOnTheRoad, hazardousLocation-AnimalOnTheRoad, humanPresenceOnTheRoad, wrongWayDriving, rescueAndRecoveryWorkInProgress, adverseWeatherCondition-ExtremeWeatherCondition, adverseWeatherCondition-Visibility, adverseWeatherCondition-Precipitation, slowVehicle, dangerousEndOfQueue, vehicleBreakdown, postCrash, humanProblem, stationaryVehicle, emergencyVehicleApproaching, hazardousLocation-DangerousCurve, collisionRisk, signalViolation, dangerousSituation"@en .

s4auto:Acceleration a rdfs:Class ;
  rdfs:label "Acceleration"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Identifier a rdfs:Class ;
  rdfs:label "Identifier"@en ;
  rdfs:comment "A class used to identify 1)  a vehicle (station) during data exchange with other devices/stations 2) a platoon during data exchange with other devices/stations, 3)  a parking spot within a parking area during data exchange with other devices/stations. In all cases, this identifier may be a pseudonym. It may change over space and/or over time."@en .

<http://www.w3.org/2003/01/geo/wgs84_pos#Point> a rdfs:Class ;
  rdfs:label "Point"@en ;
  rdfs:comment """Uniquely identified by lat/long/alt. i.e.

spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),
  lat(P2, LAT), long(P2, LONG), alt(P2, ALT).

sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2)."""@en ;
  rdfs:subClassOf <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> .

s4auto:SpeedConfidence a rdfs:Class ;
  rdfs:label "SpeedConfidence"@en ;
  rdfs:comment "A type of confidence for speed measurements that represents absolute accuracy of a speed value in cm/s"@en ;
  rdfs:subClassOf s4auto:Confidence .

s4auto:Confidence a rdfs:Class ;
  rdfs:label "Confidence"@en ;
  rdfs:comment "Every measurement in the automotive domain is an estimated measurement coming from the aggregation of several measurements from different sensor or devices taken at the same time or at consecutive times very close to each other. Therefore, a confidence is always associated to each mesurement to indicate that it has not 100% accuracy."@en .

s4auto:Height a rdfs:Class ;
  rdfs:label "Height"@en ;
  rdfs:comment "A Property of interest for the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:Engaging a rdfs:Class ;
  rdfs:label "engaging"@en ;
  rdfs:comment "A type of state for a Vehicle in a Platoon"@en ;
  rdfs:subClassOf s4auto:PlatoonVehicleState .

s4auto:AutomotiveObject a rdfs:Class ;
  rdfs:label "AutomotiveObject"@en ;
  rdfs:comment "The main objects of interest in the automotive domain."@en .

<https://saref.etsi.org/core/Measurement> a rdfs:Class ;
  rdfs:label "Measurement"@en ;
  rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en .

<https://saref.etsi.org/core/relatesToProperty> a rdf:Property ;
  rdfs:label "relates to property"@en ;
  rdfs:comment "A relationship between a measurement and the property it relates to"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

<https://saref.etsi.org/core/measurementMadeBy> a rdf:Property ;
  rdfs:label "measurementMadeBy"@en ;
  rdfs:comment "A relation between a measurement and the device that made it."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://saref.etsi.org/core/isMeasuredIn> a rdf:Property ;
  rdfs:label "is measured in"@en ;
  rdfs:comment "A relationship identifying the unit of measure used for a certain entity."@en ;
  rdfs:range <https://saref.etsi.org/core/UnitOfMeasure> .

s4auto:Truck a rdfs:Class ;
  rdfs:label "Truck"@en ;
  rdfs:comment "A type of vehicle. Example of trucks are heavy trucks or light trucks."@en ;
  rdfs:subClassOf s4auto:Vehicle .

s4auto:RegularParkingSpot a rdfs:Class ;
  rdfs:label "RegularParkingSpot"@en ;
  rdfs:comment "A type pf parking spot"@en ;
  rdfs:subClassOf s4auto:ParkingSpot .

s4auto:ElectricChargingParkingSpot a rdfs:Class ;
  rdfs:label "ElectricChargingParkingSpot"@en ;
  rdfs:comment "A type pf parking spot"@en ;
  rdfs:subClassOf s4auto:ParkingSpot .

s4auto:HeightUnit a rdfs:Class ;
  rdfs:label "height unit"@en ;
  rdfs:comment "unit of measure of height"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/UnitOfMeasure> .

s4auto:StartPoint a rdfs:Class ;
  rdfs:label "StartPoint"@en ;
  rdfs:comment "The origin of a route"@en ;
  rdfs:subClassOf s4auto:Point .

s4auto:State a rdfs:Class ;
  rdfs:label "State"@en ;
  rdfs:comment "A class dedicated to describe the relevant states in the automotive domain"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/State> .

s4auto:Platoon a rdfs:Class ;
  rdfs:label "Platoon"@en ;
  rdfs:comment "A group of vehicles automatically following each other at a relatively close distance"@en .

s4auto:hasPlatoonState a rdf:Property ;
  rdfs:label "hasPlatoonState"@en ;
  rdfs:comment "A relation to express the state of a platoon"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:hasState .

s4auto:hasPlatoonMember a rdf:Property ;
  rdfs:label "hasPlatoonMember"@en ;
  rdfs:comment "A relation to express that a platoon can have vehicles as its members"@en ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf s4auto:hasMember .

s4auto:hasMaxSize a rdf:Property ;
  rdfs:label "hasMaxSize"@en ;
  rdfs:comment "A relation to express the max size of a platoon. Note that it is defined as a datatype property as this is a fixed/static value of the platoon that does not change over time. In contrast, the current size of the platoon is actually a measurement that may change over time and it is therefore defined as an object property (see s4auto:hasSize)."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasSize a rdf:Property ;
  rdfs:label "hasSize"@en ;
  rdfs:comment "A relation to express that a platoon has a size. This size is defined as 1) the total number of vehicles currently in the platoon; or 2) Length of the platoon (sum of all vehicles' length + inter-vehicle distance) via s4auto:hasLength property"@en ;
  rdfs:domain <https://saref.etsi.org/core/FeatureOfInterest> ;
  rdfs:range <https://saref.etsi.org/core/Property> ;
  rdfs:subPropertyOf <https://saref.etsi.org/core/hasProperty> .

s4auto:Unknown a rdfs:Class ;
  rdfs:label "unknown"@en ;
  rdfs:comment "A type of platoon role"@en ;
  rdfs:subClassOf s4auto:PlatoonState , s4auto:PlatoonVehicleState .

s4auto:TwoWheeler a rdfs:Class ;
  rdfs:label "TwoWheeler"@en ;
  rdfs:comment "A type of vehicle. This class involves all sorts of two wheelers, from motorcycles to bicycles and (e-)scooters."@en ;
  rdfs:subClassOf s4auto:Vehicle .

<http://www.opengis.net/ont/geosparql#Feature> a rdfs:Class ;
  rdfs:label "Feature"@en ;
  rdfs:comment """This class represents the top-level feature type. This class is 
      equivalent to GFI_Feature defined in ISO 19156:2011, and it is 
      superclass of all feature types."""@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

s4auto:PlatoonAutomationLevel a rdfs:Class ;
  rdfs:label "PlatoonAutomationLevel"@en ;
  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:subClassOf s4auto:AutomationLevel .

s4auto:LongitudinalAcceleration a rdfs:Class ;
  rdfs:label "LongitudinalAcceleration"@en ;
  rdfs:comment "A type of acceleration"@en ;
  rdfs:subClassOf s4auto:Acceleration .

s4auto:RelativeSpeed a rdfs:Class ;
  rdfs:label "RelativeSpeed"@en ;
  rdfs:comment "A type of speed"@en ;
  rdfs:subClassOf s4auto:Speed .

s4auto:Parking a rdfs:Class ;
  rdfs:label "parking"@en ;
  rdfs:comment "A type of state for Parking Vehicle"@en ;
  rdfs:subClassOf s4auto:ParkingVehicleState .

s4auto:Bus a rdfs:Class ;
  rdfs:label "Bus"@en ;
  rdfs:comment "A type of public transport"@en ;
  rdfs:subClassOf s4auto:PublicTransport .

s4auto:P2Bicyclist a rdfs:Class ;
  rdfs:label "P2 Bicyclist"@en ;
  rdfs:comment "VRU Profile 2 users, for example: user of bicycle, wheelchair, skater, scooter, Segway, or a mounted horse rider"@en ;
  rdfs:subClassOf s4auto:VulnerableRoadUser .

<https://saref.etsi.org/core/UnitOfMeasure> a rdfs:Class ;
  rdfs:label "UnitOfMeasure"@en ;
  rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example, Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)."@en .

s4auto:PassengerCar a rdfs:Class ;
  rdfs:label "PassengerCar"@en ;
  rdfs:comment "A type of car"@en ;
  rdfs:subClassOf s4auto:Car .

s4auto:RoadTopologyPosition a rdfs:Class ;
  rdfs:label "Road Topology Position"@en ;
  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:subClassOf s4auto:Position .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

s4auto:ParkingSpot a rdfs:Class ;
  rdfs:label "ParkingSpot"@en ;
  rdfs:comment "A location that is designated for parking. A parking spot has a geometry defining the parking area boundaries and its centre point"@en ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

s4auto:RoadSideActuator a rdfs:Class ;
  rdfs:label """RoadSideActuator
"""@en ;
  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:subClassOf <https://saref.etsi.org/core/Actuator> .

<https://saref.etsi.org/core/FeatureOfInterest> a rdfs:Class ;
  rdfs:label "FeatureOfInterest"@en ;
  rdfs:comment "A feature of interest represents any real world entity from which a property is measured."@en .

s4auto:ParkingSpotPoint a rdfs:Class ;
  rdfs:label "ParkingSpotPoint"@en ;
  rdfs:comment "the position of aparking spot (its centre point) in terms of lat, long and alt"@en ;
  rdfs:subClassOf s4auto:Point .

s4auto:StationID a rdfs:Class ;
  rdfs:label "StationID"@en ;
  rdfs:comment "A type of identifier for vehicles and platoons, as defined in ETSI TS 102 894-2."@en ;
  rdfs:subClassOf s4auto:Identifier .

<https://saref.etsi.org/core/Property> a rdfs:Class ;
  rdfs:label "Property"@en ;
  rdfs:comment "Anything that can be sensed, measured or controlled by a device (measured by a sensor, controlled by an actuator) ."@en .

s4auto:Car a rdfs:Class ;
  rdfs:label "Car"@en ;
  rdfs:comment "A type of vehicle. Example of a car is a passenger car"@en ;
  rdfs:subClassOf s4auto:Vehicle .

s4auto:PositionConfidenceEllipse a rdfs:Class ;
  rdfs:label "PositionConfidenceEllipse"@en ;
  rdfs:comment "A type of confidence that represents horizontal position accuracy in a shape of ellipse with a predefined confidence level (e.g. 95 %). The centre of the ellipse shape corresponds to the reference position point for which the position accuracy is evaluated."@en ;
  rdfs:subClassOf s4auto:Confidence .

s4auto:P1Pedestrian a rdfs:Class ;
  rdfs:label "P1 Pedestrian"@en ;
  rdfs:comment "VRU Profile 1 users, for example: adult, child, elderly person, pram, animal, blind person guided by a dog, rider off its bike"@en ;
  rdfs:subClassOf s4auto:VulnerableRoadUser .

<http://www.w3.org/2003/01/geo/wgs84_pos#location> a rdf:Property ;
  rdfs:label "location"@en ;
  rdfs:comment """The relation between something and the point, 
 or other geometrical thing in space, where it is.  For example, the realtionship between
 a radio tower and a Point with a given lat and long.
 Or a relationship between a park and its outline as a closed arc of points, or a road and
 its location as a arc (a sequence of points).
 Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
 an accuracy appropriate for the size of the object and uses such as mapping ."""@en ;
  rdfs:range <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> .

<https://saref.etsi.org/core/consistsOf> a rdf:Property ;
  rdfs:label "consists of"@en ;
  rdfs:comment "A relationship indicating a composite entity that consists of other entities (e.g., a temperature/humidity sensor that consists of a temperature sensor and a humidity sensor)"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://saref.etsi.org/core/hasValue> a rdf:Property ;
  rdfs:label "has value"@en ;
  rdfs:comment "https://saref.etsi.org/core"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasDestination a rdf:Property ;
  rdfs:label "hasDestination"@en ;
  rdfs:comment "A relation that defines the destination of an automotive object. For example, in a platoon, the current platoon leader defines the platoon destination. Following vehicles will share (partially) the route of the leader and can, therefore, have different final destinations."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasMember a rdf:Property ;
  rdfs:label "hasMember"@en ;
  rdfs:comment "A general relationship to express that an entity can have members"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasParkingSpotState a rdf:Property ;
  rdfs:label "hasParkingSpotState"@en ;
  rdfs:comment "A relation to express the state of a parking spot"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4auto:hasState .

s4auto:hasPerceptionState a rdf:Property ;
  rdfs:label "hasPerceptionState"@en ;
  rdfs:comment "A relation to express the state of a vehicle related to its environment"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4auto:hasState .

s4auto:hasPosition a rdf:Property ;
  rdfs:label "has position"@en ;
  rdfs:comment "A relation to define the position of an entity"@en ;
  rdfs:range s4auto:RelativePosition .

s4auto:hasRole a rdf:Property ;
  rdfs:label "hasRole"@en ;
  rdfs:comment "A general relation to express that an entity can have a role"@en ;
  rdfs:range s4auto:Role .

s4auto:hasState a rdf:Property ;
  rdfs:label "hasState"@en ;
  rdfs:comment "An hasState relation to connect to a certain state. The saref:hasState property could not be reused because it has domain saref:Device, but a s4auto:Platoon or s4auto:Vehicle are not devices. Therefore, a new s4auto:hasState property with subroperties has been created."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:hasVehicleEnvironmentMember a rdf:Property ;
  rdfs:label "hasVehicleEnvironmentMember"@en ;
  rdfs:comment "A relation to express that a vehicle can have members in its environment"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4auto:hasMember .

s4auto:isConfidenceOf a rdf:Property ;
  rdfs:label "isConfidenceOf"@en ;
  rdfs:comment "A relation between the confidence (s4auto:Confidence class) of an estimated measurement and this measurement (saref:Measurement class)"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:isMemberOf a rdf:Property ;
  rdfs:label "isMemberOf"@en ;
  rdfs:comment "A general relationship to express that an entity is a member of another entity"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4auto:Movement a rdfs:Class ;
  rdfs:label "Movement"@en ;
  rdfs:comment "A Property of interest for the automotive domain. Relevant types of movement are: Static (position only), moving in same direction (speed, acceleration), moving in reverse direction (speed acceleration), crossing (speed, acceleration, direction)"@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4auto:SameDirection a s4auto:Movement ;
  rdfs:label "same Direction"@en ;
  rdfs:comment "A type of movement"@en .

s4auto:ReverseDirection a s4auto:Movement ;
  rdfs:label "reverse Direction"@en ;
  rdfs:comment "A type of movement"@en .

s4auto:CrossingLeft a s4auto:Movement ;
  rdfs:label "crossing Left"@en ;
  rdfs:comment "A type of movement"@en .

s4auto:CrossingRight a s4auto:Movement ;
  rdfs:label "crossing Right"@en ;
  rdfs:comment "A type of movement"@en .

s4auto:Static a s4auto:Movement ;
  rdfs:label "static"@en ;
  rdfs:comment "A type of movement"@en .

s4auto:PlatoonRole a rdfs:Class ;
  rdfs:label "PlatoonRole"@en ;
  rdfs:comment "In platoon a vehicle can assume roles such as: unknown, leader, follower, ready-for-leading, trailing, etc."@en ;
  rdfs:subClassOf s4auto:Role .

s4auto:Follower a s4auto:PlatoonRole ;
  rdfs:label "follower"@en ;
  rdfs:comment "A type of platoon role"@en .

s4auto:Trailing a s4auto:PlatoonRole ;
  rdfs:label "trailing"@en ;
  rdfs:comment "A type of platoon role"@en .

s4auto:Leader a s4auto:PlatoonRole ;
  rdfs:label "leader"@en ;
  rdfs:comment "A type of platoon role"@en .

s4auto:Unknown a s4auto:PlatoonRole ;
  rdfs:label "unknown"@en ;
  rdfs:comment "A type of platoon role"@en .

s4auto:ReadyForLeading a s4auto:PlatoonRole ;
  rdfs:label "ready for leading"@en ;
  rdfs:comment "A type of platoon role"@en .

s4auto:VehicleRole a rdfs:Class ;
  rdfs:label "VehicleRole"@en ;
  rdfs:comment "The role the vehicle plays in traffic. If not specified, it is assumed that it takes a default value. Otherwise, possible values to be specified are: publicTransport, specialTransport, dangerousGoods, roadWork, rescue, emergency, safetyCar, agriculture, commercial, military, roadOperator, taxi."@en ;
  rdfs:subClassOf s4auto:Role .

s4auto:DangerousGood a s4auto:VehicleRole ;
  rdfs:label "dangerousGoods"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:RoadWork a s4auto:VehicleRole ;
  rdfs:label "roadWork"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:Agriculture a s4auto:VehicleRole ;
  rdfs:label "agriculture"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:RoadOperator a s4auto:VehicleRole ;
  rdfs:label "roadOperator"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:Emergency a s4auto:VehicleRole ;
  rdfs:label "emergency"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:Commercial a s4auto:VehicleRole ;
  rdfs:label "commercial"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:Taxi a s4auto:VehicleRole ;
  rdfs:label "taxi"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:SpecialTransport a s4auto:VehicleRole ;
  rdfs:label "specialTransport"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:PublicTransport a s4auto:VehicleRole ;
  rdfs:label "publicTransport"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:SafetyCar a s4auto:VehicleRole ;
  rdfs:label "safetyCar"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:Rescue a s4auto:VehicleRole ;
  rdfs:label "rescue"@en ;
  rdfs:comment "A type of vehicle role"@en .

s4auto:Military a s4auto:VehicleRole ;
  rdfs:label "military"@en ;
  rdfs:comment "A type of vehicle role"@en .
