<?xml version="1.0" ?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns="http://www.owl-ontologies.com/travel.owl#"
  xml:base="http://www.owl-ontologies.com/travel.owl">
  <owl:Ontology rdf:about="">
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >1.0 by Holger Knublauch (holger@smi.stanford.edu)</owl:versionInfo>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >An example ontology for tutorial purposes.</rdfs:comment>
  </owl:Ontology>
  <owl:Class rdf:ID="Sunbathing">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Relaxation"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Accommodation">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A place to stay for tourists.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="QuietDestination">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="Destination"/>
          <owl:Class>
            <owl:complementOf>
              <owl:Class rdf:about="#FamilyDestination"/>
            </owl:complementOf>
          </owl:Class>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A destination that is not frequented by noisy families.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="BackpackersDestination">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Destination"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasAccommodation"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#BudgetAccommodation"/>
            </owl:someValuesFrom>
          </owl:Restriction>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                  <owl:Class rdf:about="#Sports"/>
                  <owl:Class rdf:about="#Adventure"/>
                </owl:unionOf>
              </owl:Class>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasActivity"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A destination that provides budget accommodation and offers sport or adventure activities.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="Sports">
    <owl:disjointWith>
      <owl:Class rdf:about="#Adventure"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Relaxation"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Sightseeing"/>
    </owl:disjointWith>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="Activity"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Yoga">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Relaxation"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="BudgetAccommodation">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Accommodation"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class>
                <owl:oneOf rdf:parseType="Collection">
                  <AccommodationRating rdf:ID="OneStarRating">
                    <owl:differentFrom>
                      <AccommodationRating rdf:ID="ThreeStarRating">
                        <owl:differentFrom>
                          <AccommodationRating rdf:ID="TwoStarRating">
                            <owl:differentFrom rdf:resource="#OneStarRating"/>
                            <owl:differentFrom rdf:resource="#ThreeStarRating"/>
                          </AccommodationRating>
                        </owl:differentFrom>
                        <owl:differentFrom rdf:resource="#OneStarRating"/>
                      </AccommodationRating>
                    </owl:differentFrom>
                    <owl:differentFrom rdf:resource="#TwoStarRating"/>
                  </AccommodationRating>
                  <AccommodationRating rdf:about="#TwoStarRating"/>
                </owl:oneOf>
              </owl:Class>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasRating"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Accommodation that has either one or two star rating.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="LuxuryHotel">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Hotel"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:hasValue rdf:resource="#ThreeStarRating"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasRating"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="FamilyDestination">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Destination"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasAccommodation"/>
            </owl:onProperty>
            <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
            >1</owl:minCardinality>
          </owl:Restriction>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasActivity"/>
            </owl:onProperty>
            <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
            >2</owl:minCardinality>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A destination with at least one accommodation and at least 2 activities.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="Beach">
    <rdfs:subClassOf rdf:resource="#Destination"/>
  </owl:Class>
  <owl:Class rdf:ID="Hotel">
    <owl:disjointWith>
      <owl:Class rdf:about="#BedAndBreakfast"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Campground"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#Accommodation"/>
  </owl:Class>
  <owl:Class rdf:ID="Museums">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Sightseeing"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="BudgetHotelDestination">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Destination"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                  <owl:Class rdf:about="#BudgetAccommodation"/>
                  <owl:Class rdf:about="#Hotel"/>
                </owl:intersectionOf>
              </owl:Class>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasAccommodation"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A destination with a hotel that is also a budget accommodation.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="City">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#UrbanArea"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasAccommodation"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="#LuxuryHotel"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="AccommodationRating">
    <owl:equivalentClass>
      <owl:Class>
        <owl:oneOf rdf:parseType="Collection">
          <AccommodationRating rdf:about="#OneStarRating"/>
          <AccommodationRating rdf:about="#TwoStarRating"/>
          <AccommodationRating rdf:about="#ThreeStarRating"/>
        </owl:oneOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Consists of exactly three individuals.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="BedAndBreakfast">
    <owl:disjointWith rdf:resource="#Hotel"/>
    <rdfs:subClassOf rdf:resource="#Accommodation"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Campground"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="Campground">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:hasValue rdf:resource="#OneStarRating"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasRating"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#BedAndBreakfast"/>
    <rdfs:subClassOf rdf:resource="#Accommodation"/>
    <owl:disjointWith rdf:resource="#Hotel"/>
  </owl:Class>
  <owl:Class rdf:ID="Safari">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Adventure"/>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Sightseeing"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="RuralArea">
    <rdfs:subClassOf rdf:resource="#Destination"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#UrbanArea"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="RetireeDestination">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Destination"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasAccommodation"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Restriction>
                <owl:hasValue rdf:resource="#ThreeStarRating"/>
                <owl:onProperty>
                  <owl:ObjectProperty rdf:about="#hasRating"/>
                </owl:onProperty>
              </owl:Restriction>
            </owl:someValuesFrom>
          </owl:Restriction>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#Sightseeing"/>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#hasActivity"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A destination with at least one three star accommodation and sightseeing opportunities.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="Relaxation">
    <owl:disjointWith rdf:resource="#Sports"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Sightseeing"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:about="#Adventure"/>
    </owl:disjointWith>
    <rdfs:subClassOf rdf:resource="#Activity"/>
  </owl:Class>
  <owl:Class rdf:ID="Capital">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Museums"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasActivity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="#City"/>
  </owl:Class>
  <owl:Class rdf:ID="Hiking">
    <rdfs:subClassOf rdf:resource="#Sports"/>
  </owl:Class>
  <owl:Class rdf:ID="UrbanArea">
    <owl:disjointWith rdf:resource="#RuralArea"/>
    <rdfs:subClassOf rdf:resource="#Destination"/>
  </owl:Class>
  <owl:Class rdf:ID="BunjeeJumping">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Adventure"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Adventure">
    <owl:disjointWith rdf:resource="#Sports"/>
    <rdfs:subClassOf rdf:resource="#Activity"/>
    <owl:disjointWith>
      <owl:Class rdf:about="#Sightseeing"/>
    </owl:disjointWith>
    <owl:disjointWith rdf:resource="#Relaxation"/>
  </owl:Class>
  <owl:Class rdf:ID="Contact"/>
  <owl:Class rdf:ID="NationalPark">
    <rdfs:subClassOf rdf:resource="#RuralArea"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Campground"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasAccommodation"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom rdf:resource="#Hiking"/>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#hasActivity"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Town">
    <rdfs:subClassOf rdf:resource="#UrbanArea"/>
  </owl:Class>
  <owl:Class rdf:ID="Sightseeing">
    <owl:disjointWith rdf:resource="#Sports"/>
    <rdfs:subClassOf rdf:resource="#Activity"/>
    <owl:disjointWith rdf:resource="#Relaxation"/>
    <owl:disjointWith rdf:resource="#Adventure"/>
  </owl:Class>
  <owl:Class rdf:ID="Farmland">
    <rdfs:subClassOf rdf:resource="#RuralArea"/>
  </owl:Class>
  <owl:Class rdf:ID="Surfing">
    <rdfs:subClassOf rdf:resource="#Sports"/>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="isOfferedAt">
    <rdfs:range rdf:resource="#Destination"/>
    <rdfs:domain rdf:resource="#Activity"/>
    <owl:inverseOf>
      <owl:ObjectProperty rdf:about="#hasActivity"/>
    </owl:inverseOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasRating">
    <rdfs:range rdf:resource="#AccommodationRating"/>
    <rdfs:domain rdf:resource="#Accommodation"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasActivity">
    <owl:inverseOf rdf:resource="#isOfferedAt"/>
    <rdfs:range rdf:resource="#Activity"/>
    <rdfs:domain rdf:resource="#Destination"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasContact">
    <rdfs:range rdf:resource="#Contact"/>
    <rdfs:domain rdf:resource="#Activity"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasAccommodation">
    <rdfs:range rdf:resource="#Accommodation"/>
    <rdfs:domain rdf:resource="#Destination"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="hasPart">
    <rdfs:range rdf:resource="#Destination"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
    <rdfs:domain rdf:resource="#Destination"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="hasCity">
    <rdfs:domain rdf:resource="#Contact"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <owl:DatatypeProperty rdf:ID="hasEMail">
    <rdfs:domain rdf:resource="#Contact"/>
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
  </owl:DatatypeProperty>
  <owl:FunctionalProperty rdf:ID="hasZipCode">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
    <rdfs:domain rdf:resource="#Contact"/>
  </owl:FunctionalProperty>
  <owl:FunctionalProperty rdf:ID="hasStreet">
    <rdfs:domain rdf:resource="#Contact"/>
    <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>
  <RuralArea rdf:ID="Woomera"/>
  <Town rdf:ID="Coonabarabran"/>
  <LuxuryHotel rdf:ID="FourSeasons"/>
  <NationalPark rdf:ID="BlueMountains"/>
  <Capital rdf:ID="Canberra"/>
  <Beach rdf:ID="BondiBeach"/>
  <Beach rdf:ID="CurrawongBeach"/>
  <NationalPark rdf:ID="Warrumbungles"/>
  <RuralArea rdf:ID="CapeYork"/>
  <Capital rdf:ID="Sydney">
    <hasAccommodation rdf:resource="#FourSeasons"/>
    <hasPart rdf:resource="#BondiBeach"/>
    <hasPart rdf:resource="#CurrawongBeach"/>
  </Capital>
  <City rdf:ID="Cairns"/>
</rdf:RDF>

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