@prefix : <http://w3id.org/explainability/sense#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@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#> .
@base <http://w3id.org/explainability/sense#> .

<http://w3id.org/explainability/sense#> rdf:type owl:Ontology ;
                                         owl:imports <http://www.w3.org/ns/sosa/> ,
                                                     <https://www.w3.org/ns/ssn/> ;
                                         <http://purl.org/dc/elements/1.1/contributor> "Gernot Steindl" ,
                                                                                       "Ioan Toma" ,
                                                                                       "Marta Sabou" ,
                                                                                       "Mohammad Bilal" ,
                                                                                       "Simon Steyskal" ,
                                                                                       "Thomas Frühwirth" ;
                                         <http://purl.org/dc/elements/1.1/created> "2023-11-01" ;
                                         <http://purl.org/dc/elements/1.1/creator> "Fajar J. Ekaputra" ,
                                                                                   "Katrin Schreiberhuber" ;
                                         <http://purl.org/dc/elements/1.1/description> "An ontology to create an explainable Cyber Physical System (CPS)"@en ;
                                         <http://purl.org/dc/elements/1.1/license> <https://creativecommons.org/licenses/by/4.0> ;
                                         <http://purl.org/dc/elements/1.1/modified> "2024-04-02" ;
                                         <http://purl.org/dc/elements/1.1/title> "SENSE Ontology"@en ;
                                         <http://purl.org/vocab/vann/preferredNamespacePrefix> "s" ;
                                         <http://purl.org/vocab/vann/preferredNamespaceUri> "http://w3id.org/explainability/sense#" .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/elements/1.1/contributor
<http://purl.org/dc/elements/1.1/contributor> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/created
<http://purl.org/dc/elements/1.1/created> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/creator
<http://purl.org/dc/elements/1.1/creator> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/description
<http://purl.org/dc/elements/1.1/description> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/license
<http://purl.org/dc/elements/1.1/license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/modified
<http://purl.org/dc/elements/1.1/modified> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/title
<http://purl.org/dc/elements/1.1/title> rdf:type owl:AnnotationProperty .


###  http://www.w3.org/2002/07/owl#versionInfo
owl:versionInfo rdf:type owl:AnnotationProperty .


#################################################################
#    Object Properties
#################################################################

###  http://w3id.org/explainability/sense#associatedSensorType
:associatedSensorType rdf:type owl:ObjectProperty ;
                      rdfs:domain :EventType ,
                                  :StateType ;
                      rdfs:range :SensorType ;
                      rdfs:comment "relation between a state type and the sensor type, where such a state type can occur." ;
                      rdfs:label "associated sensor type" .


###  http://w3id.org/explainability/sense#causallyRelated
:causallyRelated rdf:type owl:ObjectProperty ;
                 rdfs:comment "A causal relation between two state instances." ;
                 rdfs:label "causally related" .


###  http://w3id.org/explainability/sense#cause
:cause rdf:type owl:ObjectProperty ;
       rdfs:domain :StateTypeCausality ;
       rdfs:range :StateType ;
       rdfs:comment "Relation between a state type causality and the state type that is the cause of the relation." ;
       rdfs:label "cause" .


###  http://w3id.org/explainability/sense#causes
:causes rdf:type owl:ObjectProperty ;
        rdfs:subPropertyOf :causallyRelated ;
        rdfs:comment "A type of causal relation. If eventA occurs, eventB most probably occurs as a result." ;
        rdfs:label "causes" .


###  http://w3id.org/explainability/sense#effect
:effect rdf:type owl:ObjectProperty ;
        rdfs:domain :StateTypeCausality ;
        rdfs:range :StateType ;
        rdfs:comment "Relation between a state type causality and the state type that is the effect of the relation." ;
        rdfs:label "effect" .


###  http://w3id.org/explainability/sense#enables
:enables rdf:type owl:ObjectProperty ;
         rdfs:subPropertyOf :causallyRelated ;
         rdfs:comment "A type of causal relation. If eventA does not occur, eventB most probably does not occur (not enabled to occur)" ;
         rdfs:label "enables" .


###  http://w3id.org/explainability/sense#hasCausalRelation
:hasCausalRelation rdf:type owl:ObjectProperty ;
                   rdfs:domain :StateTypeCausality ;
                   rdfs:range :causalRelation ;
                   rdfs:comment "relation between a state type causality and the type of causality described." ;
                   rdfs:label "has causal relation" .


###  http://w3id.org/explainability/sense#hasEndEvent
:hasEndEvent rdf:type owl:ObjectProperty ;
             rdfs:domain :State ;
             rdfs:range :Event ;
             rdfs:comment "relation between a state and the event that is ending the state." ;
             rdfs:label "has end event" .


###  http://w3id.org/explainability/sense#hasEndEventType
:hasEndEventType rdf:type owl:ObjectProperty ;
                 rdfs:domain :StateType ;
                 rdfs:range :EventType ;
                 rdfs:comment "Relation between a state type and an event type. Describes which event type ends a certain state type." ;
                 rdfs:label "has end event type" .


###  http://w3id.org/explainability/sense#hasEventType
:hasEventType rdf:type owl:ObjectProperty ;
              rdfs:domain :Event ;
              rdfs:range :EventType ;
              rdfs:comment "relation between an event and its event type." ;
              rdfs:label "has event type" .


###  http://w3id.org/explainability/sense#hasSensorType
:hasSensorType rdf:type owl:ObjectProperty ;
               rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
               rdfs:range :SensorType ;
               rdfs:comment "relation between a sensor and its sensor type." ;
               rdfs:label "has sensor type" .


###  http://w3id.org/explainability/sense#hasStartEvent
:hasStartEvent rdf:type owl:ObjectProperty ;
               rdfs:domain :State ;
               rdfs:range :Event ;
               rdfs:comment "relation between a state and the event that is starting the state." ;
               rdfs:label "has start event" .


###  http://w3id.org/explainability/sense#hasStartEventType
:hasStartEventType rdf:type owl:ObjectProperty ;
                   rdfs:domain :StateType ;
                   rdfs:range :EventType ;
                   rdfs:comment "Relation between a state type and an event type. Describes which event type starts a certain state type." ;
                   rdfs:label "has start event type" .


###  http://w3id.org/explainability/sense#hasStateType
:hasStateType rdf:type owl:ObjectProperty ;
              rdfs:domain :State ;
              rdfs:range :StateType ;
              rdfs:comment "relation between a state and its state type." ;
              rdfs:label "has state type" .


###  http://w3id.org/explainability/sense#hasTemporalRelation
:hasTemporalRelation rdf:type owl:ObjectProperty ;
                     rdfs:domain :StateTypeCausality ;
                     rdfs:range :temporalRelation ;
                     rdfs:comment "relation between a state type causality and the temporal restrictions of the relation." ;
                     rdfs:label "has temporal relation" .


###  http://w3id.org/explainability/sense#hasTopologicalRelation
:hasTopologicalRelation rdf:type owl:ObjectProperty ;
                        rdfs:domain :StateTypeCausality ;
                        rdfs:range :topologicalRelation ;
                        rdfs:comment "relation between a state type causality and the topological restrictions of the relation." ;
                        rdfs:label "has topological relation" .


###  http://w3id.org/explainability/sense#prevents
:prevents rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :causallyRelated ;
          rdfs:comment "A type of causal relation. If eventA occurs, eventB most probably does not occur as a result." ;
          rdfs:label "prevents" .


###  http://www.w3.org/ns/sosa/hasResult
<http://www.w3.org/ns/sosa/hasResult> rdf:type owl:ObjectProperty ;
                                      rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                      rdfs:range <http://www.w3.org/ns/sosa/Result> ;
                                      rdfs:label "has result" .


###  http://www.w3.org/ns/sosa/hosts
<http://www.w3.org/ns/sosa/hosts> rdf:type owl:ObjectProperty ;
                                  rdfs:domain <http://www.w3.org/ns/sosa/Platform> ;
                                  rdfs:range <http://www.w3.org/ns/sosa/Platform> ,
                                             <http://www.w3.org/ns/sosa/Sensor> ;
                                  rdfs:label "hosts" .


###  http://www.w3.org/ns/sosa/madeObservation
<http://www.w3.org/ns/sosa/madeObservation> rdf:type owl:ObjectProperty ;
                                            rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
                                            rdfs:range <http://www.w3.org/ns/sosa/Observation> ;
                                            rdfs:label "made observation" .


###  http://www.w3.org/ns/sosa/observedProperty
<http://www.w3.org/ns/sosa/observedProperty> rdf:type owl:ObjectProperty ;
                                             rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                             rdfs:range <http://www.w3.org/ns/sosa/ObservableProperty> ;
                                             rdfs:label "observed property" .


###  http://www.w3.org/ns/sosa/observes
<http://www.w3.org/ns/sosa/observes> rdf:type owl:ObjectProperty ;
                                     rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
                                     rdfs:range <http://www.w3.org/ns/sosa/ObservableProperty> ;
                                     rdfs:label "observes" .


###  http://www.w3.org/ns/sosa/usedProcedure
<http://www.w3.org/ns/sosa/usedProcedure> rdf:type owl:ObjectProperty ;
                                          rdfs:domain <http://www.w3.org/ns/sosa/Observation> ;
                                          rdfs:range <http://www.w3.org/ns/sosa/Procedure> ;
                                          rdfs:label "used procedure" .


###  https://www.w3.org/ns/ssn/implements
<https://www.w3.org/ns/ssn/implements> rdf:type owl:ObjectProperty ;
                                       rdfs:domain <http://www.w3.org/ns/sosa/Sensor> ;
                                       rdfs:range <http://www.w3.org/ns/sosa/Procedure> ;
                                       rdfs:label "implements" .


#################################################################
#    Data properties
#################################################################

###  http://w3id.org/explainability/sense#algorithm
:algorithm rdf:type owl:DatatypeProperty ;
           rdfs:comment "A reference to an algorithm, which implements a procedure" ;
           rdfs:label "algorithm" .


###  http://w3id.org/explainability/sense#timeSeriesDataRef
:timeSeriesDataRef rdf:type owl:DatatypeProperty ;
                   rdfs:comment "reference to the time series data that is needed for the procedure." ;
                   rdfs:label "time series data ref" .


###  http://www.w3.org/ns/sosa/phenomenonTime
<http://www.w3.org/ns/sosa/phenomenonTime> rdf:type owl:DatatypeProperty ;
                                           rdfs:label "phenomenon time" .


###  http://www.w3.org/ns/sosa/resultTime
<http://www.w3.org/ns/sosa/resultTime> rdf:type owl:DatatypeProperty ;
                                       rdfs:label "result time" .


#################################################################
#    Classes
#################################################################

###  http://w3id.org/explainability/sense#Event
:Event rdf:type owl:Class ;
       rdfs:subClassOf <http://www.w3.org/ns/sosa/Result> ;
       rdfs:comment "something happening in the system, which is of interest. An event is always considered to be happening at a single time point." ;
       rdfs:label "Event" .


###  http://w3id.org/explainability/sense#EventDetection
:EventDetection rdf:type owl:Class ;
                rdfs:subClassOf <http://www.w3.org/ns/sosa/Procedure> ;
                rdfs:comment "A procedure to detect an event in the system." ;
                rdfs:label "Event Detection" .


###  http://w3id.org/explainability/sense#EventToStateConversion
:EventToStateConversion rdf:type owl:Class ;
                        rdfs:subClassOf <http://www.w3.org/ns/sosa/Procedure> ;
                        rdfs:comment "A Procedure that is used to convert an event or set of events to a state or set of states." ;
                        rdfs:label "Event To State Conversion" .


###  http://w3id.org/explainability/sense#EventType
:EventType rdf:type owl:Class ;
           rdfs:comment "A type of event. Each event has an event type." ;
           rdfs:label "Event Type" .


###  http://w3id.org/explainability/sense#SensorType
:SensorType rdf:type owl:Class ;
            rdfs:comment "A type of a sensor. Each sensor as a sensor type." ;
            rdfs:label "Sensor Type" .


###  http://w3id.org/explainability/sense#State
:State rdf:type owl:Class ;
       rdfs:subClassOf <http://www.w3.org/ns/sosa/Result> ;
       rdfs:comment "A state of a sensor. A state is a condition of a sensor over a period of time. A state is started and ended by an event." ;
       rdfs:label "State" .


###  http://w3id.org/explainability/sense#StateType
:StateType rdf:type owl:Class ;
           rdfs:comment "A type of a state. Each state has a state type." ;
           rdfs:label "State Type" .


###  http://w3id.org/explainability/sense#StateTypeCausality
:StateTypeCausality rdf:type owl:Class ;
                    rdfs:comment "A type causality relation between two state types." ;
                    rdfs:label "State Type Causality" .


###  http://w3id.org/explainability/sense#causalRelation
:causalRelation rdf:type owl:Class ;
                rdfs:comment "A type of causal relation, which can be one of three options: causes, prevents, enables" ;
                rdfs:label "causal Relation" .


###  http://w3id.org/explainability/sense#temporalRelation
:temporalRelation rdf:type owl:Class ;
                  rdfs:comment "A type of temporal relation, which can be one of four options: before, overlaps, contains, identity" ;
                  rdfs:label "temporal Relation" .


###  http://w3id.org/explainability/sense#topologicalRelation
:topologicalRelation rdf:type owl:Class ;
                     rdfs:comment "A type of topological relation, which can be one of three options: samePlatform, siblingPlatform, parentPlatform" ;
                     rdfs:label "topological Relation" .


###  http://www.w3.org/ns/sosa/ObservableProperty
<http://www.w3.org/ns/sosa/ObservableProperty> rdf:type owl:Class ;
                                               rdfs:label "Observable Property" .


###  http://www.w3.org/ns/sosa/Observation
<http://www.w3.org/ns/sosa/Observation> rdf:type owl:Class ;
                                        rdfs:label "Observation" .


###  http://www.w3.org/ns/sosa/Platform
<http://www.w3.org/ns/sosa/Platform> rdf:type owl:Class ;
                                     rdfs:label "Platform" .


###  http://www.w3.org/ns/sosa/Procedure
<http://www.w3.org/ns/sosa/Procedure> rdf:type owl:Class ;
                                      rdfs:label "Procedure" .


###  http://www.w3.org/ns/sosa/Result
<http://www.w3.org/ns/sosa/Result> rdf:type owl:Class ;
                                   rdfs:label "Result" .


###  http://www.w3.org/ns/sosa/Sensor
<http://www.w3.org/ns/sosa/Sensor> rdf:type owl:Class ;
                                   rdfs:label "Sensor" .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
