Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
144 lines (122 sloc) 5.02 KB
@prefix : <http://www.imis.uni-luebeck.de/mate/sensors#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix mate: <http://www.imis.uni-luebeck.de/mate#> .
# describes this ontology
<http://www.imis.uni-luebeck.de/mate/sensors>
a owl:Ontology ;
rdfs:label "MATe Sensor Ontologie"@de , "MATe Sensors Ontology"@en ;
owl:imports <http://www.imis.uni-luebeck.de/mate> .
:DoorSensorState
a owl:Class ;
:ignoreIndex "true"^^xsd:boolean ;
rdfs:label "Türsensorzustand"@de , "Door Sensor State"@en ;
owl:oneOf (:uninterruptible :interruptible :maybeInterruptible) .
# object properties
# TODO: every property in an index might also be used for a HistoryEntry
# object, so either the history ontology augments these definitions,
# or we define a subclass of ObjectProperty,
# or we add HistoryEntry to the rdfs:domain
:sensorJID
a owl:ObjectProperty ;
rdfs:domain :SensorValue ;
rdfs:range owl:Thing ;
rdfs:label "Sensor-JID"@de, "sensor JID"@en ;
rdfs:comment "Jabber ID of the sensor this value originated from."@en ,
"Jabber-ID des Sensors von dem dieser Wert stammt."@de .
:roomID
a owl:ObjectProperty ;
rdfs:domain :SensorValue ;
rdfs:range owl:Thing ;
rdfs:label "Room-ID"@de , "room ID"@en ;
rdfs:comment "ID of the room this value is meant for."@en ,
"ID des Raums für den dieser Wert bestimmt ist."@de .
:desktopSensorProgram
a owl:ObjectProperty ;
rdfs:domain :DesktopSensorValue ;
rdfs:label "Desktopsensorprogramm"@de , "desktop sensor program"@en ;
rdfs:range :DesktopSensorProgram .
:desktopSensorFrequency
a owl:ObjectProperty ;
rdfs:domain :DesktopSensorValue ;
rdfs:label "desktop sensor frequency"@en , "Desktopsensorfrequenz"@de ;
rdfs:range :DesktopSensorFrequency .
:mikeSensorSpeaker
a owl:DatatypeProperty ;
rdfs:domain :MikeSensorValue ;
rdfs:range xsd:string ;
rdfs:label "Mike-Sensorsprecher"@en , "mike sensor speaker"@en .
:cubeSensorState
a owl:ObjectProperty ;
rdfs:domain :CubeSensorValue ;
rdfs:label "Cube-Sensorzustand"@de , "cube sensor state"@en ;
rdfs:range :CubeSensorState .
:doorSensorState
a owl:ObjectProperty ;
rdfs:domain :DoorSensorState ;
rdfs:label "Türsensorzustand"@de , "door sensor state"@en ;
rdfs:range :DoorSensorState .
# classes
:SensorValue
a owl:Class ;
:ignoreIndex "true"^^xsd:boolean ;
# sensor values have exactly one associated sensor
rdfs:subClassOf
[ a owl:Restriction ;
owl:onProperty :sensorJID ;
owl:cardinality "1"^^xsd:nonNegativeInteger
# TODO: can we construct a restriction to Jabber IDs?
# owl:allValuesFrom
] ;
# sensor values may be targeted on exactly one user or room
rdfs:subClassOf
[ a owl:Class ;
owl:unionOf
( [ a owl:Restriction ;
owl:onProperty :userID ;
owl:cardinality "1"^^xsd:nonNegativeInteger
]
[ a owl:Restriction ;
owl:onProperty :roomID ;
owl:cardinality "1"^^xsd:nonNegativeInteger
] )
] ;
rdfs:label "Sensor Value"@en, "Sensorwert"@de .
:MikeSensorValue
a owl:Class ;
rdfs:subClassOf :SensorValue ;
rdfs:label "Mike Sensor Value"@en , "Mike-Sensorwert"@de ;
mate:primaryKey (:sensorJID :userID) .
:CubeSensorValue
a owl:Class ;
rdfs:subClassOf :SensorValue ;
rdfs:label "Cube Sensor Value"@en , "Cube-Sensorwert"@de ;
mate:primaryKey (:sensorJID :userID) .
:DesktopSensorValue
a owl:Class ;
rdfs:subClassOf :SensorValue ;
rdfs:label "Desktop Sensor Value"@en , "Desktopsensorwert"@de ;
mate:primaryKey (:sensorJID :userID) .
:DoorSensorValue
a owl:Class ;
rdfs:subClassOf :SensorValue ;
rdfs:label "Door Sensor Value"@en , "Türsensorwert"@de ;
mate:primaryKey (:sensorJID :userID :roomID) .
# enumeration classes
:DesktopSensorFrequency
a owl:Class ;
:ignoreIndex "true"^^xsd:boolean ;
rdfs:label "Desktop Sensor Frequency"@en , "Desktopsensorfrequenz"@de ;
owl:oneOf (:inactive :active :veryActive) .
:DesktopSensorProgram
a owl:Class ;
:ignoreIndex "true"^^xsd:boolean ;
rdfs:label "Desktopsensorprogramm"@de , "Desktop Sensor Program"@en ;
owl:oneOf (:unknown :text :browser) .
:CubeSensorState
a owl:Class ;
:ignoreIndex "true"^^xsd:boolean ;
rdfs:label "Cube-Sensorzustand"@de , "Cube Sensor State"@en ;
owl:oneOf (:shortBreak :longBreak :reading :writing :meeting) .