From 9bf478ac78c03046f3248070ab193ac5b4868b87 Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 30 May 2024 14:02:31 +0200 Subject: [PATCH 1/6] simplify positions and points. Closes #27 --- ontology/saref4auto.ttl | 407 ++++++++++++---------------------------- 1 file changed, 117 insertions(+), 290 deletions(-) diff --git a/ontology/saref4auto.ttl b/ontology/saref4auto.ttl index 4d8fe12..753ad9a 100644 --- a/ontology/saref4auto.ttl +++ b/ontology/saref4auto.ttl @@ -8,7 +8,7 @@ @prefix rdfs: . @prefix time: . @prefix vann: . -@prefix geosp: . +@prefix geo: . @prefix saref: . @prefix s4city: . @prefix s4syst: . @@ -82,11 +82,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:comment "A relation that allows to specify the unit of measure associated with a certain confidence"@en ; rdfs:label "has confidence unit of measure"@en . -### https://saref.etsi.org/saref4auto/detectsPosition -:detectsPosition rdf:type owl:ObjectProperty ; - rdfs:comment "A relationship specifying the position (absolute or relative position) that can be detected by a certain device"@en ; - rdfs:label "detects position"@en . - ### https://saref.etsi.org/saref4auto/hasAutomationLevel :hasAutomationLevel rdf:type owl:ObjectProperty ; @@ -109,39 +104,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasConfidence"@en . -### https://saref.etsi.org/saref4auto/hasDestination -:hasDestination rdf:type owl:ObjectProperty ; - 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." ; - rdfs:label "hasDestination"@en . - - -### https://saref.etsi.org/saref4auto/hasDestinationAddress -:hasDestinationAddress rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasDestination ; - rdfs:comment "A relation to express the destination of a vehicle in terms of an Address"@en ; - rdfs:label "hasDestinationAddress"@en . - - -### https://saref.etsi.org/saref4auto/hasDestinationEndPoint -:hasDestinationEndPoint rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasDestination ; - 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:label "hasDestinationEndPoint"@en . - - ### https://saref.etsi.org/saref4auto/hasEnvironment :hasEnvironment rdf:type owl:ObjectProperty ; rdfs:comment "A relation that allows to describe the environment of a vehicle"@en ; rdfs:label "hasEnvironment"@en . -### https://saref.etsi.org/saref4auto/hasEstimatedRendezvousLocation -:hasEstimatedRendezvousLocation rdf:type owl:ObjectProperty ; - rdfs:range :RendezvousLocation ; - 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." ; - rdfs:label "hasEstimatedRendezvousLocation"@en . - - ### https://saref.etsi.org/saref4auto/hasIdentifier :hasIdentifier rdf:type owl:ObjectProperty ; rdfs:range :Identifier ; @@ -161,13 +129,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasOpeningTimeAvailability"@en . -### https://saref.etsi.org/saref4auto/hasOrigin -:hasOrigin rdf:type owl:ObjectProperty ; - 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:label "hasOrigin"@en . - - - ### https://saref.etsi.org/saref4auto/hasPlatoonMember :hasPlatoonMember rdf:type owl:ObjectProperty ; rdfs:subPropertyOf :hasMember ; @@ -175,13 +136,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasPlatoonMember"@en . -### https://saref.etsi.org/saref4auto/hasPlatoonPosition -:hasPlatoonPosition rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasPosition ; - 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:label "hasPlatoonPosition"@en . - - ### https://saref.etsi.org/saref4auto/hasPlatoonRole :hasPlatoonRole rdf:type owl:ObjectProperty ; rdfs:subPropertyOf :hasRole ; @@ -189,27 +143,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasPlatoonRole"@en . -### https://saref.etsi.org/saref4auto/hasPosition -:hasPosition rdf:type owl:ObjectProperty ; - rdfs:range :RelativePosition ; - rdfs:comment "A relation to define the position of an entity"@en ; - rdfs:label "has position"@en . - - -### https://saref.etsi.org/saref4auto/hasRelativePosition -:hasRelativePosition rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasPosition ; - 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:label "hasPlatoonPosition"@en . - - -### https://saref.etsi.org/saref4auto/hasRoadTopologyPosition -:hasRoadTopologyPosition rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasPosition ; - rdfs:comment "A relation between Vehicle and RoadTopologyPosition to represent the road topology position of a vehicle"@en ; - rdfs:label "hasRoadTopologyPosition"@en . - - ### https://saref.etsi.org/saref4auto/hasRole :hasRole rdf:type owl:ObjectProperty ; rdfs:range :Role ; @@ -217,12 +150,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasRole"@en . -### https://saref.etsi.org/saref4auto/hasRoute -:hasRoute rdf:type owl:ObjectProperty ; - rdfs:comment "A relation to express the route of an entity, e.g., a vehicle or a platoon"@en ; - rdfs:label "hasRoute"@en . - - ### https://saref.etsi.org/saref4auto/hasVehicleEnvironmentMember :hasVehicleEnvironmentMember rdf:type owl:ObjectProperty ; rdfs:subPropertyOf :hasMember ; @@ -230,12 +157,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasVehicleEnvironmentMember"@en . -### https://saref.etsi.org/saref4auto/isCollectionOf -:isCollectionOf rdf:type owl:ObjectProperty ; - 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:label "isCollectionOf"@en . - - ### https://saref.etsi.org/saref4auto/isConfidenceOf :isConfidenceOf rdf:type owl:ObjectProperty ; rdfs:comment "A relation between the confidence (s4auto:Confidence class) of some entity (ex. an observation) and that entity"@en ; @@ -278,37 +199,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasConfidenceValue"@en . -### https://saref.etsi.org/saref4auto/hasCoordinateX -:hasCoordinateX rdf:type owl:DatatypeProperty ; - rdfs:comment "A relation to define the X coordinate of a relative position"@en ; - rdfs:label "hasCoordinateX"@en . - - -### https://saref.etsi.org/saref4auto/hasCoordinateY -:hasCoordinateY rdf:type owl:DatatypeProperty ; - rdfs:comment "A relation to define the Y coordinate of a relative position"@en ; - rdfs:label "hasCoordinateY"@en . - - -### https://saref.etsi.org/saref4auto/hasCoordinateZ -:hasCoordinateZ rdf:type owl:DatatypeProperty ; - rdfs:comment "A relation to define the Z coordinate of a relative position"@en ; - rdfs:label "hasCoordinateY"@en . - - ### https://saref.etsi.org/saref4auto/hasDescriptionName :hasDescriptionName rdf:type owl:DatatypeProperty ; rdfs:comment "A relation to define that a parking spot can have a description name"@en ; rdfs:label "hasDescriptionName"@en . -### https://saref.etsi.org/saref4auto/hasEstimatedJoiningTime -:hasEstimatedJoiningTime rdf:type owl:DatatypeProperty ; - rdfs:range xsd:dateTime ; - rdfs:comment "A relation to express that, during the forming state, a vehicle member of a platoon is given an estimated time for joining" ; - rdfs:label "hasEstimatedJoiningTime"@en . - - ### https://saref.etsi.org/saref4auto/hasIDValue :hasIDValue rdf:type owl:DatatypeProperty ; rdfs:comment "A relationship to define the value of an indentifier"@en ; @@ -317,17 +213,10 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ### https://saref.etsi.org/saref4auto/hasMaxSize :hasMaxSize rdf:type owl:DatatypeProperty ; - 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 may change over time and is therefore defined as a property (see s4auto:Size)."@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 may change over time and is therefore defined as a property (see s4auto:PlatoonSize)."@en ; rdfs:label "hasMaxSize"@en . -### https://saref.etsi.org/saref4auto/hasPlatoonIndex -:hasPlatoonIndex rdf:type owl:DatatypeProperty ; - rdfs:range xsd:int ; - 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:label "hasPlatoonIndex"@en . - - ################################################################# # Classes ################################################################# @@ -345,12 +234,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "AccelerationConfidence"@en . -### https://saref.etsi.org/saref4auto/Address -:Address rdf:type owl:Class ; - 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 ; - rdfs:label "Address"@en . - - ### https://saref.etsi.org/saref4auto/AutomationLevel :AutomationLevel rdf:type owl:Class ; rdfs:comment "The level of automation a platoon of vehicles or a singular vehicle"@en ; @@ -389,11 +272,11 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:subClassOf owl:Thing , [ rdf:type owl:Restriction ; owl:onProperty :hasProperty ; - owl:someValuesFrom :Height + owl:hasValue :Height ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasState ; @@ -405,7 +288,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasWidth ; - owl:someValuesFrom :Width + owl:hasValue :Width ] ; rdfs:comment "A critical object located on the road. Critical objects are small object, medium object, large object"@en ; rdfs:label "CriticalObject"@en . @@ -424,19 +307,19 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . s4syst:System , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Acceleration + owl:hasValue :Acceleration ] , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Heading + owl:hasValue :Heading ] , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Speed + owl:hasValue :Speed ] , [ rdf:type owl:Restriction ; - owl:onProperty :detectsPosition ; - owl:someValuesFrom :Position + owl:onProperty saref:observes ; + owl:hasValue :Position ] , [ rdf:type owl:Restriction ; owl:onProperty :usesProperty ; @@ -450,13 +333,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "ElectronicControlUnit"@en . -### https://saref.etsi.org/saref4auto/EndPoint -:EndPoint rdf:type owl:Class ; - rdfs:subClassOf :Point ; - rdfs:comment "The final destination of a vehicle or a platoon, or the final point of a route"@en ; - rdfs:label "EndPoint"@en . - - ### https://saref.etsi.org/saref4auto/Identifier :Identifier rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; @@ -490,14 +366,10 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ### https://saref.etsi.org/saref4auto/ParkingSpot :ParkingSpot rdf:type owl:Class ; - rdfs:subClassOf geosp:Feature , - [ rdf:type owl:Restriction ; - owl:onProperty geosp:hasGeometry ; - owl:someValuesFrom :ParkingSpotPoint - ] , + rdfs:subClassOf saref:FeatureOfInterest, geo:Feature , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Height + owl:hasValue :Height ] , [ rdf:type owl:Restriction ; owl:onProperty :hasIdentifier ; @@ -505,7 +377,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty :hasOpeningTimeAvailability ; @@ -513,7 +385,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasWidth ; - owl:someValuesFrom :Width + owl:hasValue :Width ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasState ; @@ -524,17 +396,10 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:onProperty :hasDescriptionName ; owl:someValuesFrom xsd:string ] ; - 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: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 . -### https://saref.etsi.org/saref4auto/ParkingSpotPoint -:ParkingSpotPoint rdf:type owl:Class ; - rdfs:subClassOf :Point ; - rdfs:comment "the position of aparking spot (its centre point) in terms of lat, long and alt"@en ; - rdfs:label "ParkingSpotPoint"@en . - - ### https://saref.etsi.org/saref4auto/PersonalDevice :PersonalDevice rdf:type owl:Class ; rdfs:subClassOf saref:Device , @@ -546,8 +411,8 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ### https://saref.etsi.org/saref4auto/Platoon :Platoon rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; - owl:onProperty :hasDestinationEndPoint ; - owl:someValuesFrom :EndPoint + owl:onProperty saref:hasProperty ; + owl:hasValue :Destination ] , [ rdf:type owl:Restriction ; owl:onProperty :hasIdentifier ; @@ -555,7 +420,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty :hasPlatoonMember ; @@ -566,12 +431,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:someValuesFrom :PlatoonState ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasRoute ; + owl:onProperty saref:hasProperty ; owl:someValuesFrom :Route ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasSize ; - owl:someValuesFrom :Size + owl:onProperty saref:hasProperty ; + owl:hasValue :PlatoonSize ] , [ rdf:type owl:Restriction ; owl:onProperty :hasMaxSize ; @@ -588,40 +453,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "PlatoonAutomationLevel"@en . -### https://saref.etsi.org/saref4auto/PlatoonPosition -:PlatoonPosition rdf:type owl:Class ; - rdfs:subClassOf :Position , - [ rdf:type owl:Restriction ; - owl:onProperty :hasPlatoonIndex ; - owl:someValuesFrom xsd:int - ] ; - 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:label "PlatoonPosition"@en . - - ### https://saref.etsi.org/saref4auto/PlatoonRole :PlatoonRole rdf:type owl:Class ; rdfs:subClassOf :Role ; rdfs:comment "In platoon a vehicle can assume roles such as: unknown, leader, follower, ready-for-leading, trailing, etc."@en ; rdfs:label "PlatoonRole"@en . -### https://saref.etsi.org/saref4auto/Point -:Point rdf:type owl:Class ; - rdfs:subClassOf geosp:Geometry , - ; - rdfs:comment "A geo point in SAREF4AUTO"@en ; - rdfs:label "Point"@en . - - -### https://saref.etsi.org/saref4auto/Position -:Position rdf:type owl:Class ; - rdfs:subClassOf [ rdf:type owl:Restriction ; - owl:onProperty :hasConfidence ; - owl:someValuesFrom :Confidence - ] ; - rdfs:comment "The position of an entity in the automotive domain"@en ; - rdfs:label "Position"@en . - ### https://saref.etsi.org/saref4auto/PositionConfidenceEllipse :PositionConfidenceEllipse rdf:type owl:Class ; @@ -637,33 +474,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "RegularParkingSpot"@en . -### https://saref.etsi.org/saref4auto/RelativePosition -:RelativePosition rdf:type owl:Class ; - rdfs:subClassOf :Position , - [ rdf:type owl:Restriction ; - owl:onProperty :hasCoordinateX ; - owl:someValuesFrom xsd:float - ] , - [ rdf:type owl:Restriction ; - owl:onProperty :hasCoordinateY ; - owl:someValuesFrom xsd:float - ] , - [ rdf:type owl:Restriction ; - owl:onProperty :hasCoordinateZ ; - owl:someValuesFrom xsd:float - ] ; - 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:label "RelativePosition"@en . - - - -### https://saref.etsi.org/saref4auto/RendezvousLocation -:RendezvousLocation rdf:type owl:Class ; - rdfs:subClassOf :Point ; - 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:label "RendezvousLocation"@en . - - ### https://saref.etsi.org/saref4auto/RoadEntity :RoadEntity rdf:type owl:Class ; rdfs:subClassOf saref:FeatureOfInterest , @@ -684,24 +494,24 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:someValuesFrom :VulnerableRoadUser ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasAbsolutePosition ; - owl:someValuesFrom :AbsolutePosition + owl:onProperty saref:hasProperty ; + owl:hasValue :AbsolutePosition ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Height + owl:hasValue :Height ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasState ; owl:someValuesFrom :Movement ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasRelativePosition ; - owl:someValuesFrom :RelativePosition + owl:onProperty saref:hasProperty ; + owl:hasValue :RelativePosition ] , [ rdf:type owl:Restriction ; owl:onProperty :hasShape ; @@ -709,7 +519,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasWidth ; - owl:someValuesFrom :Width + owl:hasValue :Width ] ; rdfs:comment "An entity present on the road in the neighbouring area of a vehicle"@en ; rdfs:label "RoadEntity"@en . @@ -746,43 +556,32 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:subClassOf saref:Sensor , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Heading + owl:hasValue :Heading ] , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Height + owl:hasValue :Height ] , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Speed + owl:hasValue :Speed ] , [ rdf:type owl:Restriction ; owl:onProperty saref:observes ; - owl:someValuesFrom :Width + owl:hasValue :Width ] , [ rdf:type owl:Restriction ; - owl:onProperty :detectsPosition ; - owl:someValuesFrom :AbsolutePosition - ] , - [ rdf:type owl:Restriction ; - owl:onProperty :detectsPosition ; - owl:someValuesFrom :RelativePosition + owl:onProperty saref:observes ; + owl:hasValue :Position ] ; 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 . -### https://saref.etsi.org/saref4auto/RoadTopologyPosition -:RoadTopologyPosition rdf:type owl:Class ; - rdfs:subClassOf :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 . - - ### https://saref.etsi.org/saref4auto/Role :Role rdf:type owl:Class ; rdfs:comment "The role that can be assumed by a vehicle or a platoon"@en ; @@ -791,29 +590,23 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ### https://saref.etsi.org/saref4auto/Route :Route rdf:type owl:Class ; + rdfs:subClassOf saref:FeatureOfInterest , geo:Feature ; rdfs:subClassOf [ rdf:type owl:Restriction ; - owl:onProperty :hasDestinationEndPoint ; - owl:someValuesFrom :EndPoint + owl:onProperty saref:hasProperty ; + owl:hasValue :Destination ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasOrigin ; - owl:someValuesFrom :StartPoint + owl:onProperty saref:hasProperty ; + owl:hasValue :Origin ] , [ rdf:type owl:Restriction ; - owl:onProperty :isCollectionOf ; - owl:someValuesFrom :RoutePoint + owl:onProperty saref:hasProperty ; + owl:hasValue :RoutePoint ] ; - 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 ; + 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. The route is a geo:Feature and can thus have a geometry."@en ; rdfs:label "Route"@en . -### https://saref.etsi.org/saref4auto/RoutePoint -:RoutePoint rdf:type owl:Class ; - rdfs:subClassOf :Point ; - rdfs:comment "The intermediate points of a route"@en ; - rdfs:label "RoutePoint"@en . - - ### https://saref.etsi.org/saref4auto/SmallObject :SmallObject rdf:type owl:Class ; rdfs:subClassOf :CriticalObject ; @@ -846,13 +639,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "speed unit"@en . -### https://saref.etsi.org/saref4auto/StartPoint -:StartPoint rdf:type owl:Class ; - rdfs:subClassOf :Point ; - rdfs:comment "The origin of a route"@en ; - rdfs:label "StartPoint"@en . - - ### https://saref.etsi.org/saref4auto/StationID :StationID rdf:type owl:Class ; rdfs:subClassOf :Identifier ; @@ -887,8 +673,8 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . :AutomotiveObject , s4syst:System , [ rdf:type owl:Restriction ; - owl:onProperty :hasAbsolutePosition ; - owl:someValuesFrom :AbsolutePosition + owl:onProperty saref:hasProperty ; + owl:hasValue :AbsolutePosition ] , [ rdf:type owl:Restriction ; owl:onProperty :hasFeatureKind ; @@ -900,27 +686,23 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasBrakeCapacity ; - owl:someValuesFrom :BrakeCapacity - ] , - [ rdf:type owl:Restriction ; - owl:onProperty :hasDestinationAddress ; - owl:someValuesFrom :Address + owl:hasValue :BrakeCapacity ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasDestinationEndPoint ; - owl:someValuesFrom :EndPoint + owl:onProperty saref:hasProperty ; + owl:hasValue :Destination ] , [ rdf:type owl:Restriction ; owl:onProperty :hasEnvironment ; owl:someValuesFrom :VehicleEnvironment ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasEstimatedRendezvousLocation ; - owl:someValuesFrom :RendezvousLocation + owl:onProperty saref:hasProperty ; + owl:hasValue :RendezvousLocation ] , [ rdf:type owl:Restriction ; owl:onProperty :hasHeight ; - owl:someValuesFrom :Height + owl:hasValue :Height ] , [ rdf:type owl:Restriction ; owl:onProperty :hasIdentifier ; @@ -928,35 +710,35 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasState ; owl:someValuesFrom :PlatoonVehicleState ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasPlatoonPosition ; - owl:someValuesFrom :PlatoonPosition + owl:onProperty saref:hasProperty ; + owl:hasValue :PlatoonPosition ] , [ rdf:type owl:Restriction ; owl:onProperty :hasPlatoonRole ; owl:someValuesFrom :PlatoonRole ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasRelativePosition ; - owl:someValuesFrom :RelativePosition + owl:onProperty saref:hasProperty ; + owl:hasValue :RelativePosition ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasRoadTopologyPosition ; - owl:someValuesFrom :RoadTopologyPosition + owl:onProperty saref:hasProperty ; + owl:hasValue :RoadTopologyPosition ] , [ rdf:type owl:Restriction ; - owl:onProperty saref:hasRoute ; + owl:onProperty saref:hasProperty ; owl:someValuesFrom :Route ] , [ rdf:type owl:Restriction ; owl:onProperty :hasProperty ; - owl:someValuesFrom :Width + owl:hasValue :Width ] , [ rdf:type owl:Restriction ; owl:onProperty :isMemberOfPlatoon ; @@ -971,8 +753,8 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:someValuesFrom :ElectronicControlUnit ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasEstimatedJoiningTime ; - owl:someValuesFrom xsd:dateTime + owl:onProperty saref:hasProperty ; + owl:hasValue :EstimatedJoiningTime ] ; 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:label "Vehicle"@en . @@ -1012,13 +794,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "VehicleEnvironment"@en . -### https://saref.etsi.org/saref4auto/VehicleRole -:VehicleRole rdf:type owl:Class ; - rdfs:subClassOf :Role ; - 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:label "VehicleRole"@en . - - ### https://saref.etsi.org/saref4auto/VulnerableRoadUser :VulnerableRoadUser rdf:type owl:Class ; rdfs:subClassOf saref:FeatureOfInterest , @@ -1028,11 +803,11 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasHeight ; - owl:someValuesFrom :Height + owl:hasValue :Height ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; - owl:someValuesFrom :Length + owl:hasValue :Length ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasState ; @@ -1040,7 +815,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasWidth ; - owl:someValuesFrom :Width + owl:hasValue :Width ] ; 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" ; rdfs:label "VulnerableRoadUser"@en . @@ -1236,6 +1011,10 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:comment "A Property of interest for the automotive domain"@en ; rdfs:label "Height"@en . +:Length rdf:type saref:Property ; + rdfs:comment "A Property for the automotive domain"@en ; + rdfs:label "Length"@en . + :PlatoonLength rdf:type saref:Property ; rdfs:comment "Sum of all vehicles' length + inter-vehicle distances."@en ; rdfs:label "Platoon Length"@en . @@ -1265,7 +1044,55 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . :Width rdf:type saref:Property ; rdfs:comment "A Property for the automotive domain"@en ; rdfs:label "Width"@en . + +:Origin rdf:type saref:Property ; + rdfs:comment "The origin of an entity (e.g., a vehicle or a route)"@en ; + rdfs:label "Origin"@en . + +:Destination rdf:type saref:Property ; + rdfs:comment "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:label "Origin"@en . + +:RoutePoint rdf:type saref:Property ; + rdfs:comment "The intermediate point of a route."@en ; + rdfs:label "Route Point"@en . + +:Position rdf:type saref:Property ; + rdfs:comment "The position of an entity in the automotive domain"@en ; + rdfs:label "Position"@en . + +:Address rdf:type saref:Property ; + skos:broader :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 . + +:AbsolutePosition rdf:type saref:Property ; + skos:broader :Position ; + rdfs:comment "Absolute position of an entity, e.g., a vehicle or road entity, defined in some coordinate system (e.g., a car is x,y,z)"@en ; + rdfs:label "Absolute Position"@en . + +:RelativePosition rdf:type saref:Property ; + skos:broader :Position ; + rdfs:comment "Relative position of an entity, e.g., a vehicle or road entity, with respect to another entity, defined in some coordinate system (e.g., a car is x,y,z in front of another car)"@en ; + rdfs:label "Relative Position"@en . +:RoadTopologyPosition rdf:type saref:Property ; + skos:broader :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 . + +:PlatoonPosition rdf:type saref:Property ; + skos:broader :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 . + +:JoiningTime rdf:type saref:Property ; + rdfs:comment "The time a vehicle is joining a platoon" ; + rdfs:label "Joining Time"@en . + +:RendezvousLocation rdf:type saref:Property ; + rdfs:comment "The location where the vehicle member joins a platoon" ; + rdfs:label "Rendez-vous Location"@en . ### SAREF patterns for states: Categorizing states for the automotive domain -- GitLab From 1c2b7a55165903df5a6b09db47f084ff4e5811b6 Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 30 May 2024 14:08:05 +0200 Subject: [PATCH 2/6] closes #28: rely more on saref:consistsOf --- ontology/saref4auto.ttl | 50 +---------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/ontology/saref4auto.ttl b/ontology/saref4auto.ttl index 753ad9a..ba80ae2 100644 --- a/ontology/saref4auto.ttl +++ b/ontology/saref4auto.ttl @@ -117,25 +117,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasIdentifier"@en . -### https://saref.etsi.org/saref4auto/hasMember -:hasMember rdf:type owl:ObjectProperty ; - owl:inverseOf :isMemberOf ; - rdfs:comment "A general relationship to express that an entity can have members"@en ; - rdfs:label "hasMember"@en . - ### https://saref.etsi.org/saref4auto/hasOpeningTimeAvailability :hasOpeningTimeAvailability rdf:type owl:ObjectProperty ; rdfs:comment "A relation to express the opening time of parking spot"@en ; rdfs:label "hasOpeningTimeAvailability"@en . -### https://saref.etsi.org/saref4auto/hasPlatoonMember -:hasPlatoonMember rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasMember ; - rdfs:comment "A relation to express that a platoon can have vehicles as its members"@en ; - rdfs:label "hasPlatoonMember"@en . - - ### https://saref.etsi.org/saref4auto/hasPlatoonRole :hasPlatoonRole rdf:type owl:ObjectProperty ; rdfs:subPropertyOf :hasRole ; @@ -150,39 +137,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasRole"@en . -### https://saref.etsi.org/saref4auto/hasVehicleEnvironmentMember -:hasVehicleEnvironmentMember rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasMember ; - rdfs:comment "A relation to express that a vehicle can have members in its environment"@en ; - rdfs:label "hasVehicleEnvironmentMember"@en . - - ### https://saref.etsi.org/saref4auto/isConfidenceOf :isConfidenceOf rdf:type owl:ObjectProperty ; rdfs:comment "A relation between the confidence (s4auto:Confidence class) of some entity (ex. an observation) and that entity"@en ; rdfs:label "isConfidenceOf"@en . -### https://saref.etsi.org/saref4auto/isMemberOf -:isMemberOf rdf:type owl:ObjectProperty ; - rdfs:comment "A general relationship to express that an entity is a member of another entity"@en ; - rdfs:label "isMemberOf"@en . - - -### https://saref.etsi.org/saref4auto/isMemberOfPlatoon -:isMemberOfPlatoon rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :isMemberOf ; - rdfs:comment "A relation to express that a vehicle can be member of a platoon"@en ; - rdfs:label "isMemberOfPlatoon"@en . - - -### https://saref.etsi.org/saref4auto/isMemberOfVehicleEnvironment -:isMemberOfVehicleEnvironment rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :isMemberOf ; - rdfs:comment "A relation to express that an entity, e.g., a vehicle, can be member of another vehicle's environment"@en ; - rdfs:label "isMemberOfVehicleEnvironment"@en . - - ### https://saref.etsi.org/saref4auto/usesProperty :usesProperty rdf:type owl:ObjectProperty ; rdfs:comment "A relation to express that a device can use different types of properties, such as speed, position of detected road objects (e.g., bicycles, vehicles). This applies in particular to the ElectronicControlUnit and TrafficLightController classes."@en ; @@ -423,7 +383,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:hasValue :Length ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasPlatoonMember ; + owl:onProperty saref:consistsOf ; owl:someValuesFrom :Vehicle ] , [ rdf:type owl:Restriction ; @@ -740,14 +700,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:onProperty :hasProperty ; owl:hasValue :Width ] , - [ rdf:type owl:Restriction ; - owl:onProperty :isMemberOfPlatoon ; - owl:someValuesFrom :Platoon - ] , - [ rdf:type owl:Restriction ; - owl:onProperty :isMemberOfVehicleEnvironment ; - owl:someValuesFrom :VehicleEnvironment - ] , [ rdf:type owl:Restriction ; owl:onProperty s4syst:hasSubSystem ; owl:someValuesFrom :ElectronicControlUnit -- GitLab From 3862f5a6697761d7ef996e7bfc39c104da0a80c6 Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 30 May 2024 14:15:00 +0200 Subject: [PATCH 3/6] closes #29, uses saref:hasIdentifier --- ontology/saref4auto.ttl | 55 ++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 37 deletions(-) diff --git a/ontology/saref4auto.ttl b/ontology/saref4auto.ttl index ba80ae2..767c666 100644 --- a/ontology/saref4auto.ttl +++ b/ontology/saref4auto.ttl @@ -110,13 +110,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasEnvironment"@en . -### https://saref.etsi.org/saref4auto/hasIdentifier -:hasIdentifier rdf:type owl:ObjectProperty ; - rdfs:range :Identifier ; - 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:label "hasIdentifier"@en . - - ### https://saref.etsi.org/saref4auto/hasOpeningTimeAvailability :hasOpeningTimeAvailability rdf:type owl:ObjectProperty ; rdfs:comment "A relation to express the opening time of parking spot"@en ; @@ -293,16 +286,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "ElectronicControlUnit"@en . -### https://saref.etsi.org/saref4auto/Identifier -:Identifier rdf:type owl:Class ; - rdfs:subClassOf [ rdf:type owl:Restriction ; - owl:onProperty :hasIDValue ; - owl:someValuesFrom xsd:string - ] ; - 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 ; - rdfs:label "Identifier"@en . - - ### https://saref.etsi.org/saref4auto/LargeObject :LargeObject rdf:type owl:Class ; rdfs:subClassOf :CriticalObject ; @@ -332,8 +315,8 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:hasValue :Height ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasIdentifier ; - owl:someValuesFrom :Identifier + owl:onProperty saref:hasIdentifier ; + owl:minCardinality 1 ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; @@ -375,8 +358,8 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:hasValue :Destination ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasIdentifier ; - owl:someValuesFrom :Identifier + owl:onProperty saref:hasIdentifier ; + owl:minCardinality 1 ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; @@ -599,13 +582,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "speed unit"@en . -### https://saref.etsi.org/saref4auto/StationID -:StationID rdf:type owl:Class ; - rdfs:subClassOf :Identifier ; - rdfs:comment "A type of identifier for vehicles and platoons, as defined in ETSI TS 102 894-2."@en ; - rdfs:label "StationID"@en . - - ### https://saref.etsi.org/saref4auto/TrafficLightController :TrafficLightController rdf:type owl:Class ; rdfs:subClassOf :RoadSideActuator ; @@ -620,13 +596,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "TrafficManagementCentre"@en . -### https://saref.etsi.org/saref4auto/UUID -:UUID rdf:type owl:Class ; - rdfs:subClassOf :Identifier ; - 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 "UUID"@en . - - ### https://saref.etsi.org/saref4auto/Vehicle :Vehicle rdf:type owl:Class ; rdfs:subClassOf saref:FeatureOfInterest , @@ -665,8 +634,8 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:hasValue :Height ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasIdentifier ; - owl:someValuesFrom :Identifier + owl:onProperty saref:hasIdentifier ; + owl:minCardinality 1 ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasProperty ; @@ -1251,3 +1220,15 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:subClassOf saref:State ; rdfs:comment "The state of shape of an entity: i.e., Sphere, Torus, Cylinder, Cone, Ellipsoid, Cube, Cuboid, Pyramid, Prism, Multiple shapes"@en ; rdfs:label "Shape"@en . + +### SAREF Pattern for identifiers + +:hasStationID rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf saref:hasIdentifier ; + rdfs:comment "Links vehicles and platoons to their identifier as defined in ETSI TS 102 894-2."@en ; + rdfs:label "has Station ID"@en . + +:hasUUID rdf:type 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 . -- GitLab From 3a0d2c11f66cc883c5cb9fb717039c3615b52e38 Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 30 May 2024 14:23:35 +0200 Subject: [PATCH 4/6] closes #30 --- ontology/saref4auto.ttl | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/ontology/saref4auto.ttl b/ontology/saref4auto.ttl index 767c666..49d389d 100644 --- a/ontology/saref4auto.ttl +++ b/ontology/saref4auto.ttl @@ -104,42 +104,46 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasConfidence"@en . -### https://saref.etsi.org/saref4auto/hasEnvironment :hasEnvironment rdf:type owl:ObjectProperty ; - rdfs:comment "A relation that allows to describe the environment of a vehicle"@en ; - rdfs:label "hasEnvironment"@en . + rdfs:range :VehicleEnvironment ; + rdfs:comment "A relation that allows to describe the environment of a vehicle"@en ; + rdfs:label "has Environment"@en . ### https://saref.etsi.org/saref4auto/hasOpeningTimeAvailability :hasOpeningTimeAvailability rdf:type owl:ObjectProperty ; - rdfs:comment "A relation to express the opening time of parking spot"@en ; - rdfs:label "hasOpeningTimeAvailability"@en . + rdfs:range time:TemporalEntity ; + rdfs:comment "A relation to express the opening time of parking spot"@en ; + rdfs:label "hasOpeningTimeAvailability"@en . ### https://saref.etsi.org/saref4auto/hasPlatoonRole :hasPlatoonRole rdf:type owl:ObjectProperty ; - rdfs:subPropertyOf :hasRole ; - 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:label "hasPlatoonRole"@en . + rdfs:subPropertyOf :hasRole ; + rdfs:range :PlatoonRole ; + 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:label "hasPlatoonRole"@en . ### https://saref.etsi.org/saref4auto/hasRole :hasRole rdf:type owl:ObjectProperty ; - rdfs:range :Role ; - rdfs:comment "A general relation to express that an entity can have a role"@en ; - rdfs:label "hasRole"@en . + rdfs:range :Role ; + rdfs:comment "A general relation to express that an entity can have a role"@en ; + rdfs:label "hasRole"@en . ### https://saref.etsi.org/saref4auto/isConfidenceOf :isConfidenceOf rdf:type owl:ObjectProperty ; - rdfs:comment "A relation between the confidence (s4auto:Confidence class) of some entity (ex. an observation) and that entity"@en ; - rdfs:label "isConfidenceOf"@en . + rdfs:domain :Confidence ; + rdfs:comment "A relation between the confidence (s4auto:Confidence class) of some entity (ex. an observation) and that entity"@en ; + rdfs:label "isConfidenceOf"@en . ### https://saref.etsi.org/saref4auto/usesProperty :usesProperty rdf:type owl:ObjectProperty ; - rdfs:comment "A relation to express that a device can use different types of properties, such as speed, position of detected road objects (e.g., bicycles, vehicles). This applies in particular to the ElectronicControlUnit and TrafficLightController classes."@en ; - rdfs:label "usesProperty"@en . + rdfs:range :Property ; + rdfs:comment "A relation to express that a device can use different types of properties, such as speed, position of detected road objects (e.g., bicycles, vehicles). This applies in particular to the ElectronicControlUnit and TrafficLightController classes."@en ; + rdfs:label "usesProperty"@en . ################################################################# @@ -166,8 +170,9 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ### https://saref.etsi.org/saref4auto/hasMaxSize :hasMaxSize rdf:type owl:DatatypeProperty ; - 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 may change over time and is therefore defined as a property (see s4auto:PlatoonSize)."@en ; - rdfs:label "hasMaxSize"@en . + rdfs:range xsd:integer ; + 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 may change over time and is therefore defined as a property (see s4auto:PlatoonSize)."@en ; + rdfs:label "hasMaxSize"@en . ################################################################# @@ -383,7 +388,7 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . ] , [ rdf:type owl:Restriction ; owl:onProperty :hasMaxSize ; - owl:someValuesFrom xsd:int + owl:cardinality 1 ] ; rdfs:comment "A group of vehicles automatically following each other at a relatively close distance" ; rdfs:label "Platoon"@en . -- GitLab From 95d325dbd4d0c9a6f924bc02d51fa15fadc9932b Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 30 May 2024 14:37:04 +0200 Subject: [PATCH 5/6] missed a dp --- ontology/saref4auto.ttl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ontology/saref4auto.ttl b/ontology/saref4auto.ttl index 49d389d..5479ac0 100644 --- a/ontology/saref4auto.ttl +++ b/ontology/saref4auto.ttl @@ -162,12 +162,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "hasDescriptionName"@en . -### https://saref.etsi.org/saref4auto/hasIDValue -:hasIDValue rdf:type owl:DatatypeProperty ; - rdfs:comment "A relationship to define the value of an indentifier"@en ; - rdfs:label "hasIDValue"@en . - - ### https://saref.etsi.org/saref4auto/hasMaxSize :hasMaxSize rdf:type owl:DatatypeProperty ; rdfs:range xsd:integer ; -- GitLab From c1505fe6d63e3ce363e5ab33aead30680a0c24ae Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 30 May 2024 14:47:13 +0200 Subject: [PATCH 6/6] closes #23: define states --- ontology/saref4auto.ttl | 108 +++++++++++++++++++++++++--------------- 1 file changed, 67 insertions(+), 41 deletions(-) diff --git a/ontology/saref4auto.ttl b/ontology/saref4auto.ttl index 219ef37..794efda 100644 --- a/ontology/saref4auto.ttl +++ b/ontology/saref4auto.ttl @@ -83,19 +83,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "has confidence unit of measure"@en . -### https://saref.etsi.org/saref4auto/hasAutomationLevel -:hasAutomationLevel rdf:type owl:ObjectProperty ; - 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:label "hasAutomationLevel"@en . - - ### https://saref.etsi.org/saref4auto/hasConfidence :hasConfidence rdf:type owl:ObjectProperty ; owl:inverseOf :isConfidenceOf ; @@ -186,12 +173,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "AccelerationConfidence"@en . -### https://saref.etsi.org/saref4auto/AutomationLevel -:AutomationLevel rdf:type owl:Class ; - rdfs:comment "The level of automation a platoon of vehicles or a singular vehicle"@en ; - rdfs:label "AutomationLevel"@en . - - ### https://saref.etsi.org/saref4auto/AutomotiveObject :AutomotiveObject rdf:type owl:Class ; rdfs:comment "The main objects of interest in the automotive domain."@en ; @@ -381,13 +362,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "Platoon"@en . -### https://saref.etsi.org/saref4auto/PlatoonAutomationLevel -:PlatoonAutomationLevel rdf:type owl:Class ; - rdfs:subClassOf :AutomationLevel ; - 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 . - - ### https://saref.etsi.org/saref4auto/PlatoonRole :PlatoonRole rdf:type owl:Class ; rdfs:subClassOf :Role ; @@ -595,8 +569,12 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . owl:someValuesFrom :VehicleKind ] , [ rdf:type owl:Restriction ; - owl:onProperty :hasAutomationLevel ; - owl:someValuesFrom :AutomationLevel + owl:onProperty saref:hasState ; + owl:hasValue :VehicleAutomationLevel + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:hasState ; + owl:hasValue :PlatoonAutomationLevel ] , [ rdf:type owl:Restriction ; owl:onProperty :hasBrakeCapacity ; @@ -673,19 +651,6 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:label "Vehicle Kind"@en . -### https://saref.etsi.org/saref4auto/VehicleAutomationLevel -:VehicleAutomationLevel rdf:type owl:Class ; - rdfs:subClassOf :AutomationLevel ; - 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:label "VehicleAutomationLevel"@en . - - ### https://saref.etsi.org/saref4auto/VehicleEnvironment :VehicleEnvironment rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; @@ -1206,6 +1171,67 @@ vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . rdfs:comment "The state of shape of an entity: i.e., Sphere, Torus, Cylinder, Cone, Ellipsoid, Cube, Cuboid, Pyramid, Prism, Multiple shapes"@en ; rdfs:label "Shape"@en . +### SAREF Pattern for states: automation level + +:PlatoonAutomationLevel rdf:type saref:State ; + 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 . + +:PlatoonAutomationLevelA rdf:type saref:State ; + skos:broader :PlatoonAutomationLevel ; + rdfs:label "Platoon Automation Level A"@en ; + rdfs:comment "Platoon Automation Level A [Source: ENSEMBLE project]."@en . + +:PlatoonAutomationLevelB rdf:type saref:State ; + skos:broader :PlatoonAutomationLevel ; + rdfs:label "Platoon Automation Level B"@en ; + rdfs:comment "Platoon Automation Level B [Source: ENSEMBLE project]."@en . + +:PlatoonAutomationLevelC rdf:type saref:State ; + skos:broader :PlatoonAutomationLevel ; + rdfs:label "Platoon Automation Level C"@en ; + rdfs:comment "Platoon Automation Level C [Source: ENSEMBLE project]."@en . + +:VehicleAutomationLevel rdf:type saref:State ; + 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:label "Vehicle Automation Level"@en . + +:VehicleAutomationLevel0 rdf:type saref:State ; + skos:broader :VehicleAutomationLevel ; + rdfs:label "Vehicle Automation Level 0"@en ; + rdfs:comment "Vehicle Automation Level 0: No Driving Automation [Source: SAE J3016]."@en . + +:VehicleAutomationLevel1 rdf:type saref:State ; + skos:broader :VehicleAutomationLevel ; + rdfs:label "Vehicle Automation Level 1"@en ; + rdfs:comment "Vehicle Automation Level 1: Driver assistance [Source: SAE J3016]."@en . + +:VehicleAutomationLevel2 rdf:type saref:State ; + skos:broader :VehicleAutomationLevel ; + rdfs:label "Vehicle Automation Level 2"@en ; + rdfs:comment "Vehicle Automation Level 2: Partial driving automation [Source: SAE J3016]."@en . + +:VehicleAutomationLevel3 rdf:type saref:State ; + skos:broader :VehicleAutomationLevel ; + rdfs:label "Vehicle Automation Level 3"@en ; + rdfs:comment "Vehicle Automation Level 3: Conditional driving automation [Source: SAE J3016]."@en . + +:VehicleAutomationLevel4 rdf:type saref:State ; + skos:broader :VehicleAutomationLevel ; + rdfs:label "Vehicle Automation Level 4"@en ; + rdfs:comment "Vehicle Automation Level 4: High driving automation [Source: SAE J3016]."@en . + +:VehicleAutomationLevel5 rdf:type saref:State ; + skos:broader :VehicleAutomationLevel ; + rdfs:label "Vehicle Automation Level 5"@en ; + rdfs:comment "Vehicle Automation Level 5: Full Driving automation [Source: SAE J3016]."@en . + ### SAREF Pattern for identifiers :hasStationID rdf:type owl:DatatypeProperty ; -- GitLab