Skip to content

Define Kinds instead of classes

Properties are now modeled as individuals, not classes.

Definitions of ex. VulnerableRoadUser would get easier as a feature kind, as the properties and states could be attached directly to the kind.

For example currently the definition is wrong:

:VulnerableRoadUser rdf:type owl:Class ;
                    rdfs:subClassOf owl:Thing ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty :hasHeight ;
                                      owl:someValuesFrom :Height
                                    ] ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty saref:hasProperty ;
                                      owl:someValuesFrom :Length
                                    ] ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty saref:hasState ;
                                      owl:someValuesFrom :Movement
                                    ] ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty :hasWidth ;
                                      owl:someValuesFrom :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 .

it should get:

:VulnerableRoadUser rdf:type owl:Class ;
                    rdfs:subClassOf owl:Thing ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty :hasHeight ;
                                      owl:hasValue :Height
                                    ] ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty saref:hasProperty ;
                                      owl:hasValue :Length
                                    ] ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty saref:hasState ;
                                      owl:hasValue :Movement
                                    ] ,
                                    [ rdf:type owl:Restriction ;
                                      owl:onProperty :hasWidth ;
                                      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 .

but it would be far simpler to just model the :VulnerableRoadUser as follows:

:VulnerableRoadUser rdf:type saref:FeatureKind ;
  saref:hasProperty :Height, :Length, :Width ;
  saref:hasState :Movement; 
  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 .
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information