diff --git a/ontology/saref.ttl b/ontology/saref.ttl index 203d4cbdae8341059d3e188a673aef739c67f956..76d498544eabcddffc5c2c8485949694879b3152 100644 --- a/ontology/saref.ttl +++ b/ontology/saref.ttl @@ -303,6 +303,10 @@ saref:CloseCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:OpenCloseState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:OpenCloseFunction ] ; owl:disjointWith saref:OpenCommand ; rdfs:comment "A type of command"^^xsd:string ; @@ -480,10 +484,6 @@ saref:EnergyUnit rdf:type owl:Class ; ### https://saref.etsi.org/EventFunction saref:EventFunction rdf:type owl:Class ; rdfs:subClassOf saref:Function , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom saref:NotifyCommand - ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasThresholdMeasurement ; owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; @@ -534,28 +534,44 @@ saref:GetCommand rdf:type owl:Class ; ### https://saref.etsi.org/GetCurrentMeterValueCommand saref:GetCurrentMeterValueCommand rdf:type owl:Class ; - rdfs:subClassOf saref:GetCommand ; + rdfs:subClassOf saref:GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:MeteringFunction + ] ; rdfs:comment "A type of get command"^^xsd:string ; rdfs:label "Get current meter value command"^^xsd:string . ### https://saref.etsi.org/GetMeterDataCommand saref:GetMeterDataCommand rdf:type owl:Class ; - rdfs:subClassOf saref:GetCommand ; + rdfs:subClassOf saref:GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:MeteringFunction + ] ; rdfs:comment "A type of get command"^^xsd:string ; rdfs:label "Get meter data command"^^xsd:string . ### https://saref.etsi.org/GetMeterHistoryCommand saref:GetMeterHistoryCommand rdf:type owl:Class ; - rdfs:subClassOf saref:GetCommand ; + rdfs:subClassOf saref:GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:MeteringFunction + ] ; rdfs:comment "A type of get command"^^xsd:string ; rdfs:label "Get meter history command"^^xsd:string . ### https://saref.etsi.org/GetSensingDataCommand saref:GetSensingDataCommand rdf:type owl:Class ; - rdfs:subClassOf saref:GetCommand ; + rdfs:subClassOf saref:GetCommand , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:SensingFunction + ] ; rdfs:comment "A type of get command"^^xsd:string ; rdfs:label "Get sensing data command"^^xsd:string . @@ -583,17 +599,7 @@ saref:IlluminanceUnit rdf:type owl:Class ; ### https://saref.etsi.org/LevelControlFunction saref:LevelControlFunction rdf:type owl:Class ; - rdfs:subClassOf saref:ActuatingFunction , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom [ rdf:type owl:Class ; - owl:unionOf ( saref:SetAbsoluteLevelCommand - saref:SetRelativeLevelCommand - saref:StepDownCommand - saref:StepUpCommand - ) - ] - ] ; + rdfs:subClassOf saref:ActuatingFunction ; rdfs:comment "An actuating function that allows to do level adjustments of an actuator in a certain range (e.g., 0%-100%), such as dimming a light or set the speed of an electric motor. "^^xsd:string ; rdfs:label "Level control function"^^xsd:string . @@ -689,15 +695,6 @@ saref:Meter rdf:type owl:Class ; ### https://saref.etsi.org/MeteringFunction saref:MeteringFunction rdf:type owl:Class ; rdfs:subClassOf saref:Function , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom [ rdf:type owl:Class ; - owl:unionOf ( saref:GetCurrentMeterValueCommand - saref:GetMeterDataCommand - saref:GetMeterHistoryCommand - ) - ] - ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasMeterReading ; owl:allValuesFrom saref:Measurement @@ -751,7 +748,11 @@ saref:Network rdf:type owl:Class ; ### https://saref.etsi.org/NotifyCommand saref:NotifyCommand rdf:type owl:Class ; - rdfs:subClassOf saref:Command ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:EventFunction + ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Notify command"^^xsd:string . @@ -769,7 +770,11 @@ saref:OffCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:OnOffState - ] ; + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:OnOffFunction + ] ; owl:disjointWith saref:OnCommand ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Off command"^^xsd:string . @@ -788,6 +793,10 @@ saref:OnCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:OnOffState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:OnOffFunction ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "On command"^^xsd:string . @@ -795,16 +804,7 @@ saref:OnCommand rdf:type owl:Class ; ### https://saref.etsi.org/OnOffFunction saref:OnOffFunction rdf:type owl:Class ; - rdfs:subClassOf saref:ActuatingFunction , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom [ rdf:type owl:Class ; - owl:unionOf ( saref:OffCommand - saref:OnCommand - saref:ToggleCommand - ) - ] - ] ; + rdfs:subClassOf saref:ActuatingFunction ; rdfs:comment "An actuating function that allows to switch on and off an actuator"^^xsd:string ; rdfs:label "On off function"^^xsd:string . @@ -825,15 +825,7 @@ saref:OnState rdf:type owl:Class ; ### https://saref.etsi.org/OpenCloseFunction saref:OpenCloseFunction rdf:type owl:Class ; - rdfs:subClassOf saref:ActuatingFunction , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom [ rdf:type owl:Class ; - owl:unionOf ( saref:CloseCommand - saref:OpenCommand - ) - ] - ] ; + rdfs:subClassOf saref:ActuatingFunction ; rdfs:comment "An actuating function that allows to open and close a device"^^xsd:string ; rdfs:label "Open close function"^^xsd:string . @@ -851,6 +843,10 @@ saref:OpenCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:OpenCloseState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:OpenCloseFunction ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Open command"^^xsd:string . @@ -956,10 +952,6 @@ saref:SensingFunction rdf:type owl:Class ; owl:onProperty saref:hasSensingRange ; owl:someValuesFrom saref:Measurement ] , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom saref:GetSensingDataCommand - ] , [ rdf:type owl:Restriction ; owl:onProperty saref:hasSensorType ; owl:allValuesFrom saref:Property @@ -1008,6 +1000,10 @@ saref:SetLevelCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:MultiLevelState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:LevelControlFunction ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Set level command"^^xsd:string . @@ -1052,6 +1048,10 @@ saref:StartCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:StartStopState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:StartStopFunction ] ; owl:disjointWith saref:StopCommand ; rdfs:comment "A type of command"^^xsd:string ; @@ -1067,15 +1067,7 @@ saref:StartState rdf:type owl:Class ; ### https://saref.etsi.org/StartStopFunction saref:StartStopFunction rdf:type owl:Class ; - rdfs:subClassOf saref:ActuatingFunction , - [ rdf:type owl:Restriction ; - owl:onProperty saref:hasCommand ; - owl:allValuesFrom [ rdf:type owl:Class ; - owl:unionOf ( saref:StartCommand - saref:StopCommand - ) - ] - ] ; + rdfs:subClassOf saref:ActuatingFunction ; rdfs:comment "An actuating function that allows to start and stop a device"^^xsd:string ; rdfs:label "Start stop function"^^xsd:string . @@ -1099,6 +1091,10 @@ saref:StepDownCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:MultiLevelState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:LevelControlFunction ] ; owl:disjointWith saref:StepUpCommand ; rdfs:comment "A type of command"^^xsd:string ; @@ -1111,6 +1107,10 @@ saref:StepUpCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:MultiLevelState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:LevelControlFunction ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Step up command"^^xsd:string . @@ -1122,6 +1122,10 @@ saref:StopCommand rdf:type owl:Class ; [ rdf:type owl:Restriction ; owl:onProperty saref:actsUpon ; owl:someValuesFrom saref:StartStopState + ] , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:StartStopFunction ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Stop command"^^xsd:string . @@ -1211,7 +1215,11 @@ saref:Time rdf:type owl:Class ; ### https://saref.etsi.org/ToggleCommand saref:ToggleCommand rdf:type owl:Class ; - rdfs:subClassOf saref:Command ; + rdfs:subClassOf saref:Command , + [ rdf:type owl:Restriction ; + owl:onProperty saref:isCommandOf ; + owl:allValuesFrom saref:OnOffFunction + ] ; rdfs:comment "A type of command"^^xsd:string ; rdfs:label "Toggle command"^^xsd:string .