@base <http://iserve.kmi.open.ac.uk/ns/msm> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix msm: <#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<>
    dc:created "2010-03-10"^^xsd:date ;
    dc:creator <http://identifiers.kmi.open.ac.uk/people/carlos-pedrinaci/>, <http://jacek.cz/#me>, <http://kmi.open.ac.uk/>, <http://kmi.open.ac.uk/people/member/luca-panziera> ;
    dc:description "This is a simple ontology that provides the core vocabulary for capturing service properties"@en ;
    dc:issued "2010-03-10"^^xsd:date ;
    dc:modified "2011-12-03"^^xsd:date, "2012-03-14"^^xsd:date, "2013-05-03"^^xsd:date, "2013-11-21"^^xsd:date, "2014-09-03"^^xsd:date ;
    a owl:Ontology ;
    rdfs:label "Minimal Service Model"@en ;
    owl:imports <http://www.w3.org/ns/sawsdl>, <http://www.wsmo.org/ns/wsmo-lite> ;
    owl:versionInfo "1.3" .

msm:MessageContent
    a rdfs:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Message Content"@en ;
    rdfs:subClassOf msm:MessagePart ;
    vs:term_status "stable" .

msm:MessagePart
    a rdfs:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Message Part"@en ;
    vs:term_status "stable" .

msm:Operation
    a rdfs:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Operation"@en ;
    vs:term_status "stable" .

msm:Service
    a rdfs:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Service"@en ;
    vs:term_status "stable" .

msm:hasFault
    a rdf:Property ;
    rdfs:domain msm:Operation ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Fault"@en ;
    rdfs:range msm:MessageContent ;
    vs:term_status "stable" .

msm:hasInput
    a rdf:Property ;
    rdfs:domain msm:Operation ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Input"@en ;
    rdfs:range msm:MessageContent ;
    vs:term_status "stable" .

msm:hasInputFault
    rdfs:domain msm:Operation ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Input Fault"@en ;
    rdfs:range msm:MessageContent ;
    rdfs:subPropertyOf msm:hasFault ;
    vs:term_status "archaic" .

msm:hasMandatoryPart
    a rdf:Property ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Mandatory Part"@en ;
    rdfs:subPropertyOf msm:hasPart ;
    vs:term_status "stable" .

msm:hasName
    a rdf:Property ;
    rdfs:domain msm:MessagePart ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Name"@en ;
    rdfs:range rdfs:Literal ;
    vs:term_status "stable" .

msm:hasOperation
    a rdf:Property ;
    rdfs:domain msm:Service ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Operation"@en ;
    rdfs:range msm:Operation ;
    vs:term_status "stable" .

msm:hasOptionalPart
    a rdf:Property ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Optional Part"@en ;
    rdfs:subPropertyOf msm:hasPart ;
    vs:term_status "stable" .

msm:hasOutput
    a rdf:Property ;
    rdfs:domain msm:Operation ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Output"@en ;
    rdfs:range msm:MessageContent ;
    vs:term_status "stable" .

msm:hasOutputFault
    rdfs:domain msm:Operation ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Output Fault"@en ;
    rdfs:range msm:MessageContent ;
    rdfs:subPropertyOf msm:hasFault ;
    vs:term_status "archaic" .

msm:hasPart
    a rdf:Property ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Part"@en ;
    rdfs:subPropertyOf msm:hasPartTransitive ;
    vs:term_status "stable" .

msm:hasPartTransitive
    a owl:TransitiveProperty ;
    rdfs:domain msm:MessagePart ;
    rdfs:isDefinedBy <> ;
    rdfs:label "has Part Transitive"@en ;
    rdfs:range msm:MessagePart ;
    vs:term_status "stable" .

msm:isGroundedIn
    a rdf:Property ;
    rdfs:domain msm:MessagePart, msm:Operation, msm:Service ;
    rdfs:isDefinedBy <> ;
    rdfs:label "is grounded in"@en ;
    vs:term_status "testing" .

