<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://127.0.0.1/ontology/om2-1.owl#"
    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#"
    xml:base="http://127.0.0.1/ontology/om2-1.owl">
  <owl:Ontology rdf:about="">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The basic OM2 message ontology</rdfs:comment>
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >1.3.0</owl:versionInfo>
  </owl:Ontology>
  <owl:Class rdf:ID="Error">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A description (where,what and when) of an error that occured when a node handled a message.</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="where"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="timestamp"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Message">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="source"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="OmObject"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
        <owl:onProperty>
          <owl:FunctionalProperty rdf:ID="mid"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="errorEncountered">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Errors that nodes handling this message has encountered</rdfs:comment>
    <rdfs:range rdf:resource="#Error"/>
    <rdfs:domain rdf:resource="#Message"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="body">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The payload/body of the message</rdfs:comment>
    <rdfs:domain rdf:resource="#Message"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="receiver">
    <rdfs:domain rdf:resource="#Message"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Intended receivers of this message.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="errorTo">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >In an error happend that prevented a node from furthering this message to an intended recipient it should instead be sent to this address/-es.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Message"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="replyTo">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Message"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >When this message reaches a endpoint that endpoint should send a message acknowledging the receivement to this address.</rdfs:comment>
  </owl:DatatypeProperty>
  <owl:FunctionalProperty rdf:about="#source">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#OmObject"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The origin of this message</rdfs:comment>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#timestamp">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The time something happend</rdfs:comment>
    <rdfs:domain rdf:resource="#Error"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="inReplyTo">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A concatenation of the source and the message id of the message that this message is a reply to. The syntax of the value must be &lt;source&gt; ":" &lt;mid&gt;.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Message"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="replyBy">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The last time by which the sender is interested in a reply to the 'replyTo' address signifying the reception of a message.</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#Message"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="handledBy">
    <rdfs:domain rdf:resource="#Error"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="createTime">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >When this event occured</rdfs:comment>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#Message"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="errorCode">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Error"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#mid">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Message"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Message identifier</rdfs:comment>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="sequenceNumber">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#Error"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="what">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdfs:domain rdf:resource="#Error"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A human readable description of an error that prevented a node to do what it should with the a message</rdfs:comment>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="notValidAfter">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Recipients that get this message after this time should just silently ignore the message.</rdfs:comment>
    <rdfs:domain rdf:resource="#Message"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:about="#where">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The address of the node that encountered an error while processing a message.</rdfs:comment>
    <rdfs:domain rdf:resource="#Error"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
  </owl:FunctionalProperty>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 3.3, Build 418)  http://protege.stanford.edu -->
