Service-Oriented Architecture Ontology Version 2.0 – The OWL Definition of the Ontology

 

The OWL ontology is available online at:

http://www.opengroup.org/soa/ontology/20140404/soa.owl

and is reproduced below.

<?xml version="1.0"?>   <rdf:RDF     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"     xmlns:owl="http://www.w3.org/2002/07/owl#"     xmlns="http://www.semanticweb.org/ontologies/2010/01/core-soa.owl#"     xml:base="http://www.semanticweb.org/ontologies/2010/01/core-soa.owl" >      <!-- ontology -->   <owl:Ontology rdf:about=""/>   <!-- classes -->     <owl:Class rdf:about="#Event">     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>   </owl:Class>     <owl:Class rdf:about="#InformationType">     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Effect"/>     </owl:disjointWith>   </owl:Class>     <owl:Class rdf:about="#ServiceComposition">     <rdfs:subClassOf>       <owl:Class rdf:about="#Composition"/>     </rdfs:subClassOf>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>   </owl:Class>     <owl:Class rdf:about="#Effect">     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#InformationType"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Restriction>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#isSpecifiedBy"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#Task">     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#System"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#HumanActor"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Service"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Composition"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Class rdf:about="#Element"/>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#doneBy"/>         </owl:onProperty>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >0</owl:minCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#doneBy"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#System">     <owl:disjointWith>       <owl:Class rdf:about="#Task"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Service"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Class rdf:about="#Element"/>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#Service">     <owl:disjointWith>       <owl:Class rdf:about="#System"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Task"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#HumanActor"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Class rdf:about="#Element"/>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#hasInterface"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#Policy">     <owl:disjointWith>       <owl:Class rdf:about="#InformationType"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Element"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Effect"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Event"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>   </owl:Class>     <owl:Class rdf:about="#HumanActor">     <rdfs:subClassOf>       <owl:Class rdf:about="#Element"/>     </rdfs:subClassOf>     <owl:disjointWith>       <owl:Class rdf:about="#Task"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Service"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>   </owl:Class>     <owl:Class rdf:about="#Composition">     <owl:disjointWith>       <owl:Class rdf:about="#Task"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Class rdf:about="#System"/>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#compositionPattern"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#compositionPattern"/>         </owl:onProperty>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#orchestratedBy"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >0</owl:minCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#orchestratedBy"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#ServiceInterface">     <owl:disjointWith>       <owl:Class rdf:about="#Service"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Effect"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#HumanActor"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Task"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceComposition"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Process"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Event"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#constraints"/>         </owl:onProperty>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#constraints"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#Element">     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Restriction>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >0</owl:minCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#orchestrates"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#orchestrates"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#ServiceContract">     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Policy"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#HumanActor"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Task"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceComposition"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Process"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#Event"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#InformationType"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#legalAspect"/>         </owl:onProperty>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#legalAspect"/>         </owl:onProperty>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#interactionAspect"/>         </owl:onProperty>         <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:maxCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:DatatypeProperty rdf:about="#interactionAspect"/>         </owl:onProperty>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#isContractFor"/>         </owl:onProperty>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>       </owl:Restriction>     </rdfs:subClassOf>     <rdfs:subClassOf>       <owl:Restriction>         <owl:onProperty>           <owl:ObjectProperty rdf:about="#specifies"/>         </owl:onProperty>         <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"         >1</owl:minCardinality>       </owl:Restriction>     </rdfs:subClassOf>   </owl:Class>     <owl:Class rdf:about="#Process">     <owl:disjointWith>       <owl:Class rdf:about="#ServiceContract"/>     </owl:disjointWith>     <owl:disjointWith>       <owl:Class rdf:about="#ServiceInterface"/>     </owl:disjointWith>     <rdfs:subClassOf>       <owl:Class rdf:about="#Composition"/>     </rdfs:subClassOf>   </owl:Class>     <!-- object properties -->     <owl:ObjectProperty rdf:about="#isPartyTo">     <rdfs:domain rdf:resource="#HumanActor"/>     <rdfs:range rdf:resource="#ServiceContract"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#involvesParty">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#isPartyTo"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#orchestratedBy">     <rdfs:domain rdf:resource="#Composition"/>     <rdfs:range rdf:resource="#Element"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#orchestrates">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#orchestratedBy"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isContractFor">     <rdfs:domain rdf:resource="#ServiceContract"/>     <rdfs:range rdf:resource="#Service"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#hasContract">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#isContractFor"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#setsPolicy">     <rdfs:domain rdf:resource="#HumanActor"/>     <rdfs:range rdf:resource="#Policy"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isSetBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#setsPolicy"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#generates">     <rdfs:domain rdf:resource="#Element"/>     <rdfs:range rdf:resource="#Event"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#generatedBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#generates"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#represents">     <rdfs:domain rdf:resource="#Element"/>     <rdfs:range rdf:resource="#Element"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#representedBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#represents"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#hasInput">     <rdfs:domain rdf:resource="#ServiceInterface"/>     <rdfs:range rdf:resource="#InformationType"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isInputAt">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#hasInput"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#doneBy">     <rdfs:domain rdf:resource="#Task"/>     <rdfs:range rdf:resource="#HumanActor"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#does">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#doneBy"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#specifies">     <rdfs:domain rdf:resource="#ServiceContract"/>     <rdfs:range rdf:resource="#Effect"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isSpecifiedBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#specifies"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#appliesTo">     <rdfs:domain rdf:resource="#Policy"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isSubjectTo">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#appliesTo"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#hasInterface">     <rdfs:domain rdf:resource="#Service"/>     <rdfs:range rdf:resource="#ServiceInterface"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isInterfaceOf">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#hasInterface"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#respondsTo">     <rdfs:domain rdf:resource="#Element"/>     <rdfs:range rdf:resource="#Event"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#respondedToBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#respondsTo"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#performs">     <rdfs:domain rdf:resource="#Element"/>     <rdfs:range rdf:resource="#Service"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#performedBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#performs"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#uses">     <rdfs:domain rdf:resource="#Element"/>     <rdfs:range rdf:resource="#Element"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#usedBy">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#uses"/>     </owl:inverseOf>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#hasOutput">     <rdfs:domain rdf:resource="#ServiceInterface"/>     <rdfs:range rdf:resource="#InformationType"/>   </owl:ObjectProperty>     <owl:ObjectProperty rdf:about="#isOutputAt">     <owl:inverseOf>       <owl:ObjectProperty rdf:about="#hasOutput"/>     </owl:inverseOf>   </owl:ObjectProperty>     <!-- datatype properties -->     <owl:DatatypeProperty rdf:about="#legalAspect">     <rdfs:domain rdf:resource="#ServiceContract"/>   </owl:DatatypeProperty>     <owl:DatatypeProperty rdf:about="#constraints">     <rdfs:domain rdf:resource="#ServiceInterface"/>   </owl:DatatypeProperty>     <owl:DatatypeProperty rdf:about="#compositionPattern">     <rdfs:domain rdf:resource="#Composition"/>   </owl:DatatypeProperty>     <owl:DatatypeProperty rdf:about="#interactionAspect">     <rdfs:domain rdf:resource="#ServiceContract"/>   </owl:DatatypeProperty>   </rdf:RDF>