@prefix : <https://w3id.org/knowledge-engine#> .
@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 <https://w3id.org/knowledge-engine#> .

<https://w3id.org/knowledge-engine> rdf:type owl:Ontology ;
                                     <http://purl.org/dc/terms/abstract> "The Knowledge Engine ontology describes concepts and relations that are relevant for the Knowledge Engine. The most important concepts are Knowledge Bases and Knowledge Interactions." ;
                                     <http://purl.org/dc/terms/created> "2020-11-16T13:31:00"^^xsd:dateTime ;
                                     <http://purl.org/dc/terms/creator> "Barry Nouwt" ,
                                                                        "Han Kruiger" ,
                                                                        "Wilco Wijbrandi" ;
                                     <http://purl.org/dc/terms/description> "The Knowledge Engine ontology describes concepts and relations that are relevant for the Knowledge Engine. The most important concepts are Knowledge Bases and Knowledge Interactions."@en ;
                                     <http://purl.org/dc/terms/license> "https://www.apache.org/licenses/LICENSE-2.0" ;
                                     <http://purl.org/dc/terms/modified> "2022-06-14T00:00:00"^^xsd:dateTime ;
                                     <http://purl.org/dc/terms/title> "Knowledge Engine Ontology" .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/terms/abstract
<http://purl.org/dc/terms/abstract> rdf:type owl:AnnotationProperty .


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


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


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


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


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


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


#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/knowledge-engine/consumerImplementsKnowledgeInteraction
<https://w3id.org/knowledge-engine/consumerImplementsKnowledgeInteraction> rdf:type owl:ObjectProperty .


###  https://w3id.org/knowledge-engine/consumesService
<https://w3id.org/knowledge-engine/consumesService> rdf:type owl:ObjectProperty ;
                                                    rdfs:subPropertyOf owl:topObjectProperty .


###  https://w3id.org/knowledge-engine/hasCommunicativeAct
<https://w3id.org/knowledge-engine/hasCommunicativeAct> rdf:type owl:ObjectProperty ;
                                                        rdfs:subPropertyOf owl:topObjectProperty ;
                                                        rdfs:domain <https://w3id.org/knowledge-engine/KnowledgeInteraction> ;
                                                        rdfs:range <https://w3id.org/knowledge-engine/CommunicativeAct> .


###  https://w3id.org/knowledge-engine/hasGraphPattern
<https://w3id.org/knowledge-engine/hasGraphPattern> rdf:type owl:ObjectProperty ;
                                                    rdfs:subPropertyOf owl:topObjectProperty ;
                                                    rdfs:domain <https://w3id.org/knowledge-engine/KnowledgeInteraction> ;
                                                    rdfs:range <https://w3id.org/knowledge-engine/BaseGraphPattern> .


###  https://w3id.org/knowledge-engine/hasKnowledgeInteraction
<https://w3id.org/knowledge-engine/hasKnowledgeInteraction> rdf:type owl:ObjectProperty ;
                                                            rdfs:subPropertyOf owl:topObjectProperty ;
                                                            rdfs:domain <https://w3id.org/knowledge-engine/KnowledgeBase> ;
                                                            rdfs:range <https://w3id.org/knowledge-engine/KnowledgeInteraction> .


###  https://w3id.org/knowledge-engine/hasPurpose
<https://w3id.org/knowledge-engine/hasPurpose> rdf:type owl:ObjectProperty ;
                                               rdfs:subPropertyOf owl:topObjectProperty .


###  https://w3id.org/knowledge-engine/hasRequirement
<https://w3id.org/knowledge-engine/hasRequirement> rdf:type owl:ObjectProperty ;
                                                   rdfs:subPropertyOf <https://w3id.org/knowledge-engine/hasPurpose> ;
                                                   owl:propertyDisjointWith <https://w3id.org/knowledge-engine/hasSatisfaction> .


###  https://w3id.org/knowledge-engine/hasSatisfaction
<https://w3id.org/knowledge-engine/hasSatisfaction> rdf:type owl:ObjectProperty ;
                                                    rdfs:subPropertyOf <https://w3id.org/knowledge-engine/hasPurpose> .


###  https://w3id.org/knowledge-engine/hasSmartConnector
<https://w3id.org/knowledge-engine/hasSmartConnector> rdf:type owl:ObjectProperty .


###  https://w3id.org/knowledge-engine/providerImplementsKnowledgeInteraction
<https://w3id.org/knowledge-engine/providerImplementsKnowledgeInteraction> rdf:type owl:ObjectProperty .


###  https://w3id.org/knowledge-engine/providesService
<https://w3id.org/knowledge-engine/providesService> rdf:type owl:ObjectProperty .


#################################################################
#    Data properties
#################################################################

###  https://w3id.org/knowledge-engine/hasData
<https://w3id.org/knowledge-engine/hasData> rdf:type owl:DatatypeProperty ;
                                            rdfs:comment """This property bridges the gap between metadata and data. 

It is not meant to be used in actual descriptions of knowledge bases. Instead, it is meant to be used in the Recipient Selector of the Developer API to indicate that the Knowledge Base wants to send a message to other Knowledge Bases with a certain property where this property is described in terms of the domain. So, for example, a Knowledge Base wants to send a message to all other Knowledge Bases that gave 24 degrees celsius as the temperature of a particular room.""" .


###  https://w3id.org/knowledge-engine/hasDescription
<https://w3id.org/knowledge-engine/hasDescription> rdf:type owl:DatatypeProperty ;
                                                   rdfs:subPropertyOf owl:topDataProperty .


###  https://w3id.org/knowledge-engine/hasEndpoint
<https://w3id.org/knowledge-engine/hasEndpoint> rdf:type owl:DatatypeProperty .


###  https://w3id.org/knowledge-engine/hasName
<https://w3id.org/knowledge-engine/hasName> rdf:type owl:DatatypeProperty ;
                                            rdfs:subPropertyOf owl:topDataProperty .


###  https://w3id.org/knowledge-engine/hasPattern
<https://w3id.org/knowledge-engine/hasPattern> rdf:type owl:DatatypeProperty ;
                                               rdfs:domain <https://w3id.org/knowledge-engine/BaseGraphPattern> ;
                                               rdfs:range xsd:string .


###  https://w3id.org/knowledge-engine/isMeta
<https://w3id.org/knowledge-engine/isMeta> rdf:type owl:DatatypeProperty ;
                                           rdfs:subPropertyOf owl:topDataProperty ;
                                           rdfs:comment "This property indicates whether the KnowledgeInteraction it is attached to is a meta interaction that is used for internal Knowledge Engine communication, or whether it is not a meta interaction indicating that it is a capability of the actual KnowledgeBase it is attached to." .


#################################################################
#    Classes
#################################################################

###  https://w3id.org/knowledge-engine/ActuationPurpose
<https://w3id.org/knowledge-engine/ActuationPurpose> rdf:type owl:Class ;
                                                     rdfs:subClassOf <https://w3id.org/knowledge-engine/Purpose> ;
                                                     rdfs:comment """This purpose should be required when an actuation has to be done. E.g., if a UI wants to set a power limit to a subnet, it should require the ActuationPurpose.
If a Knowledge Base can enact the actuation it satisfies the purpose. E.g., when a knowledge base can switch a lamp on or off.""" .


###  https://w3id.org/knowledge-engine/AnswerKnowledgeInteraction
<https://w3id.org/knowledge-engine/AnswerKnowledgeInteraction> rdf:type owl:Class ;
                                                               rdfs:subClassOf <https://w3id.org/knowledge-engine/KnowledgeInteraction> ,
                                                                               [ rdf:type owl:Restriction ;
                                                                                 owl:onProperty <https://w3id.org/knowledge-engine/hasGraphPattern> ;
                                                                                 owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                                 owl:onClass <https://w3id.org/knowledge-engine/GraphPattern>
                                                                               ] ;
                                                               rdfs:comment "An answer knowledge interaction is a declaration that specifies the shape of knowledge that is available in the knowledge base."@en .


###  https://w3id.org/knowledge-engine/ArgumentGraphPattern
<https://w3id.org/knowledge-engine/ArgumentGraphPattern> rdf:type owl:Class ;
                                                         rdfs:subClassOf <https://w3id.org/knowledge-engine/BaseGraphPattern> ;
                                                         rdfs:label "Argument graph pattern" .


###  https://w3id.org/knowledge-engine/AskKnowledgeInteraction
<https://w3id.org/knowledge-engine/AskKnowledgeInteraction> rdf:type owl:Class ;
                                                            rdfs:subClassOf <https://w3id.org/knowledge-engine/KnowledgeInteraction> ,
                                                                            [ rdf:type owl:Restriction ;
                                                                              owl:onProperty <https://w3id.org/knowledge-engine/hasGraphPattern> ;
                                                                              owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                              owl:onClass <https://w3id.org/knowledge-engine/GraphPattern>
                                                                            ] ;
                                                            rdfs:comment "An ask knowledge interaction declares the shape of knowledge that a knowledge base possibly asks its smart connector for."@en .


###  https://w3id.org/knowledge-engine/BaseGraphPattern
<https://w3id.org/knowledge-engine/BaseGraphPattern> rdf:type owl:Class ;
                                                     rdfs:subClassOf [ rdf:type owl:Restriction ;
                                                                       owl:onProperty <https://w3id.org/knowledge-engine/hasPattern> ;
                                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                       owl:onDataRange xsd:string
                                                                     ] ;
                                                     rdfs:comment "A graph pattern is used for describing knowledge. It uses basic graph pattern (BGP) from the SPARQL specification which includes terms from the ontology combined with variables." ;
                                                     rdfs:seeAlso "https://www.w3.org/TR/rdf-sparql-query/#BasicGraphPatterns"^^xsd:anyURI .


###  https://w3id.org/knowledge-engine/ChangedKnowledgePurpose
<https://w3id.org/knowledge-engine/ChangedKnowledgePurpose> rdf:type owl:Class ;
                                                            rdfs:subClassOf <https://w3id.org/knowledge-engine/InformPurpose> ;
                                                            rdfs:comment "The purpose is to inform (or be informed) about knowledge that is updated. (Vaguely the 'U' in CRUD.)"@en .


###  https://w3id.org/knowledge-engine/CommunicativeAct
<https://w3id.org/knowledge-engine/CommunicativeAct> rdf:type owl:Class ;
                                                     rdfs:subClassOf [ rdf:type owl:Restriction ;
                                                                       owl:onProperty <https://w3id.org/knowledge-engine/hasRequirement> ;
                                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                       owl:onClass <https://w3id.org/knowledge-engine/Purpose>
                                                                     ] ,
                                                                     [ rdf:type owl:Restriction ;
                                                                       owl:onProperty <https://w3id.org/knowledge-engine/hasSatisfaction> ;
                                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                       owl:onClass <https://w3id.org/knowledge-engine/Purpose>
                                                                     ] ;
                                                     rdfs:comment "The communicative act is part of a Knowledge Interaction and describes the purposes of why data is exchanged. It distinguishes between the purposes it requires and the purposes it satisfies."@en .


###  https://w3id.org/knowledge-engine/ConversionPurpose
<https://w3id.org/knowledge-engine/ConversionPurpose> rdf:type owl:Class ;
                                                      rdfs:subClassOf <https://w3id.org/knowledge-engine/Purpose> ;
                                                      rdfs:comment "The purpose of the knowledge interaction is to convert knowledge to a different representation. (E.g., converting Fahrenheit to Celsius.)"@en .


###  https://w3id.org/knowledge-engine/GraphPattern
<https://w3id.org/knowledge-engine/GraphPattern> rdf:type owl:Class ;
                                                 rdfs:subClassOf <https://w3id.org/knowledge-engine/BaseGraphPattern> ;
                                                 rdfs:label "Graph pattern" .


###  https://w3id.org/knowledge-engine/InformPurpose
<https://w3id.org/knowledge-engine/InformPurpose> rdf:type owl:Class ;
                                                  rdfs:subClassOf <https://w3id.org/knowledge-engine/Purpose> ;
                                                  rdfs:comment "The purpose is to inform or be informed about changes in (availability of) knowledge. (Vaguely CRUD.)"@en .


###  https://w3id.org/knowledge-engine/KnowledgeBase
<https://w3id.org/knowledge-engine/KnowledgeBase> rdf:type owl:Class ;
                                                  rdfs:subClassOf [ rdf:type owl:Restriction ;
                                                                    owl:onProperty <https://w3id.org/knowledge-engine/hasKnowledgeInteraction> ;
                                                                    owl:someValuesFrom <https://w3id.org/knowledge-engine/KnowledgeInteraction>
                                                                  ] ,
                                                                  [ rdf:type owl:Restriction ;
                                                                    owl:onProperty <https://w3id.org/knowledge-engine/consumesService> ;
                                                                    owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
                                                                    owl:onClass <https://w3id.org/knowledge-engine/ServiceDescription>
                                                                  ] ,
                                                                  [ rdf:type owl:Restriction ;
                                                                    owl:onProperty <https://w3id.org/knowledge-engine/providesService> ;
                                                                    owl:minQualifiedCardinality "0"^^xsd:nonNegativeInteger ;
                                                                    owl:onClass <https://w3id.org/knowledge-engine/ServiceDescription>
                                                                  ] ,
                                                                  [ rdf:type owl:Restriction ;
                                                                    owl:onProperty <https://w3id.org/knowledge-engine/hasSmartConnector> ;
                                                                    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                    owl:onClass <https://w3id.org/knowledge-engine/SmartConnector>
                                                                  ] ,
                                                                  [ rdf:type owl:Restriction ;
                                                                    owl:onProperty <https://w3id.org/knowledge-engine/hasDescription> ;
                                                                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                    owl:onDataRange xsd:string
                                                                  ] ,
                                                                  [ rdf:type owl:Restriction ;
                                                                    owl:onProperty <https://w3id.org/knowledge-engine/hasName> ;
                                                                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                    owl:onDataRange xsd:string
                                                                  ] ;
                                                  rdfs:comment """A knowledge base is a 'thing' that (through knowledge interactions) has a contract with its smart connector about how it exchanges knowledge.

Examples include:

- a database
- a weather station
- a machine learning model
- a GUI that is presented to a human to make decisions"""@en .


###  https://w3id.org/knowledge-engine/KnowledgeInteraction
<https://w3id.org/knowledge-engine/KnowledgeInteraction> rdf:type owl:Class ;
                                                         rdfs:subClassOf [ rdf:type owl:Restriction ;
                                                                           owl:onProperty <https://w3id.org/knowledge-engine/hasCommunicativeAct> ;
                                                                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                           owl:onClass <https://w3id.org/knowledge-engine/CommunicativeAct>
                                                                         ] ,
                                                                         [ rdf:type owl:Restriction ;
                                                                           owl:onProperty <https://w3id.org/knowledge-engine/isMeta> ;
                                                                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                           owl:onDataRange xsd:boolean
                                                                         ] ,
                                                                         [ rdf:type owl:Restriction ;
                                                                           owl:onProperty <https://w3id.org/knowledge-engine/hasName> ;
                                                                           owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                           owl:onDataRange xsd:string
                                                                         ] ;
                                                         rdfs:comment "A knowledge interaction is a declaration of how a knowledge base interacts with its smart connector."@en .


###  https://w3id.org/knowledge-engine/NewKnowledgePurpose
<https://w3id.org/knowledge-engine/NewKnowledgePurpose> rdf:type owl:Class ;
                                                        rdfs:subClassOf <https://w3id.org/knowledge-engine/InformPurpose> ;
                                                        rdfs:comment "The purpose is to inform (or be informed) about knowledge that is created. (Vaguely the 'C' in CRUD.)"@en .


###  https://w3id.org/knowledge-engine/PeriodicPurpose
<https://w3id.org/knowledge-engine/PeriodicPurpose> rdf:type owl:Class ;
                                                    rdfs:subClassOf <https://w3id.org/knowledge-engine/Purpose> ;
                                                    owl:disjointWith <https://w3id.org/knowledge-engine/WhenChangedPurpose> ;
                                                    rdfs:comment "The purpose is to periodically exchange knowledge through the interaction. E.g., hourly measurements."@en .


###  https://w3id.org/knowledge-engine/PostKnowledgeInteraction
<https://w3id.org/knowledge-engine/PostKnowledgeInteraction> rdf:type owl:Class ;
                                                             rdfs:subClassOf <https://w3id.org/knowledge-engine/KnowledgeInteraction> ,
                                                                             [ owl:intersectionOf ( [ rdf:type owl:Restriction ;
                                                                                                      owl:onProperty <https://w3id.org/knowledge-engine/hasGraphPattern> ;
                                                                                                      owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                                                      owl:onClass <https://w3id.org/knowledge-engine/ArgumentGraphPattern>
                                                                                                    ]
                                                                                                    [ rdf:type owl:Restriction ;
                                                                                                      owl:onProperty <https://w3id.org/knowledge-engine/hasGraphPattern> ;
                                                                                                      owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                                                      owl:onClass <https://w3id.org/knowledge-engine/ResultGraphPattern>
                                                                                                    ]
                                                                                                  ) ;
                                                                               rdf:type owl:Class
                                                                             ] ;
                                                             rdfs:comment "A post knowledge interaction declares that this knowledge base can initiate an interaction where it sends some knowledge (matching the argument graph pattern) to its smart connector, and expects as a result some other knowledge (matchin the result graph pattern)."@en ;
                                                             rdfs:seeAlso <https://w3id.org/knowledge-engine/ReactKnowledgeInteraction> .


###  https://w3id.org/knowledge-engine/Purpose
<https://w3id.org/knowledge-engine/Purpose> rdf:type owl:Class ;
                                            rdfs:comment "The purpose of a particular exchange of information from the perspective of a KnowledgeBase. The purpose is used to define the purposes a communicative act requires and the purposes a communicative act satisfies. These together allow the Knowledge Engine to determine whether two Knowledge Interactions match or not." .


###  https://w3id.org/knowledge-engine/ReactKnowledgeInteraction
<https://w3id.org/knowledge-engine/ReactKnowledgeInteraction> rdf:type owl:Class ;
                                                              rdfs:subClassOf <https://w3id.org/knowledge-engine/KnowledgeInteraction> ,
                                                                              [ owl:intersectionOf ( [ rdf:type owl:Restriction ;
                                                                                                       owl:onProperty <https://w3id.org/knowledge-engine/hasGraphPattern> ;
                                                                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                                                       owl:onClass <https://w3id.org/knowledge-engine/ArgumentGraphPattern>
                                                                                                     ]
                                                                                                     [ rdf:type owl:Restriction ;
                                                                                                       owl:onProperty <https://w3id.org/knowledge-engine/hasGraphPattern> ;
                                                                                                       owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                                                       owl:onClass <https://w3id.org/knowledge-engine/ResultGraphPattern>
                                                                                                     ]
                                                                                                   ) ;
                                                                                rdf:type owl:Class
                                                                              ] ;
                                                              rdfs:comment "A react knowledge interaction declares that this knowledge base can respond to an interaction where it receives some knowledge (matching the argument graph pattern) from its smart connector, and is expected to give as a result some other knowledge (matching the result graph pattern)."@en ;
                                                              rdfs:seeAlso <https://w3id.org/knowledge-engine/PostKnowledgeInteraction> .


###  https://w3id.org/knowledge-engine/RemovedKnowledgePurpose
<https://w3id.org/knowledge-engine/RemovedKnowledgePurpose> rdf:type owl:Class ;
                                                            rdfs:subClassOf <https://w3id.org/knowledge-engine/InformPurpose> ;
                                                            rdfs:comment "The purpose is to inform (or be informed) about knowledge that is removed. (Vaguely the 'D' in CRUD.)"@en .


###  https://w3id.org/knowledge-engine/ResultGraphPattern
<https://w3id.org/knowledge-engine/ResultGraphPattern> rdf:type owl:Class ;
                                                       rdfs:subClassOf <https://w3id.org/knowledge-engine/BaseGraphPattern> ;
                                                       rdfs:label "Result graph pattern" .


###  https://w3id.org/knowledge-engine/RetrieveKnowledgePurpose
<https://w3id.org/knowledge-engine/RetrieveKnowledgePurpose> rdf:type owl:Class ;
                                                             rdfs:subClassOf <https://w3id.org/knowledge-engine/InformPurpose> ;
                                                             rdfs:comment "The purpose is retrieving knowledge (or being retrieved). (Vaguely the 'R' in CRUD.)"@en .


###  https://w3id.org/knowledge-engine/ServiceDescription
<https://w3id.org/knowledge-engine/ServiceDescription> rdf:type owl:Class ;
                                                       rdfs:subClassOf [ rdf:type owl:Restriction ;
                                                                         owl:onProperty <https://w3id.org/knowledge-engine/consumerImplementsKnowledgeInteraction> ;
                                                                         owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                         owl:onClass <https://w3id.org/knowledge-engine/KnowledgeInteraction>
                                                                       ] ,
                                                                       [ rdf:type owl:Restriction ;
                                                                         owl:onProperty <https://w3id.org/knowledge-engine/providerImplementsKnowledgeInteraction> ;
                                                                         owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                         owl:onClass <https://w3id.org/knowledge-engine/KnowledgeInteraction>
                                                                       ] ,
                                                                       [ rdf:type owl:Restriction ;
                                                                         owl:onProperty <https://w3id.org/knowledge-engine/hasDescription> ;
                                                                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                         owl:onDataRange xsd:string
                                                                       ] ,
                                                                       [ rdf:type owl:Restriction ;
                                                                         owl:onProperty <https://w3id.org/knowledge-engine/hasName> ;
                                                                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                         owl:onDataRange xsd:string
                                                                       ] .


###  https://w3id.org/knowledge-engine/SmartConnector
<https://w3id.org/knowledge-engine/SmartConnector> rdf:type owl:Class ;
                                                   rdfs:subClassOf [ rdf:type owl:Restriction ;
                                                                     owl:onProperty <https://w3id.org/knowledge-engine/hasEndpoint> ;
                                                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                                     owl:onDataRange xsd:string
                                                                   ] .


###  https://w3id.org/knowledge-engine/WhenChangedPurpose
<https://w3id.org/knowledge-engine/WhenChangedPurpose> rdf:type owl:Class ;
                                                       rdfs:subClassOf <https://w3id.org/knowledge-engine/Purpose> ;
                                                       rdfs:comment "The purpose of the knowledge exchange is to only send updates when the knowledge changes. E.g., to only send a message when a toggle is toggled."@en .


#################################################################
#    General axioms
#################################################################

[ rdf:type owl:AllDisjointClasses ;
  owl:members ( <https://w3id.org/knowledge-engine/AnswerKnowledgeInteraction>
                <https://w3id.org/knowledge-engine/AskKnowledgeInteraction>
                <https://w3id.org/knowledge-engine/PostKnowledgeInteraction>
                <https://w3id.org/knowledge-engine/ReactKnowledgeInteraction>
              )
] .


[ rdf:type owl:AllDisjointClasses ;
  owl:members ( <https://w3id.org/knowledge-engine/ArgumentGraphPattern>
                <https://w3id.org/knowledge-engine/GraphPattern>
                <https://w3id.org/knowledge-engine/ResultGraphPattern>
              )
] .


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