
<rdf:RDF 
  xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:oiled="http://img.cs.man.ac.uk/oil/oiled#"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
  xmlns:xsd="http://www.w3.org/2000/10/XMLSchema#" 
  xmlns="http://www.ida.liu.se/~adrpo/courses/lftw/homework/deliveries.daml#"
>
  <daml:Ontology rdf:about="deliveries.daml">
  <dc:title>Delivery Ontology</dc:title> 
  <dc:date>2004-02-09</dc:date> 
  <dc:creator>Adrian Pop, adrpo@ida.liu.se, http://www.ida.liu.se/~adrpo/</dc:creator> 
  <dc:description>An ontology about deliveries</dc:description> 
  <dc:subject>Whatever</dc:subject> 
  <daml:versionInfo /> 
  </daml:Ontology>

  <daml:Class rdf:ID="Deliveries">
  <rdfs:label>Deliveries</rdfs:label> 
  <rdfs:comment>Deliveries class</rdfs:comment> 
  </daml:Class>


  <daml:Class rdf:ID="Delivery">
  <rdfs:label>Delivery</rdfs:label> 
  <rdfs:comment>Delivery class</rdfs:comment> 
  </daml:Class>

  <daml:Class rdf:ID="AustralianPlasticParcel">
  <rdfs:subClassOf rdf:resource="#Parcel" /> 
  <rdfs:subClassOf>
   <daml:Restriction>
     <daml:onProperty rdf:resource="#containsPallet" /> 
     <daml:toClass rdf:resource="#PlasticPallet" /> 
   </daml:Restriction>
  </rdfs:subClassOf>
  </daml:Class>

  <daml:Class rdf:ID="AustralianPlasticDelivery">
  <rdfs:label>Deliveries</rdfs:label> 
  <rdfs:subClassOf rdf:resource="#Delivery" /> 
  <rdfs:subClassOf>
   <daml:Restriction>
    <daml:onProperty rdf:resource="#containsParcel" /> 
    <daml:toClass rdf:resource="#AustralianPlasticParcel" /> 
   </daml:Restriction>
  </rdfs:subClassOf>
  </daml:Class>

  <daml:Class rdf:ID="LooseItem">
   <rdfs:label>LooseItem</rdfs:label> 
  </daml:Class>

  <daml:Class rdf:ID="Contact">
   <rdfs:label>Contact</rdfs:label> 
  </daml:Class>


  <daml:Class rdf:ID="Parcel">
   <rdfs:label>Parcel</rdfs:label> 
   <rdfs:subClassOf>
    <daml:Restriction daml:maxCardinality="1">
     <daml:onProperty rdf:resource="#containsPallet" /> 
    </daml:Restriction>
   </rdfs:subClassOf>
   <rdfs:subClassOf>
    <daml:Restriction daml:maxCardinality="1">
      <daml:onProperty rdf:resource="#hasParcelCard" /> 
    </daml:Restriction>
   </rdfs:subClassOf>     
  </daml:Class>

  <daml:Class rdf:ID="Pallet">
   <rdfs:label>Pallet</rdfs:label> 
 </daml:Class>

  <daml:Class rdf:ID="AustralianWoodParcel5Items">
       <rdfs:subClassOf rdf:resource="#Parcel" />   
       <rdfs:subClassOf>
            <daml:Restriction>
                 <daml:onProperty rdf:resource="#containsPallet" /> 
                 <daml:toClass rdf:resource="#WoodPallet" /> 
            </daml:Restriction>
       </rdfs:subClassOf>
       <rdfs:subClassOf>
            <daml:Restriction daml:minCardinality="5">
              <daml:onProperty rdf:resource="#containsItem" /> 
            </daml:Restriction>
       </rdfs:subClassOf>
  </daml:Class>

  <daml:Class rdf:ID="AustralianWoodDelivery">
    <rdfs:label>AustralianWoodDelivery</rdfs:label> 
    <rdfs:subClassOf rdf:resource="#AustralianPlasticDelivery" /> 
    <rdfs:subClassOf>
      <daml:Restriction>
           <daml:onProperty rdf:resource="#containsParcel" /> 
           <daml:toClass rdf:resource="#AustralianWoodParcel5Items" /> 
      </daml:Restriction>
  </rdfs:subClassOf>
  </daml:Class>

  <daml:Class rdf:ID="PlasticPallet">
   <rdfs:label>PlasticPallet</rdfs:label> 
   <rdfs:comment>The PlasticPallet class is a more specific class of pallet (Plastic Pallet)</rdfs:comment> 
   <rdfs:subClassOf rdf:resource="#Pallet" /> 
   <daml:disjointWith rdf:resource="#WoodPallet" /> 
  </daml:Class>

   <daml:Class rdf:ID="WoodPallet">
    <rdfs:label>WoodPallet</rdfs:label> 
    <rdfs:subClassOf rdf:resource="#Pallet" />
    <daml:disjointWith rdf:resource="#PlasticPallet" /> 
  </daml:Class>

   <daml:Class rdf:ID="Item">
  <rdfs:label>Item</rdfs:label> 
  <rdfs:subClassOf rdf:resource="#LooseItem" /> 
  </daml:Class>

   <daml:Class rdf:ID="ParcelCard">
  <rdfs:label>ParcelCard</rdfs:label> 
  </daml:Class>

   <daml:ObjectProperty rdf:ID="hasParcelCard">
  <rdfs:label>hasParcelCard</rdfs:label> 
  <rdfs:domain rdf:resource="#Parcel" /> 
  <rdfs:range rdf:resource="#ParcelCard" /> 
  </daml:ObjectProperty>

  <daml:ObjectProperty rdf:ID="recipient">
  <rdfs:label>recipient</rdfs:label> 
  <rdfs:domain rdf:resource="#Delivery" /> 
  <rdfs:range rdf:resource="#Contact" /> 
  </daml:ObjectProperty>

  <daml:ObjectProperty rdf:ID="sender">
  <rdfs:label>sender</rdfs:label> 
  <rdfs:domain rdf:resource="#Delivery" /> 
  <rdfs:range rdf:resource="#Contact" /> 
  </daml:ObjectProperty>

  <daml:ObjectProperty rdf:ID="containsDelivery">
  <rdfs:label>containsDelivery</rdfs:label> 
  <rdfs:domain rdf:resource="#Deliveries" /> 
  <rdfs:range rdf:resource="#Delivery" /> 
  </daml:ObjectProperty>

  <daml:ObjectProperty rdf:ID="containsParcel">
  <rdfs:label>containsDeliveryComponent</rdfs:label> 
  <rdfs:domain rdf:resource="#Delivery" /> 
  <rdfs:range rdf:resource="#Parcel" /> 
  </daml:ObjectProperty>

  <daml:ObjectProperty rdf:ID="containsLooseItem">
  <rdfs:label>containsDeliveryComponent</rdfs:label> 
  <rdfs:domain rdf:resource="#Delivery" /> 
  <rdfs:range rdf:resource="#LooseItem" /> 
  </daml:ObjectProperty>

  <daml:DatatypeProperty rdf:ID="description">
  <rdfs:label>description</rdfs:label> 
  <rdfs:domain rdf:resource="#Item" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  <daml:ObjectProperty rdf:ID="containsItem">
  <rdfs:label>containsParcelComponent</rdfs:label> 
  <rdfs:domain rdf:resource="#Parcel" /> 
  <rdfs:range rdf:resource="#Item" /> 
  </daml:ObjectProperty>
  
  <daml:ObjectProperty rdf:ID="containsPallet">
  <rdfs:label>containsParcelComponent</rdfs:label> 
  <rdfs:domain rdf:resource="#Parcel" /> 
  <rdfs:range rdf:resource="#Pallet" /> 
  </daml:ObjectProperty>

   <daml:DatatypeProperty rdf:ID="hasParcelId">
  <rdfs:label>hasParcelId</rdfs:label> 
  <rdfs:domain rdf:resource="#ParcelCard" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

   <daml:DatatypeProperty rdf:ID="categoryNumberOfItem">
  <rdfs:label>categoryNumberOfItem</rdfs:label> 
  <rdfs:domain rdf:resource="#Item" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  <daml:DatatypeProperty rdf:ID="categoryNumberOfItemsInParcel">
  <rdfs:label>categoryNumberOfItemsInParcel</rdfs:label> 
  <rdfs:domain rdf:resource="#ParcelCard" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  <daml:DatatypeProperty rdf:ID="name">
  <rdfs:label>name</rdfs:label> 
  <rdfs:domain rdf:resource="#Contact" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  <daml:DatatypeProperty rdf:ID="street">
  <rdfs:label>street</rdfs:label> 
  <rdfs:domain rdf:resource="#Contact" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  <daml:DatatypeProperty rdf:ID="city">
  <rdfs:label>city</rdfs:label> 
  <rdfs:domain rdf:resource="#Contact" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  <daml:DatatypeProperty rdf:ID="country">
  <rdfs:label>country</rdfs:label> 
  <rdfs:domain rdf:resource="#Contact" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#string"/> 
  </daml:DatatypeProperty>

  </rdf:RDF>
