Unverified Commit 1c322dac authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

use punning (testing)

parent 11bc2a99
Loading
Loading
Loading
Loading
+49 −5
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
@prefix time: <http://www.w3.org/2006/time#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix s4syst: <https://saref.etsi.org/saref4syst/> .
@@ -61,7 +62,7 @@ vann:preferredNamespaceUri a owl:AnnotationProperty .

:encapsulates a owl:ObjectProperty , owl:FunctionalProperty;
  rdfs:domain :DigitalRepresentation ;
  rdfs:range [ a owl:Class ; owl:intersectionOf ( [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] geo:Feature ) ] ;
  rdfs:range [ a owl:Class ; owl:unionOf ( saref:FeatureKind saref:FeatureOfInterest ) ] ;
  owl:inverseOf :hasDigitalRepresentation ;
  rdfs:comment "A relation between a digital representation and the physical objects it represents."@en ;
  rdfs:label "encapsulates"@en .
@@ -91,25 +92,39 @@ vann:preferredNamespaceUri a owl:AnnotationProperty .

:CommunicationInterface a owl:Class ;
  rdfs:subClassOf s4syst:ConnectionPoint ;
  rdfs:subClassOf [ a owl:Class ; owl:unionOf ( saref:FeatureOfInterest saref:FeatureKind ) ] ;
  rdfs:comment "An interface defines which primitive operations and services the lower layer makes available to the upper one, when referring to network layers. (Definition adapted from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ;
  rdfs:label "Communication interface"@en .

:CommunicationProtocol a owl:Class ;
  rdfs:subClassOf s4syst:Connection ;
  rdfs:subClassOf [ a owl:Class ; owl:unionOf ( saref:FeatureOfInterest saref:FeatureKind ) ] ;
  rdfs:comment "A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from \"Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.\")"@en ;
  rdfs:label "Communication protocol"@en .

:usesCommunicationInterface a owl:ObjectProperty ;
  rdfs:subPropertyOf s4syst:connectsAt ;
  rdfs:comment "A relation between a system and the communication interface it uses."@en ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Device saref:DeviceKind ) ] ;
  rdfs:range :CommunicationInterface ;
  rdfs:comment "A relation between a device and the communication interface it uses."@en ;
  rdfs:label "uses communication interface"@en .

# # a device inherits the communication interfaces of its device kind
# :usesCommunicationInterface owl:propertyChainAxiom ( saref:hasDeviceKind :usesCommunicationInterface ) .
# # a device inherits the kinds of its communication interface
# :usesCommunicationInterface owl:propertyChainAxiom ( :usesCommunicationInterface saref:hasFeatureKind ) .

:usesCommunicationProtocol a owl:ObjectProperty ;
  rdfs:subPropertyOf s4syst:connectedThrough ;
  rdfs:comment "A relation between a system and the communication protocol it uses."@en ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( saref:Device saref:DeviceKind ) ] ;
  rdfs:range :CommunicationProtocol ;
  rdfs:comment "A relation between a device and the communication protocol it uses."@en ;
  rdfs:label "uses communication protocol"@en .


# # a device inherits the communication protocol of its device kind
# :usesCommunicationProtocol owl:propertyChainAxiom ( saref:hasDeviceKind :usesCommunicationProtocol ) .
# # a device inherits the kinds of its communication protocol
# :usesCommunicationProtocol owl:propertyChainAxiom ( :usesCommunicationProtocol saref:hasFeatureKind ) .

#################################################################
#    Generic properties
@@ -221,13 +236,19 @@ vann:preferredNamespaceUri a owl:AnnotationProperty .
#    Light Point
#################################################################

:LightPoint a saref:FeatureKind , geo:Feature ;
:LightPoint a saref:FeatureKind ;
  :projectsLight :Light ;
  saref:hasProperty :LightProjectionDirection , :LightProjectionHeight ;
  rdfs:comment "An spatial point from where a light is projected. It might belong to a lamppost."@en ;
  rdfs:label "Light point"@en .


:LightPoint owl:equivalentClass [ owl:unionOf ( 
    [ a owl:Class ; owl:oneOf ( :LightPoint ) ] # itself
    [ a owl:Class ; owl:onProperty saref:broader ; owl:hasValue :LightPoint ] # narrower kinds
    [ a owl:Class ; owl:onProperty saref:hasFeatureKind ; owl:hasValue :LightPoint ] # things of this kind 
  ) ] .

#################################################################
#    Lamppost
#################################################################
@@ -238,17 +259,40 @@ vann:preferredNamespaceUri a owl:AnnotationProperty .
  rdfs:comment "A tall pole with a light at the top."@en ;
  rdfs:label "Lamppost"@en .

:Lamppost a owl:Class ;
  rdfs:subClassOf saref:Device ;
  owl:equivalentClass [ owl:unionOf ( 
    [ a owl:Class ; owl:oneOf ( :Lamppost ) ] # itself
    [ a owl:Class ; owl:onProperty saref:broader ; owl:hasValue :Lamppost ] # narrower kinds
    [ a owl:Class ; owl:onProperty saref:hasFeatureKind ; owl:hasValue :Lamppost ] # things of this kind 
  ) ] .

:ShieldedLamppost a saref:DeviceKind ;
  skos:broader :Lamppost ;
  rdfs:comment "A lampost with a shield."@en ;
  rdfs:label "Lamppost"@en .

:ShieldedLamppost owl:equivalentClass [ owl:unionOf ( 
    [ a owl:Class ; owl:oneOf ( :ShieldedLamppost ) ] # itself
    [ a owl:Class ; owl:onProperty saref:broader ; owl:hasValue :ShieldedLamppost ] # narrower kinds
    [ a owl:Class ; owl:onProperty saref:hasFeatureKind ; owl:hasValue :ShieldedLamppost ] # things of this kind 
  ) ] .

:hasLightPoint a owl:ObjectProperty ;
  rdfs:subPropertyOf saref:consistsOf ;
  rdfs:domain :Lamppost ;
  rdfs:range :LightPoint ;
  rdfs:comment "A relation between a lamppost and its light points"@en ;
  rdfs:label "has light point"@en .

# a device inherits the communication protocol of its kind
:hasLightPoint owl:propertyChainAxiom ( saref:hasFeatureKind :hasLightPoint ) .
# a device inherits the kinds of its communication protocol
:hasLightPoint owl:propertyChainAxiom ( :hasLightPoint saref:hasFeatureKind ) .

:projectsLight a owl:ObjectProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( :Lamppost :LightPoint ) ] ;
  rdfs:range :Light ;
  rdfs:comment "A relation between a lamppost or a light point and the light (or lights) they might project."@en ;
  rdfs:label "projects light"@en .