previous next top contents index

OWL Web Ontology Language
Test Cases
7.4.1. Examples from the OWL Guide


Contents


7.4.1. Examples from the OWL Guide

These tests are taken from the [OWL Guide].

DL Full Consistent document.001
Description: (informative) <miscellaneous/Manifest001#test>
Wine example taken from the guide.
Datatypes that may or may not be supported: xsd:positiveInteger,
N3 format is informative.
Namespaces:
@prefix food: <http://www.w3.org/2002/03owlt/miscellaneous/consistent002#> .
@prefix vin: <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> .
@prefix : <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> .
DLConsistent: <miscellaneous/consistent001>
<!DOCTYPE owl [
     <!ENTITY vin  "http://www.w3.org/2002/03owlt/miscellaneous/consistent001#" >
     <!ENTITY food "http://www.w3.org/2002/03owlt/miscellaneous/consistent002#" >
     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
   ]>

<rdf:RDF
  xmlns     = "&vin;"
  xmlns:vin = "&vin;"
  xml:base  = "&vin;"
  xmlns:food= "&food;"
  xmlns:owl = "&owl;"
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
  >

  <owl:Ontology rdf:about="">
    <rdfs:comment>An example OWL ontology</rdfs:comment>
    <owl:priorVersion>
      <owl:Ontology rdf:about="http://www.example.org/wine-020303"/>
    </owl:priorVersion>
    <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent002"/>
    <rdfs:comment>Derived from the DAML Wine ontology at 
      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
      Substantially changed, in particular the Region based relations.
    </rdfs:comment>
    <rdfs:label>Wine Ontology</rdfs:label>
  </owl:Ontology>
  
  <owl:Class rdf:ID="Wine">
    <rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasMaker" />
 <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasMaker" />
 <owl:allValuesFrom rdf:resource="#Winery" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
  <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn"/> 
        <owl:someValuesFrom rdf:resource="&vin;Region"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label xml:lang="en">wine</rdfs:label>
    <rdfs:label xml:lang="fr">vin</rdfs:label>
  </owl:Class>
  
  <owl:Class rdf:ID="Vintage">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasVintageYear"/>  
        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="WineGrape">
    <rdfs:subClassOf rdf:resource="&food;Grape" />
  </owl:Class>
  
  <owl:Class rdf:ID="WhiteWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WhiteTableWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#TableWine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WhiteNonSweetWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#WhiteWine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Dry" />
              <owl:Thing rdf:about="#OffDry" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WhiteLoire">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire" />
      <owl:Class rdf:about="#WhiteWine" />
    </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:about="#WhiteLoire">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#CheninBlancGrape" />
              <owl:Thing rdf:about="#PinotBlancGrape" />
              <owl:Thing rdf:about="#SauvignonBlancGrape" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WhiteBurgundy">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Burgundy" />
      <owl:Class rdf:about="#WhiteWine" />
    </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:about="#WhiteBurgundy">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#ChardonnayGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WhiteBordeaux">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Bordeaux" />
      <owl:Class rdf:about="#WhiteWine" />
    </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:about="#WhiteBordeaux">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#SemillonGrape" />
              <owl:Thing rdf:about="#SauvignonBlancGrape" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Region" />

  <owl:ObjectProperty rdf:ID="locatedIn">
    <rdf:type rdf:resource="&owl;TransitiveProperty" />
    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
    <rdfs:range rdf:resource="#Region" />
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="adjacentRegion">
    <rdf:type rdf:resource="&owl;SymmetricProperty" />
    <rdfs:domain rdf:resource="#Region" />
    <rdfs:range rdf:resource="#Region" />
  </owl:ObjectProperty>
  
  <owl:Class rdf:ID="VintageYear" />

  <owl:DatatypeProperty rdf:ID="yearValue">
    <rdfs:domain rdf:resource="#VintageYear" />    
    <rdfs:range  rdf:resource="&xsd;positiveInteger" />
  </owl:DatatypeProperty>
  
  <VintageYear rdf:ID="Year1998">
    <yearValue rdf:datatype="&xsd;positiveInteger">1998</yearValue>
  </VintageYear>

  <owl:ObjectProperty rdf:ID="hasVintageYear">
    <rdf:type rdf:resource="&owl;FunctionalProperty" />
    <rdfs:domain rdf:resource="#Vintage" />
    <rdfs:range  rdf:resource="#VintageYear" />
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="madeFromGrape">
    <rdfs:subPropertyOf rdf:resource="&food;madeFromFruit" />
    <rdfs:domain rdf:resource="#Wine" />
    <rdfs:range rdf:resource="#WineGrape" />
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="madeIntoWine">
    <owl:inverseOf rdf:resource="#madeFromGrape" />
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="hasWineDescriptor">
    <rdfs:domain rdf:resource="#Wine" />
    <rdfs:range  rdf:resource="#WineDescriptor" />
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="hasSugar">
    <rdf:type rdf:resource="&owl;FunctionalProperty" />
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
    <rdfs:range rdf:resource="#WineSugar" />
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="hasBody">
    <rdf:type rdf:resource="&owl;FunctionalProperty" />
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
    <rdfs:range rdf:resource="#WineBody" />
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="hasFlavor">
    <rdf:type rdf:resource="&owl;FunctionalProperty" />
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
    <rdfs:range rdf:resource="#WineFlavor" />
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="hasColor">
    <rdf:type rdf:resource="&owl;FunctionalProperty" />
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
    <rdfs:domain rdf:resource="#Wine" />
    <rdfs:range rdf:resource="#WineColor" />
  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:ID="hasMaker">
    <rdf:type rdf:resource="&owl;FunctionalProperty" />
  </owl:ObjectProperty>
  
  <owl:ObjectProperty rdf:ID="producesWine">
    <owl:inverseOf rdf:resource="#hasMaker" />
  </owl:ObjectProperty>

  <owl:Class rdf:ID="Zinfandel">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#ZinfandelGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:about="#Zinfandel">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Full" />
              <owl:Thing rdf:about="#Medium" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Strong" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Winery" />
  
  <owl:Class rdf:ID="WineDescriptor">
    <rdfs:comment>Made WineDescriptor unionType of tastes and color</rdfs:comment>
    <owl:unionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#WineTaste" />
      <owl:Class rdf:about="#WineColor" />
    </owl:unionOf>
  </owl:Class>

  <owl:Class rdf:ID="WineTaste">
    <rdfs:subClassOf rdf:resource="#WineDescriptor" />
  </owl:Class>

  <owl:Class rdf:ID="WineColor">
    <rdfs:subClassOf rdf:resource="#WineDescriptor" />
    <owl:oneOf rdf:parseType="Collection">
      <owl:Thing rdf:about="#White" />
      <owl:Thing rdf:about="#Rose" />
      <owl:Thing rdf:about="#Red" />
    </owl:oneOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WineSugar">
    <rdfs:subClassOf rdf:resource="#WineTaste" />
    <owl:oneOf rdf:parseType="Collection">
      <owl:Thing rdf:about="#Sweet" />
      <owl:Thing rdf:about="#OffDry" />
      <owl:Thing rdf:about="#Dry" />
    </owl:oneOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WineFlavor">
    <rdfs:subClassOf rdf:resource="#WineTaste" />
    <owl:oneOf rdf:parseType="Collection">
      <owl:Thing rdf:about="#Delicate" />
      <owl:Thing rdf:about="#Moderate" />
      <owl:Thing rdf:about="#Strong" />
    </owl:oneOf>
  </owl:Class>
  
  <owl:Class rdf:ID="WineBody">
    <rdfs:subClassOf rdf:resource="#WineTaste" />
    <owl:oneOf rdf:parseType="Collection">
      <owl:Thing rdf:about="#Light" />
      <owl:Thing rdf:about="#Medium" />
      <owl:Thing rdf:about="#Full" />
    </owl:oneOf>
  </owl:Class>
  
  <Region rdf:ID="USRegion" />
  
  <owl:Class rdf:ID="Tours">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#ToursRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:about="#Tours">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#CheninBlancGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="TableWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="SweetWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Sweet" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="SweetRiesling">
    <rdfs:subClassOf rdf:resource="#DessertWine" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Full" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Strong" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Riesling" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Sweet" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="StEmilion">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Strong" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Bordeaux" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#StEmilionRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="SemillonOrSauvignonBlanc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Medium" />
              <owl:Thing rdf:about="#Full" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#SemillonGrape" />
              <owl:Thing rdf:about="#SauvignonBlancGrape" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Semillon">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#SemillonOrSauvignonBlanc" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#SemillonGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="SauvignonBlanc">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#SemillonOrSauvignonBlanc" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#SauvignonBlancGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Sauterne">
    <rdfs:subClassOf rdf:resource="#LateHarvest" />
    <rdfs:subClassOf rdf:resource="#Bordeaux" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#SauterneRegion" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Medium" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Sancerre">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Medium" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#OffDry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Delicate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#SauvignonBlancGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#SancerreRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="RoseWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Rose" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Riesling">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#RieslingGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="RedWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="RedTableWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#TableWine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="RedBurgundy">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#PinotNoirGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Burgundy" />
      <owl:Class rdf:about="#RedWine" />
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="RedBordeaux">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#CabernetSauvignonGrape" />
              <owl:Thing rdf:about="#MerlotGrape" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Bordeaux" />
      <owl:Class rdf:about="#RedWine" />
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Port">
    <rdfs:subClassOf rdf:resource="#RedWine" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#PortugalRegion" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Full" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Strong" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Sweet" />
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="PinotNoir">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#PinotNoirGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="PinotBlanc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#PinotBlancGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="PetiteSyrah">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Strong" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Medium" />
              <owl:Thing rdf:about="#Full" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#PetiteSyrahGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Pauillac">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Full" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Strong" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Medoc" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#PauillacRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Muscadet">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Light" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Delicate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#PinotBlancGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#MuscadetRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Meursault">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Full" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#WhiteBurgundy" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#MeursaultRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Merlot">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Delicate" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Light" />
              <owl:Thing rdf:about="#Medium" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#MerlotGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Meritage">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#CabernetSauvignonGrape" />
              <owl:Thing rdf:about="#CabernetFrancGrape" />
              <owl:Thing rdf:about="#MalbecGrape" />
              <owl:Thing rdf:about="#PetiteVerdotGrape" />
              <owl:Thing rdf:about="#MerlotGrape" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <Region rdf:ID="MedocRegion">
    <locatedIn rdf:resource="#BordeauxRegion" />
  </Region>
  
  <owl:Class rdf:ID="Medoc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Bordeaux" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#MedocRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Margaux">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Delicate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#MerlotGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Medoc" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#MargauxRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <Region rdf:ID="LoireRegion">
    <locatedIn rdf:resource="#FrenchRegion" />
  </Region>
  
  <owl:Class rdf:ID="Loire">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#LoireRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="LateHarvest">
    <rdfs:subClassOf rdf:resource="#Wine" />
    <owl:disjointWith rdf:resource="#EarlyHarvest" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Sweet" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Strong" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="ItalianWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#ItalianRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <Region rdf:ID="ItalianRegion" />
  
  <owl:Class rdf:ID="IceWine">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Medium" />
              <owl:Thing rdf:about="#Full" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Strong" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#LateHarvest" />
      <owl:Class rdf:about="#DessertWine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="GermanWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#GermanyRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Gamay">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#GamayGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="FullBodiedWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Full" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <Region rdf:ID="FrenchRegion" />
  
  <owl:Class rdf:ID="FrenchWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#FrenchRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:ID="EarlyHarvest">
    <rdfs:subClassOf rdf:resource="#Wine" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Dry" />
              <owl:Thing rdf:about="#OffDry" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DryWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DryWhiteWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#DryWine" />
      <owl:Class rdf:about="#WhiteWine" />
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DryRiesling">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Delicate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Light" />
              <owl:Thing rdf:about="#Medium" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Riesling" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DryRedWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#DryWine" />
      <owl:Class rdf:about="#RedWine" />
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DessertWine">
    <rdfs:subClassOf rdf:resource="#Wine" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#OffDry" />
              <owl:Thing rdf:about="#Sweet" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="CotesDOr">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Moderate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#RedBurgundy" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#CotesDOrRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Chianti">
    <rdfs:subClassOf rdf:resource="#ItalianWine" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#ChiantiRegion" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#SangioveseGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Moderate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Light" />
              <owl:Thing rdf:about="#Medium" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="CheninBlanc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Moderate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Full" />
              <owl:Thing rdf:about="#Medium" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Dry" />
              <owl:Thing rdf:about="#OffDry" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#CheninBlancGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Chardonnay">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#White" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Full" />
              <owl:Thing rdf:about="#Medium" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Strong" />
              <owl:Thing rdf:about="#Moderate" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#ChardonnayGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <Region rdf:ID="CaliforniaRegion">
    <locatedIn rdf:resource="#USRegion" />
  </Region>
  
  <Region rdf:ID="TexasRegion">
    <locatedIn rdf:resource="#USRegion" />
  </Region>
  
  <owl:Class rdf:ID="CaliforniaWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#CaliforniaRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="TexasWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#TexasRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="CabernetSauvignon">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Moderate" />
              <owl:Thing rdf:about="#Strong" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:about="#Medium" />
              <owl:Thing rdf:about="#Full" />
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="CabernetFranc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Moderate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Medium" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#CabernetFrancGrape" />
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Burgundy">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#BourgogneRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <Region rdf:ID="BourgogneRegion">
    <locatedIn rdf:resource="#FrenchRegion" />
  </Region>
  
  <Region rdf:ID="BordeauxRegion">
    <locatedIn rdf:resource="#FrenchRegion" />
  </Region>
  
  <owl:Class rdf:ID="Bordeaux">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#BordeauxRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Beaujolais">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Red" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Light" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#Dry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Delicate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:hasValue rdf:resource="#GamayGrape" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape" />
        <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#BeaujolaisRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <Region rdf:ID="AustralianRegion" />
  
  <owl:Class rdf:ID="Anjou">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor" />
        <owl:hasValue rdf:resource="#Rose" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody" />
        <owl:hasValue rdf:resource="#Light" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor" />
        <owl:hasValue rdf:resource="#Delicate" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar" />
        <owl:hasValue rdf:resource="#OffDry" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#AnjouRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="AmericanWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#USRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="AlsatianWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#locatedIn" />
        <owl:hasValue rdf:resource="#AlsaceRegion" />
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  
  <WineBody rdf:ID="Full" />
  
  <WineBody rdf:ID="Medium" />
  
  <WineBody rdf:ID="Light" />
  
  <WineColor rdf:ID="Red" />
  
  <WineColor rdf:ID="Rose" />
  
  <WineColor rdf:ID="White" />
  
  <WineFlavor rdf:ID="Strong" />
  
  <WineFlavor rdf:ID="Moderate" />
  
  <WineFlavor rdf:ID="Delicate" />
  
  <WineSugar rdf:ID="Dry" />
  
  <WineSugar rdf:ID="OffDry">
    <owl:differentFrom rdf:resource="#Dry"/>
    <owl:differentFrom rdf:resource="#Sweet"/>
  </WineSugar>
  
  <WineSugar rdf:ID="Sweet">
    <owl:differentFrom rdf:resource="#Dry"/>
  </WineSugar>
  
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <vin:WineColor rdf:about="#Red" />
      <vin:WineColor rdf:about="#White" />
      <vin:WineColor rdf:about="#Rose" />
    </owl:distinctMembers>
  </owl:AllDifferent>

  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <vin:WineBody rdf:about="#Light" />
      <vin:WineBody rdf:about="#Medium" />
      <vin:WineBody rdf:about="#Full" />
    </owl:distinctMembers>
  </owl:AllDifferent>

  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <vin:WineFlavor rdf:about="#Delicate" />
      <vin:WineFlavor rdf:about="#Moderate" />
      <vin:WineFlavor rdf:about="#Strong" />
    </owl:distinctMembers>
  </owl:AllDifferent>
 
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <vin:WineSugar rdf:about="#Sweet" />
      <vin:WineSugar rdf:about="#OffDry" />
      <vin:WineSugar rdf:about="#Dry" />
    </owl:distinctMembers>
  </owl:AllDifferent>

  <Region rdf:ID="AlsaceRegion">   
    <locatedIn rdf:resource="#FrenchRegion" />
  </Region>

  <Region rdf:ID="AnjouRegion">
    <locatedIn rdf:resource="#LoireRegion" />
  </Region>
  
  <Region rdf:ID="ArroyoGrandeRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <Winery rdf:ID="Beringer" />

  <Winery rdf:ID="Bancroft" />
  
  <Chardonnay rdf:ID="BancroftChardonnay">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#Bancroft" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Chardonnay>
  
  <Region rdf:ID="BeaujolaisRegion">
    <locatedIn rdf:resource="#FrenchRegion" />
  </Region>
  
  <WineGrape rdf:ID="CabernetFrancGrape" />
  
  <WineGrape rdf:ID="CabernetSauvignonGrape" />
  
  <Region rdf:ID="CentralCoastRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <WineGrape rdf:ID="ChardonnayGrape" />
  
  <Winery rdf:ID="ChateauChevalBlanc" />
  
  <StEmilion rdf:ID="ChateauChevalBlancStEmilion">
    <hasMaker  rdf:resource="#ChateauChevalBlanc" />
  </StEmilion>
  
  <Winery rdf:ID="ChateauDYchem" />
  
  <Sauterne rdf:ID="ChateauDYchemSauterne">
    <madeFromGrape rdf:resource="#SauvignonBlancGrape" />
    <madeFromGrape rdf:resource="#SemillonGrape" />
    <hasFlavor rdf:resource="#Strong" />
    <hasMaker  rdf:resource="#ChateauDYchem" />
  </Sauterne> 
  
  <Winery rdf:ID="ChateauDeMeursault" />
  
  <Meursault rdf:ID="ChateauDeMeursaultMeursault">
    <hasFlavor rdf:resource="#Moderate" />
    <hasMaker  rdf:resource="#ChateauDeMeursault" />
  </Meursault>
  
  <Winery rdf:ID="ChateauLafiteRothschild" />
  
  <Pauillac rdf:ID="ChateauLafiteRothschildPauillac">
    <hasMaker  rdf:resource="#ChateauLafiteRothschild" />
  </Pauillac>
  
  <Margaux rdf:ID="ChateauMargaux">
    <hasMaker  rdf:resource="#ChateauMargauxWinery" />
  </Margaux>
  
  <Winery rdf:ID="ChateauMargauxWinery" />
  
  <Winery rdf:ID="ChateauMorgon" />
  
  <Beaujolais rdf:ID="ChateauMorgonBeaujolais">
    <hasMaker  rdf:resource="#ChateauMorgon" />
  </Beaujolais>
  
  <WineGrape rdf:ID="CheninBlancGrape" />

  <WineGrape rdf:ID="ZinfandelGrape" />

  <Chianti rdf:ID="ChiantiClassico">
    <hasBody   rdf:resource="#Medium" />
    <hasMaker  rdf:resource="#McGuinnesso" />
  </Chianti>
  
  <Region rdf:ID="ChiantiRegion">
    <locatedIn rdf:resource="#ItalianRegion" />
  </Region>
  
  <Winery rdf:ID="ClosDeLaPoussie" />
  
  <Sancerre rdf:ID="ClosDeLaPoussieSancerre">
    <hasMaker  rdf:resource="#ClosDeLaPoussie" />
  </Sancerre>
  
  <Winery rdf:ID="ClosDeVougeot" />
  
  <CotesDOr rdf:ID="ClosDeVougeotCotesDOr">
    <hasMaker  rdf:resource="#ClosDeVougeot" />
  </CotesDOr>
  
  <Winery rdf:ID="CongressSprings" />
  
  <Semillon rdf:ID="CongressSpringsSemillon">
    <hasMaker  rdf:resource="#CongressSprings" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Semillon>

  <Winery rdf:ID="Corbans" />
  
  <Riesling rdf:ID="CorbansDryWhiteRiesling">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Corbans" />
    <hasSugar  rdf:resource="#OffDry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Riesling>
  
  <SauvignonBlanc rdf:ID="CorbansPrivateBinSauvignonBlanc">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Corbans" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </SauvignonBlanc>
  
  <SauvignonBlanc rdf:ID="CorbansSauvignonBlanc">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Corbans" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Medium" />
  </SauvignonBlanc>
  
  <Winery rdf:ID="CortonMontrachet" />
  
  <WhiteBurgundy rdf:ID="CortonMontrachetWhiteBurgundy">
    <hasMaker  rdf:resource="#CortonMontrachet" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </WhiteBurgundy>
  
  <Region rdf:ID="CotesDOrRegion">
    <locatedIn rdf:resource="#BourgogneRegion" />
  </Region>
  
  <Winery rdf:ID="Cotturi" />
  
  <Zinfandel rdf:ID="CotturiZinfandel">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#Cotturi" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </Zinfandel>
  
  <Winery rdf:ID="DAnjou" />
  
  <Region rdf:ID="EdnaValleyRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <Winery rdf:ID="Elyse" />
  
  <Zinfandel rdf:ID="ElyseZinfandel">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#Elyse" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Full" />
  </Zinfandel>
  
  <Winery rdf:ID="Forman" />
  
  <CabernetSauvignon rdf:ID="FormanCabernetSauvignon">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#Forman" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Medium" />
  </CabernetSauvignon>
  
  <Chardonnay rdf:ID="FormanChardonnay">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#Forman" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Full" />
  </Chardonnay>
  
  <Winery rdf:ID="Foxen" />
  
  <CheninBlanc rdf:ID="FoxenCheninBlanc">
    <locatedIn rdf:resource="#SantaBarbaraRegion" />
    <hasMaker  rdf:resource="#Foxen" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Full" />
  </CheninBlanc>
  
  <WineGrape rdf:ID="GamayGrape" />
  
  <Winery rdf:ID="GaryFarrell" />
  
  <Merlot rdf:ID="GaryFarrellMerlot">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#GaryFarrell" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Merlot>
  
  <Region rdf:ID="GermanyRegion" />
  
  <Winery rdf:ID="Handley" />
  
  <Winery rdf:ID="KalinCellars" />
  
  <Semillon rdf:ID="KalinCellarsSemillon">
    <hasMaker  rdf:resource="#KalinCellars" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </Semillon>
  
  <Winery rdf:ID="KathrynKennedy" />
  
  <Meritage rdf:ID="KathrynKennedyLateral">
    <hasMaker  rdf:resource="#KathrynKennedy" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Delicate" />
    <hasBody   rdf:resource="#Medium" />
  </Meritage>
  
  <Winery rdf:ID="LaneTanner" />
  
  <PinotNoir rdf:ID="LaneTannerPinotNoir">
    <locatedIn rdf:resource="#SantaBarbaraRegion" />
    <hasMaker  rdf:resource="#LaneTanner" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Delicate" />
    <hasBody   rdf:resource="#Light" />
  </PinotNoir>
  
  <Winery rdf:ID="Longridge" />
  
  <Merlot rdf:ID="LongridgeMerlot">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Longridge" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Light" />
  </Merlot>
  
  <WineGrape rdf:ID="MalbecGrape" />
  
  <Region rdf:ID="MargauxRegion">
    <locatedIn rdf:resource="#MedocRegion" />
  </Region>
  
  <Winery rdf:ID="Marietta" />
  
  <CabernetSauvignon rdf:ID="MariettaCabernetSauvignon">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#Marietta" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </CabernetSauvignon>
  
  <RedTableWine rdf:ID="MariettaOldVinesRed">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#Marietta" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </RedTableWine>
  
  <PetiteSyrah rdf:ID="MariettaPetiteSyrah">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#Marietta" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </PetiteSyrah>
  
  <Zinfandel rdf:ID="MariettaZinfandel">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#Marietta" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Zinfandel>
  
  <Winery rdf:ID="McGuinnesso" />
  
  <Region rdf:ID="MendocinoRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
    <adjacentRegion rdf:resource="#SonomaRegion" />
  </Region>
  
  <WineGrape rdf:ID="MerlotGrape" />
  
  <Region rdf:ID="MeursaultRegion">
    <locatedIn rdf:resource="#BourgogneRegion" />
  </Region>
  
  <Winery rdf:ID="MountEdenVineyard" />
  
  <Chardonnay rdf:ID="MountEdenVineyardEdnaValleyChardonnay">
    <locatedIn rdf:resource="#EdnaValleyRegion" />
    <hasMaker  rdf:resource="#MountEdenVineyard" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Chardonnay>
  
  <PinotNoir rdf:ID="MountEdenVineyardEstatePinotNoir">
    <locatedIn rdf:resource="#EdnaValleyRegion" />
    <hasMaker  rdf:resource="#MountEdenVineyard" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </PinotNoir>
  
  <Winery rdf:ID="Mountadam" />
  
  <Chardonnay rdf:ID="MountadamChardonnay">
    <locatedIn rdf:resource="#SouthAustraliaRegion" />
    <hasMaker  rdf:resource="#Mountadam" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </Chardonnay>
  
  <PinotNoir rdf:ID="MountadamPinotNoir">
    <locatedIn rdf:resource="#SouthAustraliaRegion" />
    <hasMaker  rdf:resource="#Mountadam" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </PinotNoir>
  
  <DryRiesling rdf:ID="MountadamRiesling">
    <locatedIn rdf:resource="#SouthAustraliaRegion" />
    <hasMaker  rdf:resource="#Mountadam" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Delicate" />
    <hasBody   rdf:resource="#Medium" />
  </DryRiesling>
  
  <Region rdf:ID="MuscadetRegion">
    <locatedIn rdf:resource="#LoireRegion" />
  </Region>
  
  <Region rdf:ID="NapaRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <Region rdf:ID="NewZealandRegion" />
  
  <Winery rdf:ID="PageMillWinery" />  

  <CabernetSauvignon rdf:ID="PageMillWineryCabernetSauvignon">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#PageMillWinery" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </CabernetSauvignon>
  
  <Region rdf:ID="PauillacRegion">
    <locatedIn rdf:resource="#MedocRegion" />
  </Region>
  
  <Winery rdf:ID="PeterMccoy" />
  
  <Chardonnay rdf:ID="PeterMccoyChardonnay">
    <locatedIn rdf:resource="#SonomaRegion" />
    <hasMaker  rdf:resource="#PeterMccoy" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Chardonnay>
  
  <WineGrape rdf:ID="PetiteSyrahGrape" />
  
  <WineGrape rdf:ID="PetiteVerdotGrape" />
  
  <WineGrape rdf:ID="PinotBlancGrape" />
  
  <WineGrape rdf:ID="PinotNoirGrape" />
  
  <Region rdf:ID="PortugalRegion" />
  
  <Winery rdf:ID="PulignyMontrachet" />
  
  <WhiteBurgundy rdf:ID="PulignyMontrachetWhiteBurgundy">
    <hasMaker  rdf:resource="#PulignyMontrachet" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </WhiteBurgundy>
  
  <WineGrape rdf:ID="RieslingGrape" />
  
  <Anjou rdf:ID="RoseDAnjou">
    <hasMaker  rdf:resource="#DAnjou" />
  </Anjou>
  
  <Region rdf:ID="SancerreRegion">
    <locatedIn rdf:resource="#LoireRegion" />
  </Region>
  
  <WineGrape rdf:ID="SangioveseGrape" />
  
  <Region rdf:ID="SantaBarbaraRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <Winery rdf:ID="SantaCruzMountainVineyard" />
  
  <CabernetSauvignon rdf:ID="SantaCruzMountainVineyardCabernetSauvignon">
    <locatedIn rdf:resource="#SantaCruzMountainsRegion" />
    <hasMaker  rdf:resource="#SantaCruzMountainVineyard" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </CabernetSauvignon>
  
  <Region rdf:ID="CentralTexasRegion">
    <locatedIn rdf:resource="#TexasRegion" />
  </Region>

  <Winery rdf:ID="StGenevieve" />

  <WhiteWine rdf:ID="StGenevieveTexasWhite">
    <locatedIn rdf:resource="#CentralTexasRegion" />
    <hasMaker  rdf:resource="#StGenevieve" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
  </WhiteWine>

  <Region rdf:ID="SantaCruzMountainsRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <Winery rdf:ID="SaucelitoCanyon" />
  
  <Zinfandel rdf:ID="SaucelitoCanyonZinfandel">
    <locatedIn rdf:resource="#ArroyoGrandeRegion" />
    <hasMaker  rdf:resource="#SaucelitoCanyon" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Zinfandel>
  
  <Zinfandel rdf:ID="SaucelitoCanyonZinfandel1998">
    <locatedIn rdf:resource="#ArroyoGrandeRegion" />
    <hasVintageYear rdf:resource="#Year1998" />
    <hasMaker  rdf:resource="#SaucelitoCanyon" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </Zinfandel>

  <Region rdf:ID="SauterneRegion">
    <locatedIn rdf:resource="#BordeauxRegion" />
  </Region>
  
  <WineGrape rdf:ID="SauvignonBlancGrape" />
  
  <Winery rdf:ID="SchlossRothermel" />
  
  <SweetRiesling rdf:ID="SchlossRothermelTrochenbierenausleseRiesling">
    <locatedIn rdf:resource="#GermanyRegion" />
    <hasMaker  rdf:resource="#SchlossRothermel" />
    <hasSugar  rdf:resource="#Sweet" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </SweetRiesling>
  
  <Winery rdf:ID="SchlossVolrad" />
  
  <SweetRiesling rdf:ID="SchlossVolradTrochenbierenausleseRiesling">
    <locatedIn rdf:resource ="#GermanyRegion" />
    <hasMaker  rdf:resource="#SchlossVolrad" />
    <hasSugar  rdf:resource="#Sweet" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Full" />
  </SweetRiesling>
  
  <Winery rdf:ID="SeanThackrey" />
  
  <PetiteSyrah rdf:ID="SeanThackreySiriusPetiteSyrah">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#SeanThackrey" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Strong" />
    <hasBody   rdf:resource="#Full" />
  </PetiteSyrah>
  
  <Winery rdf:ID="Selaks" />
  
  <IceWine rdf:ID="SelaksIceWine">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Selaks" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
    <hasColor rdf:resource="#White" />
  </IceWine>
  
  <SauvignonBlanc rdf:ID="SelaksSauvignonBlanc">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Selaks" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </SauvignonBlanc>
  
  <WineGrape rdf:ID="SemillonGrape" />
  
  <Winery rdf:ID="SevreEtMaine" />
  
  <Muscadet rdf:ID="SevreEtMaineMuscadet">
    <hasMaker  rdf:resource="#SevreEtMaine" />
  </Muscadet>
  
  <Region rdf:ID="SonomaRegion">
    <locatedIn rdf:resource="#CaliforniaRegion" />
  </Region>
  
  <Region rdf:ID="SouthAustraliaRegion">
    <locatedIn rdf:resource="#AustralianRegion" />
  </Region>
  
  <Region rdf:ID="StEmilionRegion">
    <locatedIn rdf:resource="#BordeauxRegion" />
  </Region>
  
  <Winery rdf:ID="Stonleigh" />
  
  <SauvignonBlanc rdf:ID="StonleighSauvignonBlanc">
    <locatedIn rdf:resource="#NewZealandRegion" />
    <hasMaker  rdf:resource="#Stonleigh" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Delicate" />
    <hasBody   rdf:resource="#Medium" />
  </SauvignonBlanc>
  
  <Winery rdf:ID="Taylor" />
  
  <Port rdf:ID="TaylorPort">
    <hasMaker  rdf:resource="#Taylor" />
  </Port>
  
  <Region rdf:ID="ToursRegion">
    <locatedIn rdf:resource="#LoireRegion" />
  </Region>
  
  <Winery rdf:ID="Ventana" />
  
  <CheninBlanc rdf:ID="VentanaCheninBlanc">
    <locatedIn rdf:resource="#CentralCoastRegion" />
    <hasMaker  rdf:resource="#Ventana" />
    <hasSugar  rdf:resource="#OffDry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </CheninBlanc>
  
  <Winery rdf:ID="WhitehallLane" />
  
  <CabernetFranc rdf:ID="WhitehallLaneCabernetFranc">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasMaker  rdf:resource="#WhitehallLane" />
    <hasSugar  rdf:resource="#Dry" />
    <hasFlavor rdf:resource="#Moderate" />
    <hasBody   rdf:resource="#Medium" />
  </CabernetFranc>
  
  <DessertWine rdf:ID="WhitehallLanePrimavera">
    <locatedIn rdf:resource="#NapaRegion" />
    <hasSugar  rdf:resource="#Sweet" />
    <hasFlavor rdf:resource="#Delicate" />
    <hasBody   rdf:resource="#Light" />
  </DessertWine>
  
  <owl:AllDifferent>
    <owl:distinctMembers rdf:parseType="Collection">
      <vin:Winery rdf:about="#Bancroft" />
      <vin:Winery rdf:about="#ChateauChevalBlanc" />
      <vin:Winery rdf:about="#ChateauDYchem" />
      <vin:Winery rdf:about="#ChateauDeMeursault" />
      <vin:Winery rdf:about="#ChateauLafiteRothschild" />
      <vin:Winery rdf:about="#ChateauMargauxWinery" />
      <vin:Winery rdf:about="#ChateauMorgon" />
      <vin:Winery rdf:about="#ClosDeLaPoussie" />
      <vin:Winery rdf:about="#ClosDeVougeot" />
      <vin:Winery rdf:about="#CongressSprings" />
      <vin:Winery rdf:about="#Corbans" />
      <vin:Winery rdf:about="#CortonMontrachet" />
      <vin:Winery rdf:about="#Cotturi" />
      <vin:Winery rdf:about="#DAnjou" />
      <vin:Winery rdf:about="#Elyse" />
      <vin:Winery rdf:about="#Forman" />
      <vin:Winery rdf:about="#Foxen" />
      <vin:Winery rdf:about="#GaryFarrell" />
      <vin:Winery rdf:about="#KalinCellars" />
      <vin:Winery rdf:about="#KathrynKennedy" />
      <vin:Winery rdf:about="#LaneTanner" />
      <vin:Winery rdf:about="#Longridge" />
      <vin:Winery rdf:about="#Marietta" />
      <vin:Winery rdf:about="#McGuinnesso" />
      <vin:Winery rdf:about="#MountEdenVineyard" />
      <vin:Winery rdf:about="#Mountadam" />
      <vin:Winery rdf:about="#PageMillWinery" />
      <vin:Winery rdf:about="#PeterMccoy" />
      <vin:Winery rdf:about="#PulignyMontrachet" />
      <vin:Winery rdf:about="#SantaCruzMountainVineyard" />
      <vin:Winery rdf:about="#SaucelitoCanyon" />
      <vin:Winery rdf:about="#SchlossRothermel" />
      <vin:Winery rdf:about="#SchlossVolrad" />
      <vin:Winery rdf:about="#SeanThackrey" />
      <vin:Winery rdf:about="#Selaks" />
      <vin:Winery rdf:about="#SevreEtMaine" />
      <vin:Winery rdf:about="#StGenevieve" />
      <vin:Winery rdf:about="#Stonleigh" />
      <vin:Winery rdf:about="#Taylor" />
      <vin:Winery rdf:about="#Ventana" />
      <vin:Winery rdf:about="#WhitehallLane" />
    </owl:distinctMembers>
  </owl:AllDifferent>

</rdf:RDF>
<miscellaneous/consistent001> rdf:type owl:Ontology .
<miscellaneous/consistent001> rdfs:comment "An example OWL ontology" .
<http://www.example.org/wine-020303> rdf:type owl:Ontology .
<miscellaneous/consistent001> owl:priorVersion <http://www.example.org/wine-020303> .
<miscellaneous/consistent001> owl:imports <miscellaneous/consistent002> .
<miscellaneous/consistent001> rdfs:comment """Derived from the DAML Wine ontology at 
      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
      Substantially changed, in particular the Region based relations.
    """ .
<miscellaneous/consistent001> rdfs:label "Wine Ontology" .
vin:Wine rdf:type owl:Class .
vin:Wine rdfs:subClassOf food:PotableLiquid .
_:a rdf:type owl:Restriction .
_:a owl:onProperty vin:hasMaker .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger  .
vin:Wine rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty vin:hasMaker .
_:c owl:allValuesFrom vin:Winery .
vin:Wine rdfs:subClassOf _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty vin:madeFromGrape .
_:e owl:minCardinality "1"^^xsd:nonNegativeInteger  .
vin:Wine rdfs:subClassOf _:e .
_:g rdf:type owl:Restriction .
_:g owl:onProperty vin:hasSugar .
_:g owl:cardinality "1"^^xsd:nonNegativeInteger  .
vin:Wine rdfs:subClassOf _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty vin:hasFlavor .
_:i owl:cardinality "1"^^xsd:nonNegativeInteger  .
vin:Wine rdfs:subClassOf _:i .
_:k rdf:type owl:Restriction .
_:k owl:onProperty vin:hasBody .
_:k owl:cardinality "1"^^xsd:nonNegativeInteger  .
vin:Wine rdfs:subClassOf _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty vin:hasColor .
_:m owl:cardinality "1"^^xsd:nonNegativeInteger  .
vin:Wine rdfs:subClassOf _:m .
_:o rdf:type owl:Restriction .
_:o owl:onProperty vin:locatedIn .
_:o owl:someValuesFrom vin:Region .
vin:Wine rdfs:subClassOf _:o .
vin:Wine rdfs:label "wine"@en .
vin:Wine rdfs:label "vin"@fr .
vin:Vintage rdf:type owl:Class .
_:q rdf:type owl:Restriction .
_:q owl:onProperty vin:hasVintageYear .
_:q owl:cardinality "1"^^xsd:nonNegativeInteger  .
vin:Vintage rdfs:subClassOf _:q .
vin:WineGrape rdf:type owl:Class .
vin:WineGrape rdfs:subClassOf food:Grape .
vin:WhiteWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:s rdf:type owl:Restriction .
_:s owl:onProperty vin:hasColor .
_:s owl:hasValue vin:White .
_:u rdf:first _:s .
_:u rdf:rest rdf:nil .
_:w rdf:first vin:Wine .
_:w rdf:rest _:u .
vin:WhiteWine owl:intersectionOf _:w .
vin:WhiteTableWine rdf:type owl:Class .
vin:TableWine rdf:type owl:Class .
_:y rdf:type owl:Restriction .
_:y owl:onProperty vin:hasColor .
_:y owl:hasValue vin:White .
_:a1 rdf:first _:y .
_:a1 rdf:rest rdf:nil .
_:c1 rdf:first vin:TableWine .
_:c1 rdf:rest _:a1 .
vin:WhiteTableWine owl:intersectionOf _:c1 .
vin:WhiteNonSweetWine rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:e1 rdf:type owl:Restriction .
_:e1 owl:onProperty vin:hasSugar .
_:g1 rdf:type owl:Class .
vin:Dry rdf:type owl:Thing .
vin:OffDry rdf:type owl:Thing .
_:i1 rdf:first vin:OffDry .
_:i1 rdf:rest rdf:nil .
_:k1 rdf:first vin:Dry .
_:k1 rdf:rest _:i1 .
_:g1 owl:oneOf _:k1 .
_:e1 owl:allValuesFrom _:g1 .
_:m1 rdf:first _:e1 .
_:m1 rdf:rest rdf:nil .
_:o1 rdf:first vin:WhiteWine .
_:o1 rdf:rest _:m1 .
vin:WhiteNonSweetWine owl:intersectionOf _:o1 .
vin:WhiteLoire rdf:type owl:Class .
vin:Loire rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:q1 rdf:first vin:WhiteWine .
_:q1 rdf:rest rdf:nil .
_:s1 rdf:first vin:Loire .
_:s1 rdf:rest _:q1 .
vin:WhiteLoire owl:intersectionOf _:s1 .
vin:WhiteLoire rdf:type owl:Class .
_:u1 rdf:type owl:Restriction .
_:u1 owl:onProperty vin:madeFromGrape .
_:w1 rdf:type owl:Class .
vin:CheninBlancGrape rdf:type owl:Thing .
vin:PinotBlancGrape rdf:type owl:Thing .
vin:SauvignonBlancGrape rdf:type owl:Thing .
_:y1 rdf:first vin:SauvignonBlancGrape .
_:y1 rdf:rest rdf:nil .
_:a2 rdf:first vin:PinotBlancGrape .
_:a2 rdf:rest _:y1 .
_:c2 rdf:first vin:CheninBlancGrape .
_:c2 rdf:rest _:a2 .
_:w1 owl:oneOf _:c2 .
_:u1 owl:allValuesFrom _:w1 .
vin:WhiteLoire rdfs:subClassOf _:u1 .
vin:WhiteBurgundy rdf:type owl:Class .
vin:Burgundy rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:e2 rdf:first vin:WhiteWine .
_:e2 rdf:rest rdf:nil .
_:g2 rdf:first vin:Burgundy .
_:g2 rdf:rest _:e2 .
vin:WhiteBurgundy owl:intersectionOf _:g2 .
vin:WhiteBurgundy rdf:type owl:Class .
_:i2 rdf:type owl:Restriction .
_:i2 owl:onProperty vin:madeFromGrape .
_:i2 owl:hasValue vin:ChardonnayGrape .
vin:WhiteBurgundy rdfs:subClassOf _:i2 .
_:k2 rdf:type owl:Restriction .
_:k2 owl:onProperty vin:madeFromGrape .
_:k2 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:WhiteBurgundy rdfs:subClassOf _:k2 .
vin:WhiteBordeaux rdf:type owl:Class .
vin:Bordeaux rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:m2 rdf:first vin:WhiteWine .
_:m2 rdf:rest rdf:nil .
_:o2 rdf:first vin:Bordeaux .
_:o2 rdf:rest _:m2 .
vin:WhiteBordeaux owl:intersectionOf _:o2 .
vin:WhiteBordeaux rdf:type owl:Class .
_:q2 rdf:type owl:Restriction .
_:q2 owl:onProperty vin:madeFromGrape .
_:s2 rdf:type owl:Class .
vin:SemillonGrape rdf:type owl:Thing .
vin:SauvignonBlancGrape rdf:type owl:Thing .
_:u2 rdf:first vin:SauvignonBlancGrape .
_:u2 rdf:rest rdf:nil .
_:w2 rdf:first vin:SemillonGrape .
_:w2 rdf:rest _:u2 .
_:s2 owl:oneOf _:w2 .
_:q2 owl:allValuesFrom _:s2 .
vin:WhiteBordeaux rdfs:subClassOf _:q2 .
vin:Region rdf:type owl:Class .
vin:locatedIn rdf:type owl:ObjectProperty .
vin:locatedIn rdf:type owl:TransitiveProperty .
vin:locatedIn rdfs:domain owl:Thing .
vin:locatedIn rdfs:range vin:Region .
vin:adjacentRegion rdf:type owl:ObjectProperty .
vin:adjacentRegion rdf:type owl:SymmetricProperty .
vin:adjacentRegion rdfs:domain vin:Region .
vin:adjacentRegion rdfs:range vin:Region .
vin:VintageYear rdf:type owl:Class .
vin:yearValue rdf:type owl:DatatypeProperty .
vin:yearValue rdfs:domain vin:VintageYear .
vin:yearValue rdfs:range xsd:positiveInteger .
vin:Year1998 rdf:type vin:VintageYear .
vin:Year1998 vin:yearValue "1998"^^xsd:positiveInteger  .
vin:hasVintageYear rdf:type owl:ObjectProperty .
vin:hasVintageYear rdf:type owl:FunctionalProperty .
vin:hasVintageYear rdfs:domain vin:Vintage .
vin:hasVintageYear rdfs:range vin:VintageYear .
vin:madeFromGrape rdf:type owl:ObjectProperty .
vin:madeFromGrape rdfs:subPropertyOf food:madeFromFruit .
vin:madeFromGrape rdfs:domain vin:Wine .
vin:madeFromGrape rdfs:range vin:WineGrape .
vin:madeIntoWine rdf:type owl:ObjectProperty .
vin:madeIntoWine owl:inverseOf vin:madeFromGrape .
vin:hasWineDescriptor rdf:type owl:ObjectProperty .
vin:hasWineDescriptor rdfs:domain vin:Wine .
vin:hasWineDescriptor rdfs:range vin:WineDescriptor .
vin:hasSugar rdf:type owl:ObjectProperty .
vin:hasSugar rdf:type owl:FunctionalProperty .
vin:hasSugar rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasSugar rdfs:range vin:WineSugar .
vin:hasBody rdf:type owl:ObjectProperty .
vin:hasBody rdf:type owl:FunctionalProperty .
vin:hasBody rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasBody rdfs:range vin:WineBody .
vin:hasFlavor rdf:type owl:ObjectProperty .
vin:hasFlavor rdf:type owl:FunctionalProperty .
vin:hasFlavor rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasFlavor rdfs:range vin:WineFlavor .
vin:hasColor rdf:type owl:ObjectProperty .
vin:hasColor rdf:type owl:FunctionalProperty .
vin:hasColor rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasColor rdfs:domain vin:Wine .
vin:hasColor rdfs:range vin:WineColor .
vin:hasMaker rdf:type owl:ObjectProperty .
vin:hasMaker rdf:type owl:FunctionalProperty .
vin:producesWine rdf:type owl:ObjectProperty .
vin:producesWine owl:inverseOf vin:hasMaker .
vin:Zinfandel rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:y2 rdf:type owl:Restriction .
_:y2 owl:onProperty vin:madeFromGrape .
_:y2 owl:hasValue vin:ZinfandelGrape .
_:a3 rdf:type owl:Restriction .
_:a3 owl:onProperty vin:madeFromGrape .
_:a3 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:c3 rdf:first _:a3 .
_:c3 rdf:rest rdf:nil .
_:e3 rdf:first _:y2 .
_:e3 rdf:rest _:c3 .
_:g3 rdf:first vin:Wine .
_:g3 rdf:rest _:e3 .
vin:Zinfandel owl:intersectionOf _:g3 .
vin:Zinfandel rdf:type owl:Class .
_:i3 rdf:type owl:Restriction .
_:i3 owl:onProperty vin:hasColor .
_:i3 owl:hasValue vin:Red .
vin:Zinfandel rdfs:subClassOf _:i3 .
_:k3 rdf:type owl:Restriction .
_:k3 owl:onProperty vin:hasSugar .
_:k3 owl:hasValue vin:Dry .
vin:Zinfandel rdfs:subClassOf _:k3 .
_:m3 rdf:type owl:Restriction .
_:m3 owl:onProperty vin:hasBody .
_:o3 rdf:type owl:Class .
vin:Full rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:q3 rdf:first vin:Medium .
_:q3 rdf:rest rdf:nil .
_:s3 rdf:first vin:Full .
_:s3 rdf:rest _:q3 .
_:o3 owl:oneOf _:s3 .
_:m3 owl:allValuesFrom _:o3 .
vin:Zinfandel rdfs:subClassOf _:m3 .
_:u3 rdf:type owl:Restriction .
_:u3 owl:onProperty vin:hasFlavor .
_:w3 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:y3 rdf:first vin:Strong .
_:y3 rdf:rest rdf:nil .
_:a4 rdf:first vin:Moderate .
_:a4 rdf:rest _:y3 .
_:w3 owl:oneOf _:a4 .
_:u3 owl:allValuesFrom _:w3 .
vin:Zinfandel rdfs:subClassOf _:u3 .
vin:Winery rdf:type owl:Class .
vin:WineDescriptor rdf:type owl:Class .
vin:WineDescriptor rdfs:comment "Made WineDescriptor unionType of tastes and color" .
vin:WineTaste rdf:type owl:Class .
vin:WineColor rdf:type owl:Class .
_:c4 rdf:first vin:WineColor .
_:c4 rdf:rest rdf:nil .
_:e4 rdf:first vin:WineTaste .
_:e4 rdf:rest _:c4 .
vin:WineDescriptor owl:unionOf _:e4 .
vin:WineTaste rdf:type owl:Class .
vin:WineTaste rdfs:subClassOf vin:WineDescriptor .
vin:WineColor rdf:type owl:Class .
vin:WineColor rdfs:subClassOf vin:WineDescriptor .
vin:White rdf:type owl:Thing .
vin:Rose rdf:type owl:Thing .
vin:Red rdf:type owl:Thing .
_:g4 rdf:first vin:Red .
_:g4 rdf:rest rdf:nil .
_:i4 rdf:first vin:Rose .
_:i4 rdf:rest _:g4 .
_:k4 rdf:first vin:White .
_:k4 rdf:rest _:i4 .
vin:WineColor owl:oneOf _:k4 .
vin:WineSugar rdf:type owl:Class .
vin:WineSugar rdfs:subClassOf vin:WineTaste .
vin:Sweet rdf:type owl:Thing .
vin:OffDry rdf:type owl:Thing .
vin:Dry rdf:type owl:Thing .
_:m4 rdf:first vin:Dry .
_:m4 rdf:rest rdf:nil .
_:o4 rdf:first vin:OffDry .
_:o4 rdf:rest _:m4 .
_:q4 rdf:first vin:Sweet .
_:q4 rdf:rest _:o4 .
vin:WineSugar owl:oneOf _:q4 .
vin:WineFlavor rdf:type owl:Class .
vin:WineFlavor rdfs:subClassOf vin:WineTaste .
vin:Delicate rdf:type owl:Thing .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:s4 rdf:first vin:Strong .
_:s4 rdf:rest rdf:nil .
_:u4 rdf:first vin:Moderate .
_:u4 rdf:rest _:s4 .
_:w4 rdf:first vin:Delicate .
_:w4 rdf:rest _:u4 .
vin:WineFlavor owl:oneOf _:w4 .
vin:WineBody rdf:type owl:Class .
vin:WineBody rdfs:subClassOf vin:WineTaste .
vin:Light rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:y4 rdf:first vin:Full .
_:y4 rdf:rest rdf:nil .
_:a5 rdf:first vin:Medium .
_:a5 rdf:rest _:y4 .
_:c5 rdf:first vin:Light .
_:c5 rdf:rest _:a5 .
vin:WineBody owl:oneOf _:c5 .
vin:USRegion rdf:type vin:Region .
vin:Tours rdf:type owl:Class .
vin:Loire rdf:type owl:Class .
_:e5 rdf:type owl:Restriction .
_:e5 owl:onProperty vin:locatedIn .
_:e5 owl:hasValue vin:ToursRegion .
_:g5 rdf:first _:e5 .
_:g5 rdf:rest rdf:nil .
_:i5 rdf:first vin:Loire .
_:i5 rdf:rest _:g5 .
vin:Tours owl:intersectionOf _:i5 .
vin:Tours rdf:type owl:Class .
_:k5 rdf:type owl:Restriction .
_:k5 owl:onProperty vin:madeFromGrape .
_:k5 owl:hasValue vin:CheninBlancGrape .
vin:Tours rdfs:subClassOf _:k5 .
_:m5 rdf:type owl:Restriction .
_:m5 owl:onProperty vin:madeFromGrape .
_:m5 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:Tours rdfs:subClassOf _:m5 .
vin:TableWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:o5 rdf:type owl:Restriction .
_:o5 owl:onProperty vin:hasSugar .
_:o5 owl:hasValue vin:Dry .
_:q5 rdf:first _:o5 .
_:q5 rdf:rest rdf:nil .
_:s5 rdf:first vin:Wine .
_:s5 rdf:rest _:q5 .
vin:TableWine owl:intersectionOf _:s5 .
vin:SweetWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:u5 rdf:type owl:Restriction .
_:u5 owl:onProperty vin:hasSugar .
_:u5 owl:hasValue vin:Sweet .
_:w5 rdf:first _:u5 .
_:w5 rdf:rest rdf:nil .
_:y5 rdf:first vin:Wine .
_:y5 rdf:rest _:w5 .
vin:SweetWine owl:intersectionOf _:y5 .
vin:SweetRiesling rdf:type owl:Class .
vin:SweetRiesling rdfs:subClassOf vin:DessertWine .
_:a6 rdf:type owl:Restriction .
_:a6 owl:onProperty vin:hasBody .
_:a6 owl:hasValue vin:Full .
vin:SweetRiesling rdfs:subClassOf _:a6 .
_:c6 rdf:type owl:Restriction .
_:c6 owl:onProperty vin:hasFlavor .
_:e6 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:g6 rdf:first vin:Strong .
_:g6 rdf:rest rdf:nil .
_:i6 rdf:first vin:Moderate .
_:i6 rdf:rest _:g6 .
_:e6 owl:oneOf _:i6 .
_:c6 owl:allValuesFrom _:e6 .
vin:SweetRiesling rdfs:subClassOf _:c6 .
vin:Riesling rdf:type owl:Class .
_:k6 rdf:type owl:Restriction .
_:k6 owl:onProperty vin:hasSugar .
_:k6 owl:hasValue vin:Sweet .
_:m6 rdf:first _:k6 .
_:m6 rdf:rest rdf:nil .
_:o6 rdf:first vin:Riesling .
_:o6 rdf:rest _:m6 .
vin:SweetRiesling owl:intersectionOf _:o6 .
vin:StEmilion rdf:type owl:Class .
_:q6 rdf:type owl:Restriction .
_:q6 owl:onProperty vin:hasColor .
_:q6 owl:hasValue vin:Red .
vin:StEmilion rdfs:subClassOf _:q6 .
_:s6 rdf:type owl:Restriction .
_:s6 owl:onProperty vin:hasFlavor .
_:s6 owl:hasValue vin:Strong .
vin:StEmilion rdfs:subClassOf _:s6 .
_:u6 rdf:type owl:Restriction .
_:u6 owl:onProperty vin:madeFromGrape .
_:u6 owl:hasValue vin:CabernetSauvignonGrape .
vin:StEmilion rdfs:subClassOf _:u6 .
_:w6 rdf:type owl:Restriction .
_:w6 owl:onProperty vin:madeFromGrape .
_:w6 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:StEmilion rdfs:subClassOf _:w6 .
vin:Bordeaux rdf:type owl:Class .
_:y6 rdf:type owl:Restriction .
_:y6 owl:onProperty vin:locatedIn .
_:y6 owl:hasValue vin:StEmilionRegion .
_:a7 rdf:first _:y6 .
_:a7 rdf:rest rdf:nil .
_:c7 rdf:first vin:Bordeaux .
_:c7 rdf:rest _:a7 .
vin:StEmilion owl:intersectionOf _:c7 .
vin:SemillonOrSauvignonBlanc rdf:type owl:Class .
_:e7 rdf:type owl:Restriction .
_:e7 owl:onProperty vin:hasColor .
_:e7 owl:hasValue vin:White .
vin:SemillonOrSauvignonBlanc rdfs:subClassOf _:e7 .
_:g7 rdf:type owl:Restriction .
_:g7 owl:onProperty vin:hasBody .
_:i7 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:k7 rdf:first vin:Full .
_:k7 rdf:rest rdf:nil .
_:m7 rdf:first vin:Medium .
_:m7 rdf:rest _:k7 .
_:i7 owl:oneOf _:m7 .
_:g7 owl:allValuesFrom _:i7 .
vin:SemillonOrSauvignonBlanc rdfs:subClassOf _:g7 .
vin:Wine rdf:type owl:Class .
_:o7 rdf:type owl:Restriction .
_:o7 owl:onProperty vin:madeFromGrape .
_:q7 rdf:type owl:Class .
vin:SemillonGrape rdf:type owl:Thing .
vin:SauvignonBlancGrape rdf:type owl:Thing .
_:s7 rdf:first vin:SauvignonBlancGrape .
_:s7 rdf:rest rdf:nil .
_:u7 rdf:first vin:SemillonGrape .
_:u7 rdf:rest _:s7 .
_:q7 owl:oneOf _:u7 .
_:o7 owl:allValuesFrom _:q7 .
_:w7 rdf:first _:o7 .
_:w7 rdf:rest rdf:nil .
_:y7 rdf:first vin:Wine .
_:y7 rdf:rest _:w7 .
vin:SemillonOrSauvignonBlanc owl:intersectionOf _:y7 .
vin:Semillon rdf:type owl:Class .
vin:SemillonOrSauvignonBlanc rdf:type owl:Class .
_:a8 rdf:type owl:Restriction .
_:a8 owl:onProperty vin:madeFromGrape .
_:a8 owl:hasValue vin:SemillonGrape .
_:c8 rdf:type owl:Restriction .
_:c8 owl:onProperty vin:madeFromGrape .
_:c8 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:e8 rdf:first _:c8 .
_:e8 rdf:rest rdf:nil .
_:g8 rdf:first _:a8 .
_:g8 rdf:rest _:e8 .
_:i8 rdf:first vin:SemillonOrSauvignonBlanc .
_:i8 rdf:rest _:g8 .
vin:Semillon owl:intersectionOf _:i8 .
vin:SauvignonBlanc rdf:type owl:Class .
vin:SemillonOrSauvignonBlanc rdf:type owl:Class .
_:k8 rdf:type owl:Restriction .
_:k8 owl:onProperty vin:madeFromGrape .
_:k8 owl:hasValue vin:SauvignonBlancGrape .
_:m8 rdf:type owl:Restriction .
_:m8 owl:onProperty vin:madeFromGrape .
_:m8 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:o8 rdf:first _:m8 .
_:o8 rdf:rest rdf:nil .
_:q8 rdf:first _:k8 .
_:q8 rdf:rest _:o8 .
_:s8 rdf:first vin:SemillonOrSauvignonBlanc .
_:s8 rdf:rest _:q8 .
vin:SauvignonBlanc owl:intersectionOf _:s8 .
vin:Sauterne rdf:type owl:Class .
vin:Sauterne rdfs:subClassOf vin:LateHarvest .
vin:Sauterne rdfs:subClassOf vin:Bordeaux .
_:u8 rdf:type owl:Restriction .
_:u8 owl:onProperty vin:locatedIn .
_:u8 owl:hasValue vin:SauterneRegion .
vin:Sauterne rdfs:subClassOf _:u8 .
_:w8 rdf:type owl:Restriction .
_:w8 owl:onProperty vin:hasBody .
_:w8 owl:hasValue vin:Medium .
vin:Sauterne rdfs:subClassOf _:w8 .
_:y8 rdf:type owl:Restriction .
_:y8 owl:onProperty vin:hasColor .
_:y8 owl:hasValue vin:White .
vin:Sauterne rdfs:subClassOf _:y8 .
vin:Sancerre rdf:type owl:Class .
_:a9 rdf:type owl:Restriction .
_:a9 owl:onProperty vin:hasBody .
_:a9 owl:hasValue vin:Medium .
vin:Sancerre rdfs:subClassOf _:a9 .
_:c9 rdf:type owl:Restriction .
_:c9 owl:onProperty vin:hasSugar .
_:c9 owl:hasValue vin:OffDry .
vin:Sancerre rdfs:subClassOf _:c9 .
_:e9 rdf:type owl:Restriction .
_:e9 owl:onProperty vin:hasFlavor .
_:e9 owl:hasValue vin:Delicate .
vin:Sancerre rdfs:subClassOf _:e9 .
_:g9 rdf:type owl:Restriction .
_:g9 owl:onProperty vin:madeFromGrape .
_:g9 owl:hasValue vin:SauvignonBlancGrape .
vin:Sancerre rdfs:subClassOf _:g9 .
_:i9 rdf:type owl:Restriction .
_:i9 owl:onProperty vin:madeFromGrape .
_:i9 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:Sancerre rdfs:subClassOf _:i9 .
vin:Loire rdf:type owl:Class .
_:k9 rdf:type owl:Restriction .
_:k9 owl:onProperty vin:locatedIn .
_:k9 owl:hasValue vin:SancerreRegion .
_:m9 rdf:first _:k9 .
_:m9 rdf:rest rdf:nil .
_:o9 rdf:first vin:Loire .
_:o9 rdf:rest _:m9 .
vin:Sancerre owl:intersectionOf _:o9 .
vin:RoseWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:q9 rdf:type owl:Restriction .
_:q9 owl:onProperty vin:hasColor .
_:q9 owl:hasValue vin:Rose .
_:s9 rdf:first _:q9 .
_:s9 rdf:rest rdf:nil .
_:u9 rdf:first vin:Wine .
_:u9 rdf:rest _:s9 .
vin:RoseWine owl:intersectionOf _:u9 .
vin:Riesling rdf:type owl:Class .
_:w9 rdf:type owl:Restriction .
_:w9 owl:onProperty vin:hasColor .
_:w9 owl:hasValue vin:White .
vin:Riesling rdfs:subClassOf _:w9 .
vin:Wine rdf:type owl:Class .
_:y9 rdf:type owl:Restriction .
_:y9 owl:onProperty vin:madeFromGrape .
_:y9 owl:hasValue vin:RieslingGrape .
_:a10 rdf:type owl:Restriction .
_:a10 owl:onProperty vin:madeFromGrape .
_:a10 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:c10 rdf:first _:a10 .
_:c10 rdf:rest rdf:nil .
_:e10 rdf:first _:y9 .
_:e10 rdf:rest _:c10 .
_:g10 rdf:first vin:Wine .
_:g10 rdf:rest _:e10 .
vin:Riesling owl:intersectionOf _:g10 .
vin:RedWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:i10 rdf:type owl:Restriction .
_:i10 owl:onProperty vin:hasColor .
_:i10 owl:hasValue vin:Red .
_:k10 rdf:first _:i10 .
_:k10 rdf:rest rdf:nil .
_:m10 rdf:first vin:Wine .
_:m10 rdf:rest _:k10 .
vin:RedWine owl:intersectionOf _:m10 .
vin:RedTableWine rdf:type owl:Class .
vin:TableWine rdf:type owl:Class .
_:o10 rdf:type owl:Restriction .
_:o10 owl:onProperty vin:hasColor .
_:o10 owl:hasValue vin:Red .
_:q10 rdf:first _:o10 .
_:q10 rdf:rest rdf:nil .
_:s10 rdf:first vin:TableWine .
_:s10 rdf:rest _:q10 .
vin:RedTableWine owl:intersectionOf _:s10 .
vin:RedBurgundy rdf:type owl:Class .
_:u10 rdf:type owl:Restriction .
_:u10 owl:onProperty vin:madeFromGrape .
_:u10 owl:hasValue vin:PinotNoirGrape .
vin:RedBurgundy rdfs:subClassOf _:u10 .
_:w10 rdf:type owl:Restriction .
_:w10 owl:onProperty vin:madeFromGrape .
_:w10 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:RedBurgundy rdfs:subClassOf _:w10 .
vin:Burgundy rdf:type owl:Class .
vin:RedWine rdf:type owl:Class .
_:y10 rdf:first vin:RedWine .
_:y10 rdf:rest rdf:nil .
_:a11 rdf:first vin:Burgundy .
_:a11 rdf:rest _:y10 .
vin:RedBurgundy owl:intersectionOf _:a11 .
vin:RedBordeaux rdf:type owl:Class .
_:c11 rdf:type owl:Restriction .
_:c11 owl:onProperty vin:madeFromGrape .
_:e11 rdf:type owl:Class .
vin:CabernetSauvignonGrape rdf:type owl:Thing .
vin:MerlotGrape rdf:type owl:Thing .
_:g11 rdf:first vin:MerlotGrape .
_:g11 rdf:rest rdf:nil .
_:i11 rdf:first vin:CabernetSauvignonGrape .
_:i11 rdf:rest _:g11 .
_:e11 owl:oneOf _:i11 .
_:c11 owl:allValuesFrom _:e11 .
vin:RedBordeaux rdfs:subClassOf _:c11 .
vin:Bordeaux rdf:type owl:Class .
vin:RedWine rdf:type owl:Class .
_:k11 rdf:first vin:RedWine .
_:k11 rdf:rest rdf:nil .
_:m11 rdf:first vin:Bordeaux .
_:m11 rdf:rest _:k11 .
vin:RedBordeaux owl:intersectionOf _:m11 .
vin:Port rdf:type owl:Class .
vin:Port rdfs:subClassOf vin:RedWine .
_:o11 rdf:type owl:Restriction .
_:o11 owl:onProperty vin:locatedIn .
_:o11 owl:hasValue vin:PortugalRegion .
vin:Port rdfs:subClassOf _:o11 .
_:q11 rdf:type owl:Restriction .
_:q11 owl:onProperty vin:hasBody .
_:q11 owl:hasValue vin:Full .
vin:Port rdfs:subClassOf _:q11 .
_:s11 rdf:type owl:Restriction .
_:s11 owl:onProperty vin:hasFlavor .
_:s11 owl:hasValue vin:Strong .
vin:Port rdfs:subClassOf _:s11 .
_:u11 rdf:type owl:Restriction .
_:u11 owl:onProperty vin:hasSugar .
_:u11 owl:hasValue vin:Sweet .
vin:Port rdfs:subClassOf _:u11 .
vin:PinotNoir rdf:type owl:Class .
_:w11 rdf:type owl:Restriction .
_:w11 owl:onProperty vin:hasColor .
_:w11 owl:hasValue vin:Red .
vin:PinotNoir rdfs:subClassOf _:w11 .
vin:Wine rdf:type owl:Class .
_:y11 rdf:type owl:Restriction .
_:y11 owl:onProperty vin:madeFromGrape .
_:y11 owl:hasValue vin:PinotNoirGrape .
_:a12 rdf:type owl:Restriction .
_:a12 owl:onProperty vin:madeFromGrape .
_:a12 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:c12 rdf:first _:a12 .
_:c12 rdf:rest rdf:nil .
_:e12 rdf:first _:y11 .
_:e12 rdf:rest _:c12 .
_:g12 rdf:first vin:Wine .
_:g12 rdf:rest _:e12 .
vin:PinotNoir owl:intersectionOf _:g12 .
vin:PinotBlanc rdf:type owl:Class .
_:i12 rdf:type owl:Restriction .
_:i12 owl:onProperty vin:hasColor .
_:i12 owl:hasValue vin:White .
vin:PinotBlanc rdfs:subClassOf _:i12 .
vin:Wine rdf:type owl:Class .
_:k12 rdf:type owl:Restriction .
_:k12 owl:onProperty vin:madeFromGrape .
_:k12 owl:hasValue vin:PinotBlancGrape .
_:m12 rdf:type owl:Restriction .
_:m12 owl:onProperty vin:madeFromGrape .
_:m12 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:o12 rdf:first _:m12 .
_:o12 rdf:rest rdf:nil .
_:q12 rdf:first _:k12 .
_:q12 rdf:rest _:o12 .
_:s12 rdf:first vin:Wine .
_:s12 rdf:rest _:q12 .
vin:PinotBlanc owl:intersectionOf _:s12 .
vin:PetiteSyrah rdf:type owl:Class .
_:u12 rdf:type owl:Restriction .
_:u12 owl:onProperty vin:hasColor .
_:u12 owl:hasValue vin:Red .
vin:PetiteSyrah rdfs:subClassOf _:u12 .
_:w12 rdf:type owl:Restriction .
_:w12 owl:onProperty vin:hasSugar .
_:w12 owl:hasValue vin:Dry .
vin:PetiteSyrah rdfs:subClassOf _:w12 .
_:y12 rdf:type owl:Restriction .
_:y12 owl:onProperty vin:hasFlavor .
_:a13 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:c13 rdf:first vin:Strong .
_:c13 rdf:rest rdf:nil .
_:e13 rdf:first vin:Moderate .
_:e13 rdf:rest _:c13 .
_:a13 owl:oneOf _:e13 .
_:y12 owl:allValuesFrom _:a13 .
vin:PetiteSyrah rdfs:subClassOf _:y12 .
_:g13 rdf:type owl:Restriction .
_:g13 owl:onProperty vin:hasBody .
_:i13 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:k13 rdf:first vin:Full .
_:k13 rdf:rest rdf:nil .
_:m13 rdf:first vin:Medium .
_:m13 rdf:rest _:k13 .
_:i13 owl:oneOf _:m13 .
_:g13 owl:allValuesFrom _:i13 .
vin:PetiteSyrah rdfs:subClassOf _:g13 .
vin:Wine rdf:type owl:Class .
_:o13 rdf:type owl:Restriction .
_:o13 owl:onProperty vin:madeFromGrape .
_:o13 owl:hasValue vin:PetiteSyrahGrape .
_:q13 rdf:type owl:Restriction .
_:q13 owl:onProperty vin:madeFromGrape .
_:q13 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:s13 rdf:first _:q13 .
_:s13 rdf:rest rdf:nil .
_:u13 rdf:first _:o13 .
_:u13 rdf:rest _:s13 .
_:w13 rdf:first vin:Wine .
_:w13 rdf:rest _:u13 .
vin:PetiteSyrah owl:intersectionOf _:w13 .
vin:Pauillac rdf:type owl:Class .
_:y13 rdf:type owl:Restriction .
_:y13 owl:onProperty vin:hasBody .
_:y13 owl:hasValue vin:Full .
vin:Pauillac rdfs:subClassOf _:y13 .
_:a14 rdf:type owl:Restriction .
_:a14 owl:onProperty vin:hasFlavor .
_:a14 owl:hasValue vin:Strong .
vin:Pauillac rdfs:subClassOf _:a14 .
_:c14 rdf:type owl:Restriction .
_:c14 owl:onProperty vin:madeFromGrape .
_:c14 owl:hasValue vin:CabernetSauvignonGrape .
vin:Pauillac rdfs:subClassOf _:c14 .
_:e14 rdf:type owl:Restriction .
_:e14 owl:onProperty vin:madeFromGrape .
_:e14 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:Pauillac rdfs:subClassOf _:e14 .
vin:Medoc rdf:type owl:Class .
_:g14 rdf:type owl:Restriction .
_:g14 owl:onProperty vin:locatedIn .
_:g14 owl:hasValue vin:PauillacRegion .
_:i14 rdf:first _:g14 .
_:i14 rdf:rest rdf:nil .
_:k14 rdf:first vin:Medoc .
_:k14 rdf:rest _:i14 .
vin:Pauillac owl:intersectionOf _:k14 .
vin:Muscadet rdf:type owl:Class .
_:m14 rdf:type owl:Restriction .
_:m14 owl:onProperty vin:hasBody .
_:m14 owl:hasValue vin:Light .
vin:Muscadet rdfs:subClassOf _:m14 .
_:o14 rdf:type owl:Restriction .
_:o14 owl:onProperty vin:hasFlavor .
_:o14 owl:hasValue vin:Delicate .
vin:Muscadet rdfs:subClassOf _:o14 .
_:q14 rdf:type owl:Restriction .
_:q14 owl:onProperty vin:hasSugar .
_:q14 owl:hasValue vin:Dry .
vin:Muscadet rdfs:subClassOf _:q14 .
_:s14 rdf:type owl:Restriction .
_:s14 owl:onProperty vin:madeFromGrape .
_:s14 owl:hasValue vin:PinotBlancGrape .
vin:Muscadet rdfs:subClassOf _:s14 .
_:u14 rdf:type owl:Restriction .
_:u14 owl:onProperty vin:madeFromGrape .
_:u14 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:Muscadet rdfs:subClassOf _:u14 .
vin:Loire rdf:type owl:Class .
_:w14 rdf:type owl:Restriction .
_:w14 owl:onProperty vin:locatedIn .
_:w14 owl:hasValue vin:MuscadetRegion .
_:y14 rdf:first _:w14 .
_:y14 rdf:rest rdf:nil .
_:a15 rdf:first vin:Loire .
_:a15 rdf:rest _:y14 .
vin:Muscadet owl:intersectionOf _:a15 .
vin:Meursault rdf:type owl:Class .
_:c15 rdf:type owl:Restriction .
_:c15 owl:onProperty vin:hasBody .
_:c15 owl:hasValue vin:Full .
vin:Meursault rdfs:subClassOf _:c15 .
vin:WhiteBurgundy rdf:type owl:Class .
_:e15 rdf:type owl:Restriction .
_:e15 owl:onProperty vin:locatedIn .
_:e15 owl:hasValue vin:MeursaultRegion .
_:g15 rdf:first _:e15 .
_:g15 rdf:rest rdf:nil .
_:i15 rdf:first vin:WhiteBurgundy .
_:i15 rdf:rest _:g15 .
vin:Meursault owl:intersectionOf _:i15 .
vin:Merlot rdf:type owl:Class .
_:k15 rdf:type owl:Restriction .
_:k15 owl:onProperty vin:hasColor .
_:k15 owl:hasValue vin:Red .
vin:Merlot rdfs:subClassOf _:k15 .
_:m15 rdf:type owl:Restriction .
_:m15 owl:onProperty vin:hasSugar .
_:m15 owl:hasValue vin:Dry .
vin:Merlot rdfs:subClassOf _:m15 .
_:o15 rdf:type owl:Restriction .
_:o15 owl:onProperty vin:hasFlavor .
_:q15 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Delicate rdf:type owl:Thing .
_:s15 rdf:first vin:Delicate .
_:s15 rdf:rest rdf:nil .
_:u15 rdf:first vin:Moderate .
_:u15 rdf:rest _:s15 .
_:q15 owl:oneOf _:u15 .
_:o15 owl:allValuesFrom _:q15 .
vin:Merlot rdfs:subClassOf _:o15 .
_:w15 rdf:type owl:Restriction .
_:w15 owl:onProperty vin:hasBody .
_:y15 rdf:type owl:Class .
vin:Light rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:a16 rdf:first vin:Medium .
_:a16 rdf:rest rdf:nil .
_:c16 rdf:first vin:Light .
_:c16 rdf:rest _:a16 .
_:y15 owl:oneOf _:c16 .
_:w15 owl:allValuesFrom _:y15 .
vin:Merlot rdfs:subClassOf _:w15 .
vin:Wine rdf:type owl:Class .
_:e16 rdf:type owl:Restriction .
_:e16 owl:onProperty vin:madeFromGrape .
_:e16 owl:hasValue vin:MerlotGrape .
_:g16 rdf:type owl:Restriction .
_:g16 owl:onProperty vin:madeFromGrape .
_:g16 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:i16 rdf:first _:g16 .
_:i16 rdf:rest rdf:nil .
_:k16 rdf:first _:e16 .
_:k16 rdf:rest _:i16 .
_:m16 rdf:first vin:Wine .
_:m16 rdf:rest _:k16 .
vin:Merlot owl:intersectionOf _:m16 .
vin:Meritage rdf:type owl:Class .
_:o16 rdf:type owl:Restriction .
_:o16 owl:onProperty vin:hasColor .
_:o16 owl:hasValue vin:Red .
vin:Meritage rdfs:subClassOf _:o16 .
vin:Wine rdf:type owl:Class .
_:q16 rdf:type owl:Restriction .
_:q16 owl:onProperty vin:madeFromGrape .
_:s16 rdf:type owl:Class .
vin:CabernetSauvignonGrape rdf:type owl:Thing .
vin:CabernetFrancGrape rdf:type owl:Thing .
vin:MalbecGrape rdf:type owl:Thing .
vin:PetiteVerdotGrape rdf:type owl:Thing .
vin:MerlotGrape rdf:type owl:Thing .
_:u16 rdf:first vin:MerlotGrape .
_:u16 rdf:rest rdf:nil .
_:w16 rdf:first vin:PetiteVerdotGrape .
_:w16 rdf:rest _:u16 .
_:y16 rdf:first vin:MalbecGrape .
_:y16 rdf:rest _:w16 .
_:a17 rdf:first vin:CabernetFrancGrape .
_:a17 rdf:rest _:y16 .
_:c17 rdf:first vin:CabernetSauvignonGrape .
_:c17 rdf:rest _:a17 .
_:s16 owl:oneOf _:c17 .
_:q16 owl:allValuesFrom _:s16 .
_:e17 rdf:type owl:Restriction .
_:e17 owl:onProperty vin:madeFromGrape .
_:e17 owl:minCardinality "2"^^xsd:nonNegativeInteger  .
_:g17 rdf:first _:e17 .
_:g17 rdf:rest rdf:nil .
_:i17 rdf:first _:q16 .
_:i17 rdf:rest _:g17 .
_:k17 rdf:first vin:Wine .
_:k17 rdf:rest _:i17 .
vin:Meritage owl:intersectionOf _:k17 .
vin:MedocRegion rdf:type vin:Region .
vin:MedocRegion vin:locatedIn vin:BordeauxRegion .
vin:Medoc rdf:type owl:Class .
_:m17 rdf:type owl:Restriction .
_:m17 owl:onProperty vin:hasColor .
_:m17 owl:hasValue vin:Red .
vin:Medoc rdfs:subClassOf _:m17 .
_:o17 rdf:type owl:Restriction .
_:o17 owl:onProperty vin:hasSugar .
_:o17 owl:hasValue vin:Dry .
vin:Medoc rdfs:subClassOf _:o17 .
vin:Bordeaux rdf:type owl:Class .
_:q17 rdf:type owl:Restriction .
_:q17 owl:onProperty vin:locatedIn .
_:q17 owl:hasValue vin:MedocRegion .
_:s17 rdf:first _:q17 .
_:s17 rdf:rest rdf:nil .
_:u17 rdf:first vin:Bordeaux .
_:u17 rdf:rest _:s17 .
vin:Medoc owl:intersectionOf _:u17 .
vin:Margaux rdf:type owl:Class .
_:w17 rdf:type owl:Restriction .
_:w17 owl:onProperty vin:hasFlavor .
_:w17 owl:hasValue vin:Delicate .
vin:Margaux rdfs:subClassOf _:w17 .
_:y17 rdf:type owl:Restriction .
_:y17 owl:onProperty vin:madeFromGrape .
_:y17 owl:hasValue vin:MerlotGrape .
vin:Margaux rdfs:subClassOf _:y17 .
_:a18 rdf:type owl:Restriction .
_:a18 owl:onProperty vin:madeFromGrape .
_:a18 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:Margaux rdfs:subClassOf _:a18 .
vin:Medoc rdf:type owl:Class .
_:c18 rdf:type owl:Restriction .
_:c18 owl:onProperty vin:locatedIn .
_:c18 owl:hasValue vin:MargauxRegion .
_:e18 rdf:first _:c18 .
_:e18 rdf:rest rdf:nil .
_:g18 rdf:first vin:Medoc .
_:g18 rdf:rest _:e18 .
vin:Margaux owl:intersectionOf _:g18 .
vin:LoireRegion rdf:type vin:Region .
vin:LoireRegion vin:locatedIn vin:FrenchRegion .
vin:Loire rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:i18 rdf:type owl:Restriction .
_:i18 owl:onProperty vin:locatedIn .
_:i18 owl:hasValue vin:LoireRegion .
_:k18 rdf:first _:i18 .
_:k18 rdf:rest rdf:nil .
_:m18 rdf:first vin:Wine .
_:m18 rdf:rest _:k18 .
vin:Loire owl:intersectionOf _:m18 .
vin:LateHarvest rdf:type owl:Class .
vin:LateHarvest rdfs:subClassOf vin:Wine .
vin:LateHarvest owl:disjointWith vin:EarlyHarvest .
_:o18 rdf:type owl:Restriction .
_:o18 owl:onProperty vin:hasSugar .
_:o18 owl:hasValue vin:Sweet .
vin:LateHarvest rdfs:subClassOf _:o18 .
_:q18 rdf:type owl:Restriction .
_:q18 owl:onProperty vin:hasFlavor .
_:s18 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:u18 rdf:first vin:Strong .
_:u18 rdf:rest rdf:nil .
_:w18 rdf:first vin:Moderate .
_:w18 rdf:rest _:u18 .
_:s18 owl:oneOf _:w18 .
_:q18 owl:allValuesFrom _:s18 .
vin:LateHarvest rdfs:subClassOf _:q18 .
vin:ItalianWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:y18 rdf:type owl:Restriction .
_:y18 owl:onProperty vin:locatedIn .
_:y18 owl:hasValue vin:ItalianRegion .
_:a19 rdf:first _:y18 .
_:a19 rdf:rest rdf:nil .
_:c19 rdf:first vin:Wine .
_:c19 rdf:rest _:a19 .
vin:ItalianWine owl:intersectionOf _:c19 .
vin:ItalianRegion rdf:type vin:Region .
vin:IceWine rdf:type owl:Class .
_:e19 rdf:type owl:Restriction .
_:e19 owl:onProperty vin:hasBody .
_:g19 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:i19 rdf:first vin:Full .
_:i19 rdf:rest rdf:nil .
_:k19 rdf:first vin:Medium .
_:k19 rdf:rest _:i19 .
_:g19 owl:oneOf _:k19 .
_:e19 owl:allValuesFrom _:g19 .
vin:IceWine rdfs:subClassOf _:e19 .
_:m19 rdf:type owl:Restriction .
_:m19 owl:onProperty vin:hasFlavor .
_:o19 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:q19 rdf:first vin:Strong .
_:q19 rdf:rest rdf:nil .
_:s19 rdf:first vin:Moderate .
_:s19 rdf:rest _:q19 .
_:o19 owl:oneOf _:s19 .
_:m19 owl:allValuesFrom _:o19 .
vin:IceWine rdfs:subClassOf _:m19 .
vin:LateHarvest rdf:type owl:Class .
vin:DessertWine rdf:type owl:Class .
_:u19 rdf:type owl:Restriction .
_:u19 owl:onProperty vin:hasColor .
_:u19 owl:hasValue vin:White .
_:w19 rdf:first _:u19 .
_:w19 rdf:rest rdf:nil .
_:y19 rdf:first vin:DessertWine .
_:y19 rdf:rest _:w19 .
_:a20 rdf:first vin:LateHarvest .
_:a20 rdf:rest _:y19 .
vin:IceWine owl:intersectionOf _:a20 .
vin:GermanWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:c20 rdf:type owl:Restriction .
_:c20 owl:onProperty vin:locatedIn .
_:c20 owl:hasValue vin:GermanyRegion .
_:e20 rdf:first _:c20 .
_:e20 rdf:rest rdf:nil .
_:g20 rdf:first vin:Wine .
_:g20 rdf:rest _:e20 .
vin:GermanWine owl:intersectionOf _:g20 .
vin:Gamay rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:i20 rdf:type owl:Restriction .
_:i20 owl:onProperty vin:madeFromGrape .
_:i20 owl:hasValue vin:GamayGrape .
_:k20 rdf:type owl:Restriction .
_:k20 owl:onProperty vin:madeFromGrape .
_:k20 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:m20 rdf:first _:k20 .
_:m20 rdf:rest rdf:nil .
_:o20 rdf:first _:i20 .
_:o20 rdf:rest _:m20 .
_:q20 rdf:first vin:Wine .
_:q20 rdf:rest _:o20 .
vin:Gamay owl:intersectionOf _:q20 .
vin:FullBodiedWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:s20 rdf:type owl:Restriction .
_:s20 owl:onProperty vin:hasBody .
_:s20 owl:hasValue vin:Full .
_:u20 rdf:first _:s20 .
_:u20 rdf:rest rdf:nil .
_:w20 rdf:first vin:Wine .
_:w20 rdf:rest _:u20 .
vin:FullBodiedWine owl:intersectionOf _:w20 .
vin:FrenchRegion rdf:type vin:Region .
vin:FrenchWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:y20 rdf:type owl:Restriction .
_:y20 owl:onProperty vin:locatedIn .
_:y20 owl:hasValue vin:FrenchRegion .
_:a21 rdf:first _:y20 .
_:a21 rdf:rest rdf:nil .
_:c21 rdf:first vin:Wine .
_:c21 rdf:rest _:a21 .
vin:FrenchWine owl:intersectionOf _:c21 .
vin:EarlyHarvest rdf:type owl:Class .
vin:EarlyHarvest rdfs:subClassOf vin:Wine .
_:e21 rdf:type owl:Restriction .
_:e21 owl:onProperty vin:hasSugar .
_:g21 rdf:type owl:Class .
vin:Dry rdf:type owl:Thing .
vin:OffDry rdf:type owl:Thing .
_:i21 rdf:first vin:OffDry .
_:i21 rdf:rest rdf:nil .
_:k21 rdf:first vin:Dry .
_:k21 rdf:rest _:i21 .
_:g21 owl:oneOf _:k21 .
_:e21 owl:allValuesFrom _:g21 .
vin:EarlyHarvest rdfs:subClassOf _:e21 .
vin:DryWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:m21 rdf:type owl:Restriction .
_:m21 owl:onProperty vin:hasSugar .
_:m21 owl:hasValue vin:Dry .
_:o21 rdf:first _:m21 .
_:o21 rdf:rest rdf:nil .
_:q21 rdf:first vin:Wine .
_:q21 rdf:rest _:o21 .
vin:DryWine owl:intersectionOf _:q21 .
vin:DryWhiteWine rdf:type owl:Class .
vin:DryWine rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:s21 rdf:first vin:WhiteWine .
_:s21 rdf:rest rdf:nil .
_:u21 rdf:first vin:DryWine .
_:u21 rdf:rest _:s21 .
vin:DryWhiteWine owl:intersectionOf _:u21 .
vin:DryRiesling rdf:type owl:Class .
_:w21 rdf:type owl:Restriction .
_:w21 owl:onProperty vin:hasColor .
_:w21 owl:hasValue vin:White .
vin:DryRiesling rdfs:subClassOf _:w21 .
_:y21 rdf:type owl:Restriction .
_:y21 owl:onProperty vin:hasFlavor .
_:y21 owl:hasValue vin:Delicate .
vin:DryRiesling rdfs:subClassOf _:y21 .
_:a22 rdf:type owl:Restriction .
_:a22 owl:onProperty vin:hasBody .
_:c22 rdf:type owl:Class .
vin:Light rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:e22 rdf:first vin:Medium .
_:e22 rdf:rest rdf:nil .
_:g22 rdf:first vin:Light .
_:g22 rdf:rest _:e22 .
_:c22 owl:oneOf _:g22 .
_:a22 owl:allValuesFrom _:c22 .
vin:DryRiesling rdfs:subClassOf _:a22 .
vin:Riesling rdf:type owl:Class .
_:i22 rdf:type owl:Restriction .
_:i22 owl:onProperty vin:hasSugar .
_:i22 owl:hasValue vin:Dry .
_:k22 rdf:first _:i22 .
_:k22 rdf:rest rdf:nil .
_:m22 rdf:first vin:Riesling .
_:m22 rdf:rest _:k22 .
vin:DryRiesling owl:intersectionOf _:m22 .
vin:DryRedWine rdf:type owl:Class .
vin:DryWine rdf:type owl:Class .
vin:RedWine rdf:type owl:Class .
_:o22 rdf:first vin:RedWine .
_:o22 rdf:rest rdf:nil .
_:q22 rdf:first vin:DryWine .
_:q22 rdf:rest _:o22 .
vin:DryRedWine owl:intersectionOf _:q22 .
vin:DessertWine rdf:type owl:Class .
vin:DessertWine rdfs:subClassOf vin:Wine .
_:s22 rdf:type owl:Restriction .
_:s22 owl:onProperty vin:hasSugar .
_:u22 rdf:type owl:Class .
vin:OffDry rdf:type owl:Thing .
vin:Sweet rdf:type owl:Thing .
_:w22 rdf:first vin:Sweet .
_:w22 rdf:rest rdf:nil .
_:y22 rdf:first vin:OffDry .
_:y22 rdf:rest _:w22 .
_:u22 owl:oneOf _:y22 .
_:s22 owl:allValuesFrom _:u22 .
vin:DessertWine rdfs:subClassOf _:s22 .
vin:CotesDOr rdf:type owl:Class .
_:a23 rdf:type owl:Restriction .
_:a23 owl:onProperty vin:hasFlavor .
_:a23 owl:hasValue vin:Moderate .
vin:CotesDOr rdfs:subClassOf _:a23 .
vin:RedBurgundy rdf:type owl:Class .
_:c23 rdf:type owl:Restriction .
_:c23 owl:onProperty vin:locatedIn .
_:c23 owl:hasValue vin:CotesDOrRegion .
_:e23 rdf:first _:c23 .
_:e23 rdf:rest rdf:nil .
_:g23 rdf:first vin:RedBurgundy .
_:g23 rdf:rest _:e23 .
vin:CotesDOr owl:intersectionOf _:g23 .
vin:Chianti rdf:type owl:Class .
vin:Chianti rdfs:subClassOf vin:ItalianWine .
_:i23 rdf:type owl:Restriction .
_:i23 owl:onProperty vin:locatedIn .
_:i23 owl:hasValue vin:ChiantiRegion .
vin:Chianti rdfs:subClassOf _:i23 .
_:k23 rdf:type owl:Restriction .
_:k23 owl:onProperty vin:hasColor .
_:k23 owl:hasValue vin:Red .
vin:Chianti rdfs:subClassOf _:k23 .
_:m23 rdf:type owl:Restriction .
_:m23 owl:onProperty vin:madeFromGrape .
_:m23 owl:hasValue vin:SangioveseGrape .
vin:Chianti rdfs:subClassOf _:m23 .
_:o23 rdf:type owl:Restriction .
_:o23 owl:onProperty vin:hasFlavor .
_:o23 owl:hasValue vin:Moderate .
vin:Chianti rdfs:subClassOf _:o23 .
_:q23 rdf:type owl:Restriction .
_:q23 owl:onProperty vin:hasSugar .
_:q23 owl:hasValue vin:Dry .
vin:Chianti rdfs:subClassOf _:q23 .
_:s23 rdf:type owl:Restriction .
_:s23 owl:onProperty vin:hasBody .
_:u23 rdf:type owl:Class .
vin:Light rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:w23 rdf:first vin:Medium .
_:w23 rdf:rest rdf:nil .
_:y23 rdf:first vin:Light .
_:y23 rdf:rest _:w23 .
_:u23 owl:oneOf _:y23 .
_:s23 owl:allValuesFrom _:u23 .
vin:Chianti rdfs:subClassOf _:s23 .
vin:CheninBlanc rdf:type owl:Class .
_:a24 rdf:type owl:Restriction .
_:a24 owl:onProperty vin:hasColor .
_:a24 owl:hasValue vin:White .
vin:CheninBlanc rdfs:subClassOf _:a24 .
_:c24 rdf:type owl:Restriction .
_:c24 owl:onProperty vin:hasFlavor .
_:c24 owl:hasValue vin:Moderate .
vin:CheninBlanc rdfs:subClassOf _:c24 .
_:e24 rdf:type owl:Restriction .
_:e24 owl:onProperty vin:hasBody .
_:g24 rdf:type owl:Class .
vin:Full rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:i24 rdf:first vin:Medium .
_:i24 rdf:rest rdf:nil .
_:k24 rdf:first vin:Full .
_:k24 rdf:rest _:i24 .
_:g24 owl:oneOf _:k24 .
_:e24 owl:allValuesFrom _:g24 .
vin:CheninBlanc rdfs:subClassOf _:e24 .
_:m24 rdf:type owl:Restriction .
_:m24 owl:onProperty vin:hasSugar .
_:o24 rdf:type owl:Class .
vin:Dry rdf:type owl:Thing .
vin:OffDry rdf:type owl:Thing .
_:q24 rdf:first vin:OffDry .
_:q24 rdf:rest rdf:nil .
_:s24 rdf:first vin:Dry .
_:s24 rdf:rest _:q24 .
_:o24 owl:oneOf _:s24 .
_:m24 owl:allValuesFrom _:o24 .
vin:CheninBlanc rdfs:subClassOf _:m24 .
vin:Wine rdf:type owl:Class .
_:u24 rdf:type owl:Restriction .
_:u24 owl:onProperty vin:madeFromGrape .
_:u24 owl:hasValue vin:CheninBlancGrape .
_:w24 rdf:type owl:Restriction .
_:w24 owl:onProperty vin:madeFromGrape .
_:w24 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:y24 rdf:first _:w24 .
_:y24 rdf:rest rdf:nil .
_:a25 rdf:first _:u24 .
_:a25 rdf:rest _:y24 .
_:c25 rdf:first vin:Wine .
_:c25 rdf:rest _:a25 .
vin:CheninBlanc owl:intersectionOf _:c25 .
vin:Chardonnay rdf:type owl:Class .
_:e25 rdf:type owl:Restriction .
_:e25 owl:onProperty vin:hasColor .
_:e25 owl:hasValue vin:White .
vin:Chardonnay rdfs:subClassOf _:e25 .
_:g25 rdf:type owl:Restriction .
_:g25 owl:onProperty vin:hasBody .
_:i25 rdf:type owl:Class .
vin:Full rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:k25 rdf:first vin:Medium .
_:k25 rdf:rest rdf:nil .
_:m25 rdf:first vin:Full .
_:m25 rdf:rest _:k25 .
_:i25 owl:oneOf _:m25 .
_:g25 owl:allValuesFrom _:i25 .
vin:Chardonnay rdfs:subClassOf _:g25 .
_:o25 rdf:type owl:Restriction .
_:o25 owl:onProperty vin:hasFlavor .
_:q25 rdf:type owl:Class .
vin:Strong rdf:type owl:Thing .
vin:Moderate rdf:type owl:Thing .
_:s25 rdf:first vin:Moderate .
_:s25 rdf:rest rdf:nil .
_:u25 rdf:first vin:Strong .
_:u25 rdf:rest _:s25 .
_:q25 owl:oneOf _:u25 .
_:o25 owl:allValuesFrom _:q25 .
vin:Chardonnay rdfs:subClassOf _:o25 .
vin:Wine rdf:type owl:Class .
_:w25 rdf:type owl:Restriction .
_:w25 owl:onProperty vin:madeFromGrape .
_:w25 owl:hasValue vin:ChardonnayGrape .
_:y25 rdf:type owl:Restriction .
_:y25 owl:onProperty vin:madeFromGrape .
_:y25 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:a26 rdf:first _:y25 .
_:a26 rdf:rest rdf:nil .
_:c26 rdf:first _:w25 .
_:c26 rdf:rest _:a26 .
_:e26 rdf:first vin:Wine .
_:e26 rdf:rest _:c26 .
vin:Chardonnay owl:intersectionOf _:e26 .
vin:CaliforniaRegion rdf:type vin:Region .
vin:CaliforniaRegion vin:locatedIn vin:USRegion .
vin:TexasRegion rdf:type vin:Region .
vin:TexasRegion vin:locatedIn vin:USRegion .
vin:CaliforniaWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:g26 rdf:type owl:Restriction .
_:g26 owl:onProperty vin:locatedIn .
_:g26 owl:hasValue vin:CaliforniaRegion .
_:i26 rdf:first _:g26 .
_:i26 rdf:rest rdf:nil .
_:k26 rdf:first vin:Wine .
_:k26 rdf:rest _:i26 .
vin:CaliforniaWine owl:intersectionOf _:k26 .
vin:TexasWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:m26 rdf:type owl:Restriction .
_:m26 owl:onProperty vin:locatedIn .
_:m26 owl:hasValue vin:TexasRegion .
_:o26 rdf:first _:m26 .
_:o26 rdf:rest rdf:nil .
_:q26 rdf:first vin:Wine .
_:q26 rdf:rest _:o26 .
vin:TexasWine owl:intersectionOf _:q26 .
vin:CabernetSauvignon rdf:type owl:Class .
_:s26 rdf:type owl:Restriction .
_:s26 owl:onProperty vin:hasColor .
_:s26 owl:hasValue vin:Red .
vin:CabernetSauvignon rdfs:subClassOf _:s26 .
_:u26 rdf:type owl:Restriction .
_:u26 owl:onProperty vin:hasSugar .
_:u26 owl:hasValue vin:Dry .
vin:CabernetSauvignon rdfs:subClassOf _:u26 .
_:w26 rdf:type owl:Restriction .
_:w26 owl:onProperty vin:hasFlavor .
_:y26 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:a27 rdf:first vin:Strong .
_:a27 rdf:rest rdf:nil .
_:c27 rdf:first vin:Moderate .
_:c27 rdf:rest _:a27 .
_:y26 owl:oneOf _:c27 .
_:w26 owl:allValuesFrom _:y26 .
vin:CabernetSauvignon rdfs:subClassOf _:w26 .
_:e27 rdf:type owl:Restriction .
_:e27 owl:onProperty vin:hasBody .
_:g27 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:i27 rdf:first vin:Full .
_:i27 rdf:rest rdf:nil .
_:k27 rdf:first vin:Medium .
_:k27 rdf:rest _:i27 .
_:g27 owl:oneOf _:k27 .
_:e27 owl:allValuesFrom _:g27 .
vin:CabernetSauvignon rdfs:subClassOf _:e27 .
vin:Wine rdf:type owl:Class .
_:m27 rdf:type owl:Restriction .
_:m27 owl:onProperty vin:madeFromGrape .
_:m27 owl:hasValue vin:CabernetSauvignonGrape .
_:o27 rdf:type owl:Restriction .
_:o27 owl:onProperty vin:madeFromGrape .
_:o27 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:q27 rdf:first _:o27 .
_:q27 rdf:rest rdf:nil .
_:s27 rdf:first _:m27 .
_:s27 rdf:rest _:q27 .
_:u27 rdf:first vin:Wine .
_:u27 rdf:rest _:s27 .
vin:CabernetSauvignon owl:intersectionOf _:u27 .
vin:CabernetFranc rdf:type owl:Class .
_:w27 rdf:type owl:Restriction .
_:w27 owl:onProperty vin:hasColor .
_:w27 owl:hasValue vin:Red .
vin:CabernetFranc rdfs:subClassOf _:w27 .
_:y27 rdf:type owl:Restriction .
_:y27 owl:onProperty vin:hasFlavor .
_:y27 owl:hasValue vin:Moderate .
vin:CabernetFranc rdfs:subClassOf _:y27 .
_:a28 rdf:type owl:Restriction .
_:a28 owl:onProperty vin:hasBody .
_:a28 owl:hasValue vin:Medium .
vin:CabernetFranc rdfs:subClassOf _:a28 .
_:c28 rdf:type owl:Restriction .
_:c28 owl:onProperty vin:hasSugar .
_:c28 owl:hasValue vin:Dry .
vin:CabernetFranc rdfs:subClassOf _:c28 .
vin:Wine rdf:type owl:Class .
_:e28 rdf:type owl:Restriction .
_:e28 owl:onProperty vin:madeFromGrape .
_:e28 owl:hasValue vin:CabernetFrancGrape .
_:g28 rdf:type owl:Restriction .
_:g28 owl:onProperty vin:madeFromGrape .
_:g28 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
_:i28 rdf:first _:g28 .
_:i28 rdf:rest rdf:nil .
_:k28 rdf:first _:e28 .
_:k28 rdf:rest _:i28 .
_:m28 rdf:first vin:Wine .
_:m28 rdf:rest _:k28 .
vin:CabernetFranc owl:intersectionOf _:m28 .
vin:Burgundy rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:o28 rdf:type owl:Restriction .
_:o28 owl:onProperty vin:locatedIn .
_:o28 owl:hasValue vin:BourgogneRegion .
_:q28 rdf:first _:o28 .
_:q28 rdf:rest rdf:nil .
_:s28 rdf:first vin:Wine .
_:s28 rdf:rest _:q28 .
vin:Burgundy owl:intersectionOf _:s28 .
_:u28 rdf:type owl:Restriction .
_:u28 owl:onProperty vin:hasSugar .
_:u28 owl:hasValue vin:Dry .
vin:Burgundy rdfs:subClassOf _:u28 .
vin:BourgogneRegion rdf:type vin:Region .
vin:BourgogneRegion vin:locatedIn vin:FrenchRegion .
vin:BordeauxRegion rdf:type vin:Region .
vin:BordeauxRegion vin:locatedIn vin:FrenchRegion .
vin:Bordeaux rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:w28 rdf:type owl:Restriction .
_:w28 owl:onProperty vin:locatedIn .
_:w28 owl:hasValue vin:BordeauxRegion .
_:y28 rdf:first _:w28 .
_:y28 rdf:rest rdf:nil .
_:a29 rdf:first vin:Wine .
_:a29 rdf:rest _:y28 .
vin:Bordeaux owl:intersectionOf _:a29 .
vin:Beaujolais rdf:type owl:Class .
_:c29 rdf:type owl:Restriction .
_:c29 owl:onProperty vin:hasColor .
_:c29 owl:hasValue vin:Red .
vin:Beaujolais rdfs:subClassOf _:c29 .
_:e29 rdf:type owl:Restriction .
_:e29 owl:onProperty vin:hasBody .
_:e29 owl:hasValue vin:Light .
vin:Beaujolais rdfs:subClassOf _:e29 .
_:g29 rdf:type owl:Restriction .
_:g29 owl:onProperty vin:hasSugar .
_:g29 owl:hasValue vin:Dry .
vin:Beaujolais rdfs:subClassOf _:g29 .
_:i29 rdf:type owl:Restriction .
_:i29 owl:onProperty vin:hasFlavor .
_:i29 owl:hasValue vin:Delicate .
vin:Beaujolais rdfs:subClassOf _:i29 .
_:k29 rdf:type owl:Restriction .
_:k29 owl:onProperty vin:madeFromGrape .
_:k29 owl:hasValue vin:GamayGrape .
vin:Beaujolais rdfs:subClassOf _:k29 .
_:m29 rdf:type owl:Restriction .
_:m29 owl:onProperty vin:madeFromGrape .
_:m29 owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
vin:Beaujolais rdfs:subClassOf _:m29 .
vin:Wine rdf:type owl:Class .
_:o29 rdf:type owl:Restriction .
_:o29 owl:onProperty vin:locatedIn .
_:o29 owl:hasValue vin:BeaujolaisRegion .
_:q29 rdf:first _:o29 .
_:q29 rdf:rest rdf:nil .
_:s29 rdf:first vin:Wine .
_:s29 rdf:rest _:q29 .
vin:Beaujolais owl:intersectionOf _:s29 .
vin:AustralianRegion rdf:type vin:Region .
vin:Anjou rdf:type owl:Class .
_:u29 rdf:type owl:Restriction .
_:u29 owl:onProperty vin:hasColor .
_:u29 owl:hasValue vin:Rose .
vin:Anjou rdfs:subClassOf _:u29 .
_:w29 rdf:type owl:Restriction .
_:w29 owl:onProperty vin:hasBody .
_:w29 owl:hasValue vin:Light .
vin:Anjou rdfs:subClassOf _:w29 .
_:y29 rdf:type owl:Restriction .
_:y29 owl:onProperty vin:hasFlavor .
_:y29 owl:hasValue vin:Delicate .
vin:Anjou rdfs:subClassOf _:y29 .
_:a30 rdf:type owl:Restriction .
_:a30 owl:onProperty vin:hasSugar .
_:a30 owl:hasValue vin:OffDry .
vin:Anjou rdfs:subClassOf _:a30 .
vin:Loire rdf:type owl:Class .
_:c30 rdf:type owl:Restriction .
_:c30 owl:onProperty vin:locatedIn .
_:c30 owl:hasValue vin:AnjouRegion .
_:e30 rdf:first _:c30 .
_:e30 rdf:rest rdf:nil .
_:g30 rdf:first vin:Loire .
_:g30 rdf:rest _:e30 .
vin:Anjou owl:intersectionOf _:g30 .
vin:AmericanWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:i30 rdf:type owl:Restriction .
_:i30 owl:onProperty vin:locatedIn .
_:i30 owl:hasValue vin:USRegion .
_:k30 rdf:first _:i30 .
_:k30 rdf:rest rdf:nil .
_:m30 rdf:first vin:Wine .
_:m30 rdf:rest _:k30 .
vin:AmericanWine owl:intersectionOf _:m30 .
vin:AlsatianWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:o30 rdf:type owl:Restriction .
_:o30 owl:onProperty vin:locatedIn .
_:o30 owl:hasValue vin:AlsaceRegion .
_:q30 rdf:first _:o30 .
_:q30 rdf:rest rdf:nil .
_:s30 rdf:first vin:Wine .
_:s30 rdf:rest _:q30 .
vin:AlsatianWine owl:intersectionOf _:s30 .
vin:Full rdf:type vin:WineBody .
vin:Medium rdf:type vin:WineBody .
vin:Light rdf:type vin:WineBody .
vin:Red rdf:type vin:WineColor .
vin:Rose rdf:type vin:WineColor .
vin:White rdf:type vin:WineColor .
vin:Strong rdf:type vin:WineFlavor .
vin:Moderate rdf:type vin:WineFlavor .
vin:Delicate rdf:type vin:WineFlavor .
vin:Dry rdf:type vin:WineSugar .
vin:OffDry rdf:type vin:WineSugar .
vin:OffDry owl:differentFrom vin:Dry .
vin:OffDry owl:differentFrom vin:Sweet .
vin:Sweet rdf:type vin:WineSugar .
vin:Sweet owl:differentFrom vin:Dry .
_:u30 rdf:type owl:AllDifferent .
vin:Red rdf:type vin:WineColor .
vin:White rdf:type vin:WineColor .
vin:Rose rdf:type vin:WineColor .
_:w30 rdf:first vin:Rose .
_:w30 rdf:rest rdf:nil .
_:y30 rdf:first vin:White .
_:y30 rdf:rest _:w30 .
_:a31 rdf:first vin:Red .
_:a31 rdf:rest _:y30 .
_:u30 owl:distinctMembers _:a31 .
_:c31 rdf:type owl:AllDifferent .
vin:Light rdf:type vin:WineBody .
vin:Medium rdf:type vin:WineBody .
vin:Full rdf:type vin:WineBody .
_:e31 rdf:first vin:Full .
_:e31 rdf:rest rdf:nil .
_:g31 rdf:first vin:Medium .
_:g31 rdf:rest _:e31 .
_:i31 rdf:first vin:Light .
_:i31 rdf:rest _:g31 .
_:c31 owl:distinctMembers _:i31 .
_:k31 rdf:type owl:AllDifferent .
vin:Delicate rdf:type vin:WineFlavor .
vin:Moderate rdf:type vin:WineFlavor .
vin:Strong rdf:type vin:WineFlavor .
_:m31 rdf:first vin:Strong .
_:m31 rdf:rest rdf:nil .
_:o31 rdf:first vin:Moderate .
_:o31 rdf:rest _:m31 .
_:q31 rdf:first vin:Delicate .
_:q31 rdf:rest _:o31 .
_:k31 owl:distinctMembers _:q31 .
_:s31 rdf:type owl:AllDifferent .
vin:Sweet rdf:type vin:WineSugar .
vin:OffDry rdf:type vin:WineSugar .
vin:Dry rdf:type vin:WineSugar .
_:u31 rdf:first vin:Dry .
_:u31 rdf:rest rdf:nil .
_:w31 rdf:first vin:OffDry .
_:w31 rdf:rest _:u31 .
_:y31 rdf:first vin:Sweet .
_:y31 rdf:rest _:w31 .
_:s31 owl:distinctMembers _:y31 .
vin:AlsaceRegion rdf:type vin:Region .
vin:AlsaceRegion vin:locatedIn vin:FrenchRegion .
vin:AnjouRegion rdf:type vin:Region .
vin:AnjouRegion vin:locatedIn vin:LoireRegion .
vin:ArroyoGrandeRegion rdf:type vin:Region .
vin:ArroyoGrandeRegion vin:locatedIn vin:CaliforniaRegion .
vin:Beringer rdf:type vin:Winery .
vin:Bancroft rdf:type vin:Winery .
vin:BancroftChardonnay rdf:type vin:Chardonnay .
vin:BancroftChardonnay vin:locatedIn vin:NapaRegion .
vin:BancroftChardonnay vin:hasMaker vin:Bancroft .
vin:BancroftChardonnay vin:hasSugar vin:Dry .
vin:BancroftChardonnay vin:hasFlavor vin:Moderate .
vin:BancroftChardonnay vin:hasBody vin:Medium .
vin:BeaujolaisRegion rdf:type vin:Region .
vin:BeaujolaisRegion vin:locatedIn vin:FrenchRegion .
vin:CabernetFrancGrape rdf:type vin:WineGrape .
vin:CabernetSauvignonGrape rdf:type vin:WineGrape .
vin:CentralCoastRegion rdf:type vin:Region .
vin:CentralCoastRegion vin:locatedIn vin:CaliforniaRegion .
vin:ChardonnayGrape rdf:type vin:WineGrape .
vin:ChateauChevalBlanc rdf:type vin:Winery .
vin:ChateauChevalBlancStEmilion rdf:type vin:StEmilion .
vin:ChateauChevalBlancStEmilion vin:hasMaker vin:ChateauChevalBlanc .
vin:ChateauDYchem rdf:type vin:Winery .
vin:ChateauDYchemSauterne rdf:type vin:Sauterne .
vin:ChateauDYchemSauterne vin:madeFromGrape vin:SauvignonBlancGrape .
vin:ChateauDYchemSauterne vin:madeFromGrape vin:SemillonGrape .
vin:ChateauDYchemSauterne vin:hasFlavor vin:Strong .
vin:ChateauDYchemSauterne vin:hasMaker vin:ChateauDYchem .
vin:ChateauDeMeursault rdf:type vin:Winery .
vin:ChateauDeMeursaultMeursault rdf:type vin:Meursault .
vin:ChateauDeMeursaultMeursault vin:hasFlavor vin:Moderate .
vin:ChateauDeMeursaultMeursault vin:hasMaker vin:ChateauDeMeursault .
vin:ChateauLafiteRothschild rdf:type vin:Winery .
vin:ChateauLafiteRothschildPauillac rdf:type vin:Pauillac .
vin:ChateauLafiteRothschildPauillac vin:hasMaker vin:ChateauLafiteRothschild .
vin:ChateauMargaux rdf:type vin:Margaux .
vin:ChateauMargaux vin:hasMaker vin:ChateauMargauxWinery .
vin:ChateauMargauxWinery rdf:type vin:Winery .
vin:ChateauMorgon rdf:type vin:Winery .
vin:ChateauMorgonBeaujolais rdf:type vin:Beaujolais .
vin:ChateauMorgonBeaujolais vin:hasMaker vin:ChateauMorgon .
vin:CheninBlancGrape rdf:type vin:WineGrape .
vin:ZinfandelGrape rdf:type vin:WineGrape .
vin:ChiantiClassico rdf:type vin:Chianti .
vin:ChiantiClassico vin:hasBody vin:Medium .
vin:ChiantiClassico vin:hasMaker vin:McGuinnesso .
vin:ChiantiRegion rdf:type vin:Region .
vin:ChiantiRegion vin:locatedIn vin:ItalianRegion .
vin:ClosDeLaPoussie rdf:type vin:Winery .
vin:ClosDeLaPoussieSancerre rdf:type vin:Sancerre .
vin:ClosDeLaPoussieSancerre vin:hasMaker vin:ClosDeLaPoussie .
vin:ClosDeVougeot rdf:type vin:Winery .
vin:ClosDeVougeotCotesDOr rdf:type vin:CotesDOr .
vin:ClosDeVougeotCotesDOr vin:hasMaker vin:ClosDeVougeot .
vin:CongressSprings rdf:type vin:Winery .
vin:CongressSpringsSemillon rdf:type vin:Semillon .
vin:CongressSpringsSemillon vin:hasMaker vin:CongressSprings .
vin:CongressSpringsSemillon vin:hasSugar vin:Dry .
vin:CongressSpringsSemillon vin:hasFlavor vin:Moderate .
vin:CongressSpringsSemillon vin:hasBody vin:Medium .
vin:Corbans rdf:type vin:Winery .
vin:CorbansDryWhiteRiesling rdf:type vin:Riesling .
vin:CorbansDryWhiteRiesling vin:locatedIn vin:NewZealandRegion .
vin:CorbansDryWhiteRiesling vin:hasMaker vin:Corbans .
vin:CorbansDryWhiteRiesling vin:hasSugar vin:OffDry .
vin:CorbansDryWhiteRiesling vin:hasFlavor vin:Moderate .
vin:CorbansDryWhiteRiesling vin:hasBody vin:Medium .
vin:CorbansPrivateBinSauvignonBlanc rdf:type vin:SauvignonBlanc .
vin:CorbansPrivateBinSauvignonBlanc vin:locatedIn vin:NewZealandRegion .
vin:CorbansPrivateBinSauvignonBlanc vin:hasMaker vin:Corbans .
vin:CorbansPrivateBinSauvignonBlanc vin:hasSugar vin:Dry .
vin:CorbansPrivateBinSauvignonBlanc vin:hasFlavor vin:Strong .
vin:CorbansPrivateBinSauvignonBlanc vin:hasBody vin:Full .
vin:CorbansSauvignonBlanc rdf:type vin:SauvignonBlanc .
vin:CorbansSauvignonBlanc vin:locatedIn vin:NewZealandRegion .
vin:CorbansSauvignonBlanc vin:hasMaker vin:Corbans .
vin:CorbansSauvignonBlanc vin:hasSugar vin:Dry .
vin:CorbansSauvignonBlanc vin:hasFlavor vin:Strong .
vin:CorbansSauvignonBlanc vin:hasBody vin:Medium .
vin:CortonMontrachet rdf:type vin:Winery .
vin:CortonMontrachetWhiteBurgundy rdf:type vin:WhiteBurgundy .
vin:CortonMontrachetWhiteBurgundy vin:hasMaker vin:CortonMontrachet .
vin:CortonMontrachetWhiteBurgundy vin:hasSugar vin:Dry .
vin:CortonMontrachetWhiteBurgundy vin:hasFlavor vin:Strong .
vin:CortonMontrachetWhiteBurgundy vin:hasBody vin:Full .
vin:CotesDOrRegion rdf:type vin:Region .
vin:CotesDOrRegion vin:locatedIn vin:BourgogneRegion .
vin:Cotturi rdf:type vin:Winery .
vin:CotturiZinfandel rdf:type vin:Zinfandel .
vin:CotturiZinfandel vin:locatedIn vin:SonomaRegion .
vin:CotturiZinfandel vin:hasMaker vin:Cotturi .
vin:CotturiZinfandel vin:hasSugar vin:Dry .
vin:CotturiZinfandel vin:hasFlavor vin:Strong .
vin:CotturiZinfandel vin:hasBody vin:Full .
vin:DAnjou rdf:type vin:Winery .
vin:EdnaValleyRegion rdf:type vin:Region .
vin:EdnaValleyRegion vin:locatedIn vin:CaliforniaRegion .
vin:Elyse rdf:type vin:Winery .
vin:ElyseZinfandel rdf:type vin:Zinfandel .
vin:ElyseZinfandel vin:locatedIn vin:NapaRegion .
vin:ElyseZinfandel vin:hasMaker vin:Elyse .
vin:ElyseZinfandel vin:hasSugar vin:Dry .
vin:ElyseZinfandel vin:hasFlavor vin:Moderate .
vin:ElyseZinfandel vin:hasBody vin:Full .
vin:Forman rdf:type vin:Winery .
vin:FormanCabernetSauvignon rdf:type vin:CabernetSauvignon .
vin:FormanCabernetSauvignon vin:locatedIn vin:NapaRegion .
vin:FormanCabernetSauvignon vin:hasMaker vin:Forman .
vin:FormanCabernetSauvignon vin:hasSugar vin:Dry .
vin:FormanCabernetSauvignon vin:hasFlavor vin:Strong .
vin:FormanCabernetSauvignon vin:hasBody vin:Medium .
vin:FormanChardonnay rdf:type vin:Chardonnay .
vin:FormanChardonnay vin:locatedIn vin:NapaRegion .
vin:FormanChardonnay vin:hasMaker vin:Forman .
vin:FormanChardonnay vin:hasSugar vin:Dry .
vin:FormanChardonnay vin:hasFlavor vin:Moderate .
vin:FormanChardonnay vin:hasBody vin:Full .
vin:Foxen rdf:type vin:Winery .
vin:FoxenCheninBlanc rdf:type vin:CheninBlanc .
vin:FoxenCheninBlanc vin:locatedIn vin:SantaBarbaraRegion .
vin:FoxenCheninBlanc vin:hasMaker vin:Foxen .
vin:FoxenCheninBlanc vin:hasSugar vin:Dry .
vin:FoxenCheninBlanc vin:hasFlavor vin:Moderate .
vin:FoxenCheninBlanc vin:hasBody vin:Full .
vin:GamayGrape rdf:type vin:WineGrape .
vin:GaryFarrell rdf:type vin:Winery .
vin:GaryFarrellMerlot rdf:type vin:Merlot .
vin:GaryFarrellMerlot vin:locatedIn vin:SonomaRegion .
vin:GaryFarrellMerlot vin:hasMaker vin:GaryFarrell .
vin:GaryFarrellMerlot vin:hasSugar vin:Dry .
vin:GaryFarrellMerlot vin:hasFlavor vin:Moderate .
vin:GaryFarrellMerlot vin:hasBody vin:Medium .
vin:GermanyRegion rdf:type vin:Region .
vin:Handley rdf:type vin:Winery .
vin:KalinCellars rdf:type vin:Winery .
vin:KalinCellarsSemillon rdf:type vin:Semillon .
vin:KalinCellarsSemillon vin:hasMaker vin:KalinCellars .
vin:KalinCellarsSemillon vin:hasSugar vin:Dry .
vin:KalinCellarsSemillon vin:hasFlavor vin:Strong .
vin:KalinCellarsSemillon vin:hasBody vin:Full .
vin:KathrynKennedy rdf:type vin:Winery .
vin:KathrynKennedyLateral rdf:type vin:Meritage .
vin:KathrynKennedyLateral vin:hasMaker vin:KathrynKennedy .
vin:KathrynKennedyLateral vin:hasSugar vin:Dry .
vin:KathrynKennedyLateral vin:hasFlavor vin:Delicate .
vin:KathrynKennedyLateral vin:hasBody vin:Medium .
vin:LaneTanner rdf:type vin:Winery .
vin:LaneTannerPinotNoir rdf:type vin:PinotNoir .
vin:LaneTannerPinotNoir vin:locatedIn vin:SantaBarbaraRegion .
vin:LaneTannerPinotNoir vin:hasMaker vin:LaneTanner .
vin:LaneTannerPinotNoir vin:hasSugar vin:Dry .
vin:LaneTannerPinotNoir vin:hasFlavor vin:Delicate .
vin:LaneTannerPinotNoir vin:hasBody vin:Light .
vin:Longridge rdf:type vin:Winery .
vin:LongridgeMerlot rdf:type vin:Merlot .
vin:LongridgeMerlot vin:locatedIn vin:NewZealandRegion .
vin:LongridgeMerlot vin:hasMaker vin:Longridge .
vin:LongridgeMerlot vin:hasSugar vin:Dry .
vin:LongridgeMerlot vin:hasFlavor vin:Moderate .
vin:LongridgeMerlot vin:hasBody vin:Light .
vin:MalbecGrape rdf:type vin:WineGrape .
vin:MargauxRegion rdf:type vin:Region .
vin:MargauxRegion vin:locatedIn vin:MedocRegion .
vin:Marietta rdf:type vin:Winery .
vin:MariettaCabernetSauvignon rdf:type vin:CabernetSauvignon .
vin:MariettaCabernetSauvignon vin:locatedIn vin:SonomaRegion .
vin:MariettaCabernetSauvignon vin:hasMaker vin:Marietta .
vin:MariettaCabernetSauvignon vin:hasSugar vin:Dry .
vin:MariettaCabernetSauvignon vin:hasFlavor vin:Moderate .
vin:MariettaCabernetSauvignon vin:hasBody vin:Medium .
vin:MariettaOldVinesRed rdf:type vin:RedTableWine .
vin:MariettaOldVinesRed vin:locatedIn vin:SonomaRegion .
vin:MariettaOldVinesRed vin:hasMaker vin:Marietta .
vin:MariettaOldVinesRed vin:hasSugar vin:Dry .
vin:MariettaOldVinesRed vin:hasFlavor vin:Moderate .
vin:MariettaOldVinesRed vin:hasBody vin:Medium .
vin:MariettaPetiteSyrah rdf:type vin:PetiteSyrah .
vin:MariettaPetiteSyrah vin:locatedIn vin:SonomaRegion .
vin:MariettaPetiteSyrah vin:hasMaker vin:Marietta .
vin:MariettaPetiteSyrah vin:hasSugar vin:Dry .
vin:MariettaPetiteSyrah vin:hasFlavor vin:Moderate .
vin:MariettaPetiteSyrah vin:hasBody vin:Medium .
vin:MariettaZinfandel rdf:type vin:Zinfandel .
vin:MariettaZinfandel vin:locatedIn vin:SonomaRegion .
vin:MariettaZinfandel vin:hasMaker vin:Marietta .
vin:MariettaZinfandel vin:hasSugar vin:Dry .
vin:MariettaZinfandel vin:hasFlavor vin:Moderate .
vin:MariettaZinfandel vin:hasBody vin:Medium .
vin:McGuinnesso rdf:type vin:Winery .
vin:MendocinoRegion rdf:type vin:Region .
vin:MendocinoRegion vin:locatedIn vin:CaliforniaRegion .
vin:MendocinoRegion vin:adjacentRegion vin:SonomaRegion .
vin:MerlotGrape rdf:type vin:WineGrape .
vin:MeursaultRegion rdf:type vin:Region .
vin:MeursaultRegion vin:locatedIn vin:BourgogneRegion .
vin:MountEdenVineyard rdf:type vin:Winery .
vin:MountEdenVineyardEdnaValleyChardonnay rdf:type vin:Chardonnay .
vin:MountEdenVineyardEdnaValleyChardonnay vin:locatedIn vin:EdnaValleyRegion .
vin:MountEdenVineyardEdnaValleyChardonnay vin:hasMaker vin:MountEdenVineyard .
vin:MountEdenVineyardEdnaValleyChardonnay vin:hasSugar vin:Dry .
vin:MountEdenVineyardEdnaValleyChardonnay vin:hasFlavor vin:Moderate .
vin:MountEdenVineyardEdnaValleyChardonnay vin:hasBody vin:Medium .
vin:MountEdenVineyardEstatePinotNoir rdf:type vin:PinotNoir .
vin:MountEdenVineyardEstatePinotNoir vin:locatedIn vin:EdnaValleyRegion .
vin:MountEdenVineyardEstatePinotNoir vin:hasMaker vin:MountEdenVineyard .
vin:MountEdenVineyardEstatePinotNoir vin:hasSugar vin:Dry .
vin:MountEdenVineyardEstatePinotNoir vin:hasFlavor vin:Strong .
vin:MountEdenVineyardEstatePinotNoir vin:hasBody vin:Full .
vin:Mountadam rdf:type vin:Winery .
vin:MountadamChardonnay rdf:type vin:Chardonnay .
vin:MountadamChardonnay vin:locatedIn vin:SouthAustraliaRegion .
vin:MountadamChardonnay vin:hasMaker vin:Mountadam .
vin:MountadamChardonnay vin:hasSugar vin:Dry .
vin:MountadamChardonnay vin:hasFlavor vin:Strong .
vin:MountadamChardonnay vin:hasBody vin:Full .
vin:MountadamPinotNoir rdf:type vin:PinotNoir .
vin:MountadamPinotNoir vin:locatedIn vin:SouthAustraliaRegion .
vin:MountadamPinotNoir vin:hasMaker vin:Mountadam .
vin:MountadamPinotNoir vin:hasSugar vin:Dry .
vin:MountadamPinotNoir vin:hasFlavor vin:Moderate .
vin:MountadamPinotNoir vin:hasBody vin:Medium .
vin:MountadamRiesling rdf:type vin:DryRiesling .
vin:MountadamRiesling vin:locatedIn vin:SouthAustraliaRegion .
vin:MountadamRiesling vin:hasMaker vin:Mountadam .
vin:MountadamRiesling vin:hasSugar vin:Dry .
vin:MountadamRiesling vin:hasFlavor vin:Delicate .
vin:MountadamRiesling vin:hasBody vin:Medium .
vin:MuscadetRegion rdf:type vin:Region .
vin:MuscadetRegion vin:locatedIn vin:LoireRegion .
vin:NapaRegion rdf:type vin:Region .
vin:NapaRegion vin:locatedIn vin:CaliforniaRegion .
vin:NewZealandRegion rdf:type vin:Region .
vin:PageMillWinery rdf:type vin:Winery .
vin:PageMillWineryCabernetSauvignon rdf:type vin:CabernetSauvignon .
vin:PageMillWineryCabernetSauvignon vin:locatedIn vin:NapaRegion .
vin:PageMillWineryCabernetSauvignon vin:hasMaker vin:PageMillWinery .
vin:PageMillWineryCabernetSauvignon vin:hasSugar vin:Dry .
vin:PageMillWineryCabernetSauvignon vin:hasFlavor vin:Moderate .
vin:PageMillWineryCabernetSauvignon vin:hasBody vin:Medium .
vin:PauillacRegion rdf:type vin:Region .
vin:PauillacRegion vin:locatedIn vin:MedocRegion .
vin:PeterMccoy rdf:type vin:Winery .
vin:PeterMccoyChardonnay rdf:type vin:Chardonnay .
vin:PeterMccoyChardonnay vin:locatedIn vin:SonomaRegion .
vin:PeterMccoyChardonnay vin:hasMaker vin:PeterMccoy .
vin:PeterMccoyChardonnay vin:hasSugar vin:Dry .
vin:PeterMccoyChardonnay vin:hasFlavor vin:Moderate .
vin:PeterMccoyChardonnay vin:hasBody vin:Medium .
vin:PetiteSyrahGrape rdf:type vin:WineGrape .
vin:PetiteVerdotGrape rdf:type vin:WineGrape .
vin:PinotBlancGrape rdf:type vin:WineGrape .
vin:PinotNoirGrape rdf:type vin:WineGrape .
vin:PortugalRegion rdf:type vin:Region .
vin:PulignyMontrachet rdf:type vin:Winery .
vin:PulignyMontrachetWhiteBurgundy rdf:type vin:WhiteBurgundy .
vin:PulignyMontrachetWhiteBurgundy vin:hasMaker vin:PulignyMontrachet .
vin:PulignyMontrachetWhiteBurgundy vin:hasSugar vin:Dry .
vin:PulignyMontrachetWhiteBurgundy vin:hasFlavor vin:Moderate .
vin:PulignyMontrachetWhiteBurgundy vin:hasBody vin:Medium .
vin:RieslingGrape rdf:type vin:WineGrape .
vin:RoseDAnjou rdf:type vin:Anjou .
vin:RoseDAnjou vin:hasMaker vin:DAnjou .
vin:SancerreRegion rdf:type vin:Region .
vin:SancerreRegion vin:locatedIn vin:LoireRegion .
vin:SangioveseGrape rdf:type vin:WineGrape .
vin:SantaBarbaraRegion rdf:type vin:Region .
vin:SantaBarbaraRegion vin:locatedIn vin:CaliforniaRegion .
vin:SantaCruzMountainVineyard rdf:type vin:Winery .
vin:SantaCruzMountainVineyardCabernetSauvignon rdf:type vin:CabernetSauvignon .
vin:SantaCruzMountainVineyardCabernetSauvignon vin:locatedIn vin:SantaCruzMountainsRegion .
vin:SantaCruzMountainVineyardCabernetSauvignon vin:hasMaker vin:SantaCruzMountainVineyard .
vin:SantaCruzMountainVineyardCabernetSauvignon vin:hasSugar vin:Dry .
vin:SantaCruzMountainVineyardCabernetSauvignon vin:hasFlavor vin:Strong .
vin:SantaCruzMountainVineyardCabernetSauvignon vin:hasBody vin:Full .
vin:CentralTexasRegion rdf:type vin:Region .
vin:CentralTexasRegion vin:locatedIn vin:TexasRegion .
vin:StGenevieve rdf:type vin:Winery .
vin:StGenevieveTexasWhite rdf:type vin:WhiteWine .
vin:StGenevieveTexasWhite vin:locatedIn vin:CentralTexasRegion .
vin:StGenevieveTexasWhite vin:hasMaker vin:StGenevieve .
vin:StGenevieveTexasWhite vin:hasSugar vin:Dry .
vin:StGenevieveTexasWhite vin:hasFlavor vin:Moderate .
vin:SantaCruzMountainsRegion rdf:type vin:Region .
vin:SantaCruzMountainsRegion vin:locatedIn vin:CaliforniaRegion .
vin:SaucelitoCanyon rdf:type vin:Winery .
vin:SaucelitoCanyonZinfandel rdf:type vin:Zinfandel .
vin:SaucelitoCanyonZinfandel vin:locatedIn vin:ArroyoGrandeRegion .
vin:SaucelitoCanyonZinfandel vin:hasMaker vin:SaucelitoCanyon .
vin:SaucelitoCanyonZinfandel vin:hasSugar vin:Dry .
vin:SaucelitoCanyonZinfandel vin:hasFlavor vin:Moderate .
vin:SaucelitoCanyonZinfandel vin:hasBody vin:Medium .
vin:SaucelitoCanyonZinfandel1998 rdf:type vin:Zinfandel .
vin:SaucelitoCanyonZinfandel1998 vin:locatedIn vin:ArroyoGrandeRegion .
vin:SaucelitoCanyonZinfandel1998 vin:hasVintageYear vin:Year1998 .
vin:SaucelitoCanyonZinfandel1998 vin:hasMaker vin:SaucelitoCanyon .
vin:SaucelitoCanyonZinfandel1998 vin:hasSugar vin:Dry .
vin:SaucelitoCanyonZinfandel1998 vin:hasFlavor vin:Moderate .
vin:SaucelitoCanyonZinfandel1998 vin:hasBody vin:Medium .
vin:SauterneRegion rdf:type vin:Region .
vin:SauterneRegion vin:locatedIn vin:BordeauxRegion .
vin:SauvignonBlancGrape rdf:type vin:WineGrape .
vin:SchlossRothermel rdf:type vin:Winery .
vin:SchlossRothermelTrochenbierenausleseRiesling rdf:type vin:SweetRiesling .
vin:SchlossRothermelTrochenbierenausleseRiesling vin:locatedIn vin:GermanyRegion .
vin:SchlossRothermelTrochenbierenausleseRiesling vin:hasMaker vin:SchlossRothermel .
vin:SchlossRothermelTrochenbierenausleseRiesling vin:hasSugar vin:Sweet .
vin:SchlossRothermelTrochenbierenausleseRiesling vin:hasFlavor vin:Strong .
vin:SchlossRothermelTrochenbierenausleseRiesling vin:hasBody vin:Full .
vin:SchlossVolrad rdf:type vin:Winery .
vin:SchlossVolradTrochenbierenausleseRiesling rdf:type vin:SweetRiesling .
vin:SchlossVolradTrochenbierenausleseRiesling vin:locatedIn vin:GermanyRegion .
vin:SchlossVolradTrochenbierenausleseRiesling vin:hasMaker vin:SchlossVolrad .
vin:SchlossVolradTrochenbierenausleseRiesling vin:hasSugar vin:Sweet .
vin:SchlossVolradTrochenbierenausleseRiesling vin:hasFlavor vin:Moderate .
vin:SchlossVolradTrochenbierenausleseRiesling vin:hasBody vin:Full .
vin:SeanThackrey rdf:type vin:Winery .
vin:SeanThackreySiriusPetiteSyrah rdf:type vin:PetiteSyrah .
vin:SeanThackreySiriusPetiteSyrah vin:locatedIn vin:NapaRegion .
vin:SeanThackreySiriusPetiteSyrah vin:hasMaker vin:SeanThackrey .
vin:SeanThackreySiriusPetiteSyrah vin:hasSugar vin:Dry .
vin:SeanThackreySiriusPetiteSyrah vin:hasFlavor vin:Strong .
vin:SeanThackreySiriusPetiteSyrah vin:hasBody vin:Full .
vin:Selaks rdf:type vin:Winery .
vin:SelaksIceWine rdf:type vin:IceWine .
vin:SelaksIceWine vin:locatedIn vin:NewZealandRegion .
vin:SelaksIceWine vin:hasMaker vin:Selaks .
vin:SelaksIceWine vin:hasFlavor vin:Moderate .
vin:SelaksIceWine vin:hasBody vin:Medium .
vin:SelaksIceWine vin:hasColor vin:White .
vin:SelaksSauvignonBlanc rdf:type vin:SauvignonBlanc .
vin:SelaksSauvignonBlanc vin:locatedIn vin:NewZealandRegion .
vin:SelaksSauvignonBlanc vin:hasMaker vin:Selaks .
vin:SelaksSauvignonBlanc vin:hasSugar vin:Dry .
vin:SelaksSauvignonBlanc vin:hasFlavor vin:Moderate .
vin:SelaksSauvignonBlanc vin:hasBody vin:Medium .
vin:SemillonGrape rdf:type vin:WineGrape .
vin:SevreEtMaine rdf:type vin:Winery .
vin:SevreEtMaineMuscadet rdf:type vin:Muscadet .
vin:SevreEtMaineMuscadet vin:hasMaker vin:SevreEtMaine .
vin:SonomaRegion rdf:type vin:Region .
vin:SonomaRegion vin:locatedIn vin:CaliforniaRegion .
vin:SouthAustraliaRegion rdf:type vin:Region .
vin:SouthAustraliaRegion vin:locatedIn vin:AustralianRegion .
vin:StEmilionRegion rdf:type vin:Region .
vin:StEmilionRegion vin:locatedIn vin:BordeauxRegion .
vin:Stonleigh rdf:type vin:Winery .
vin:StonleighSauvignonBlanc rdf:type vin:SauvignonBlanc .
vin:StonleighSauvignonBlanc vin:locatedIn vin:NewZealandRegion .
vin:StonleighSauvignonBlanc vin:hasMaker vin:Stonleigh .
vin:StonleighSauvignonBlanc vin:hasSugar vin:Dry .
vin:StonleighSauvignonBlanc vin:hasFlavor vin:Delicate .
vin:StonleighSauvignonBlanc vin:hasBody vin:Medium .
vin:Taylor rdf:type vin:Winery .
vin:TaylorPort rdf:type vin:Port .
vin:TaylorPort vin:hasMaker vin:Taylor .
vin:ToursRegion rdf:type vin:Region .
vin:ToursRegion vin:locatedIn vin:LoireRegion .
vin:Ventana rdf:type vin:Winery .
vin:VentanaCheninBlanc rdf:type vin:CheninBlanc .
vin:VentanaCheninBlanc vin:locatedIn vin:CentralCoastRegion .
vin:VentanaCheninBlanc vin:hasMaker vin:Ventana .
vin:VentanaCheninBlanc vin:hasSugar vin:OffDry .
vin:VentanaCheninBlanc vin:hasFlavor vin:Moderate .
vin:VentanaCheninBlanc vin:hasBody vin:Medium .
vin:WhitehallLane rdf:type vin:Winery .
vin:WhitehallLaneCabernetFranc rdf:type vin:CabernetFranc .
vin:WhitehallLaneCabernetFranc vin:locatedIn vin:NapaRegion .
vin:WhitehallLaneCabernetFranc vin:hasMaker vin:WhitehallLane .
vin:WhitehallLaneCabernetFranc vin:hasSugar vin:Dry .
vin:WhitehallLaneCabernetFranc vin:hasFlavor vin:Moderate .
vin:WhitehallLaneCabernetFranc vin:hasBody vin:Medium .
vin:WhitehallLanePrimavera rdf:type vin:DessertWine .
vin:WhitehallLanePrimavera vin:locatedIn vin:NapaRegion .
vin:WhitehallLanePrimavera vin:hasSugar vin:Sweet .
vin:WhitehallLanePrimavera vin:hasFlavor vin:Delicate .
vin:WhitehallLanePrimavera vin:hasBody vin:Light .
_:a32 rdf:type owl:AllDifferent .
vin:Bancroft rdf:type vin:Winery .
vin:ChateauChevalBlanc rdf:type vin:Winery .
vin:ChateauDYchem rdf:type vin:Winery .
vin:ChateauDeMeursault rdf:type vin:Winery .
vin:ChateauLafiteRothschild rdf:type vin:Winery .
vin:ChateauMargauxWinery rdf:type vin:Winery .
vin:ChateauMorgon rdf:type vin:Winery .
vin:ClosDeLaPoussie rdf:type vin:Winery .
vin:ClosDeVougeot rdf:type vin:Winery .
vin:CongressSprings rdf:type vin:Winery .
vin:Corbans rdf:type vin:Winery .
vin:CortonMontrachet rdf:type vin:Winery .
vin:Cotturi rdf:type vin:Winery .
vin:DAnjou rdf:type vin:Winery .
vin:Elyse rdf:type vin:Winery .
vin:Forman rdf:type vin:Winery .
vin:Foxen rdf:type vin:Winery .
vin:GaryFarrell rdf:type vin:Winery .
vin:KalinCellars rdf:type vin:Winery .
vin:KathrynKennedy rdf:type vin:Winery .
vin:LaneTanner rdf:type vin:Winery .
vin:Longridge rdf:type vin:Winery .
vin:Marietta rdf:type vin:Winery .
vin:McGuinnesso rdf:type vin:Winery .
vin:MountEdenVineyard rdf:type vin:Winery .
vin:Mountadam rdf:type vin:Winery .
vin:PageMillWinery rdf:type vin:Winery .
vin:PeterMccoy rdf:type vin:Winery .
vin:PulignyMontrachet rdf:type vin:Winery .
vin:SantaCruzMountainVineyard rdf:type vin:Winery .
vin:SaucelitoCanyon rdf:type vin:Winery .
vin:SchlossRothermel rdf:type vin:Winery .
vin:SchlossVolrad rdf:type vin:Winery .
vin:SeanThackrey rdf:type vin:Winery .
vin:Selaks rdf:type vin:Winery .
vin:SevreEtMaine rdf:type vin:Winery .
vin:StGenevieve rdf:type vin:Winery .
vin:Stonleigh rdf:type vin:Winery .
vin:Taylor rdf:type vin:Winery .
vin:Ventana rdf:type vin:Winery .
vin:WhitehallLane rdf:type vin:Winery .
_:c32 rdf:first vin:WhitehallLane .
_:c32 rdf:rest rdf:nil .
_:e32 rdf:first vin:Ventana .
_:e32 rdf:rest _:c32 .
_:g32 rdf:first vin:Taylor .
_:g32 rdf:rest _:e32 .
_:i32 rdf:first vin:Stonleigh .
_:i32 rdf:rest _:g32 .
_:k32 rdf:first vin:StGenevieve .
_:k32 rdf:rest _:i32 .
_:m32 rdf:first vin:SevreEtMaine .
_:m32 rdf:rest _:k32 .
_:o32 rdf:first vin:Selaks .
_:o32 rdf:rest _:m32 .
_:q32 rdf:first vin:SeanThackrey .
_:q32 rdf:rest _:o32 .
_:s32 rdf:first vin:SchlossVolrad .
_:s32 rdf:rest _:q32 .
_:u32 rdf:first vin:SchlossRothermel .
_:u32 rdf:rest _:s32 .
_:w32 rdf:first vin:SaucelitoCanyon .
_:w32 rdf:rest _:u32 .
_:y32 rdf:first vin:SantaCruzMountainVineyard .
_:y32 rdf:rest _:w32 .
_:a33 rdf:first vin:PulignyMontrachet .
_:a33 rdf:rest _:y32 .
_:c33 rdf:first vin:PeterMccoy .
_:c33 rdf:rest _:a33 .
_:e33 rdf:first vin:PageMillWinery .
_:e33 rdf:rest _:c33 .
_:g33 rdf:first vin:Mountadam .
_:g33 rdf:rest _:e33 .
_:i33 rdf:first vin:MountEdenVineyard .
_:i33 rdf:rest _:g33 .
_:k33 rdf:first vin:McGuinnesso .
_:k33 rdf:rest _:i33 .
_:m33 rdf:first vin:Marietta .
_:m33 rdf:rest _:k33 .
_:o33 rdf:first vin:Longridge .
_:o33 rdf:rest _:m33 .
_:q33 rdf:first vin:LaneTanner .
_:q33 rdf:rest _:o33 .
_:s33 rdf:first vin:KathrynKennedy .
_:s33 rdf:rest _:q33 .
_:u33 rdf:first vin:KalinCellars .
_:u33 rdf:rest _:s33 .
_:w33 rdf:first vin:GaryFarrell .
_:w33 rdf:rest _:u33 .
_:y33 rdf:first vin:Foxen .
_:y33 rdf:rest _:w33 .
_:a34 rdf:first vin:Forman .
_:a34 rdf:rest _:y33 .
_:c34 rdf:first vin:Elyse .
_:c34 rdf:rest _:a34 .
_:e34 rdf:first vin:DAnjou .
_:e34 rdf:rest _:c34 .
_:g34 rdf:first vin:Cotturi .
_:g34 rdf:rest _:e34 .
_:i34 rdf:first vin:CortonMontrachet .
_:i34 rdf:rest _:g34 .
_:k34 rdf:first vin:Corbans .
_:k34 rdf:rest _:i34 .
_:m34 rdf:first vin:CongressSprings .
_:m34 rdf:rest _:k34 .
_:o34 rdf:first vin:ClosDeVougeot .
_:o34 rdf:rest _:m34 .
_:q34 rdf:first vin:ClosDeLaPoussie .
_:q34 rdf:rest _:o34 .
_:s34 rdf:first vin:ChateauMorgon .
_:s34 rdf:rest _:q34 .
_:u34 rdf:first vin:ChateauMargauxWinery .
_:u34 rdf:rest _:s34 .
_:w34 rdf:first vin:ChateauLafiteRothschild .
_:w34 rdf:rest _:u34 .
_:y34 rdf:first vin:ChateauDeMeursault .
_:y34 rdf:rest _:w34 .
_:a35 rdf:first vin:ChateauDYchem .
_:a35 rdf:rest _:y34 .
_:c35 rdf:first vin:ChateauChevalBlanc .
_:c35 rdf:rest _:a35 .
_:e35 rdf:first vin:Bancroft .
_:e35 rdf:rest _:c35 .
_:a32 owl:distinctMembers _:e35 .

DL Full Consistent document.002
Description: (informative) <miscellaneous/Manifest002#test>
Food example taken from the guide.
N3 format is informative.
Namespaces:
@prefix food: <http://www.w3.org/2002/03owlt/miscellaneous/consistent002#> .
@prefix vin: <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> .
@prefix : <http://www.w3.org/2002/03owlt/miscellaneous/consistent002#> .
DLConsistent: <miscellaneous/consistent002>
<!DOCTYPE owl [
     <!ENTITY vin  "http://www.w3.org/2002/03owlt/miscellaneous/consistent001#" >
     <!ENTITY food "http://www.w3.org/2002/03owlt/miscellaneous/consistent002#" >
     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
   ]>

<rdf:RDF
  xmlns     = "&food;"
  xmlns:food= "&food;"
  xml:base  = "&food;"
  xmlns:vin = "&vin;"
  xmlns:owl = "http://www.w3.org/2002/07/owl#"
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#">

  <owl:Ontology rdf:about="">
    <rdfs:comment>
      Derived from the DAML Wine ontology at 
      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
      Substantially modified.
    </rdfs:comment> 
    <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent001"/>
  </owl:Ontology>

  <owl:Class rdf:ID="ConsumableThing" />

  <owl:Class rdf:ID="NonConsumableThing">
    <owl:complementOf rdf:resource="#ConsumableThing" />
  </owl:Class>

  <owl:Class rdf:ID="EdibleThing">
    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
  </owl:Class>
  
  <owl:Class rdf:ID="PotableLiquid">
    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
    <owl:disjointWith rdf:resource="#EdibleThing" />
  </owl:Class>
  
  <owl:Class rdf:ID="Wine">
    <owl:equivalentClass rdf:resource="&vin;Wine"/>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="madeFromFruit">
    <rdfs:domain rdf:resource="#ConsumableThing" />
    <rdfs:range rdf:resource="#Fruit" />
  </owl:ObjectProperty>

  <owl:Class rdf:ID="Juice">
    <rdfs:subClassOf rdf:resource="#PotableLiquid" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromFruit" />
  <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:ObjectProperty rdf:ID="hasDrink">
    <rdfs:domain rdf:resource="#MealCourse" />
    <rdfs:range rdf:resource="#PotableLiquid" />
  </owl:ObjectProperty>
  
  <owl:Thing rdf:ID="White">
    <owl:sameAs rdf:resource="&vin;White"/>
  </owl:Thing>

  <owl:Thing rdf:ID="Rose">
    <owl:sameAs rdf:resource="&vin;Rose" />
  </owl:Thing>

  <owl:Thing rdf:ID="Red">
    <owl:sameAs rdf:resource="&vin;Red" />
  </owl:Thing>

  <owl:Thing rdf:ID="Sweet">
    <owl:sameAs rdf:resource="&vin;Sweet" />
  </owl:Thing>

  <owl:Thing rdf:ID="OffDry">
    <owl:sameAs rdf:resource="&vin;OffDry" />
  </owl:Thing>

  <owl:Thing rdf:ID="Dry">
    <owl:sameAs rdf:resource="&vin;Dry" />
  </owl:Thing>

  <owl:Thing rdf:ID="Delicate">
    <owl:sameAs rdf:resource="&vin;Delicate" />
  </owl:Thing>

  <owl:Thing rdf:ID="Moderate">
    <owl:sameAs rdf:resource="&vin;Moderate" />
  </owl:Thing>

  <owl:Thing rdf:ID="Strong">
    <owl:sameAs rdf:resource="&vin;Strong" />
  </owl:Thing>

  <owl:Thing rdf:ID="Light">
    <owl:sameAs rdf:resource="&vin;Light" />
  </owl:Thing>

  <owl:Thing rdf:ID="Medium">
    <owl:sameAs rdf:resource="&vin;Medium" />
  </owl:Thing>

  <owl:Thing rdf:ID="Full">
    <owl:sameAs rdf:resource="&vin;Full" />
  </owl:Thing>

  <owl:ObjectProperty rdf:ID="course">
    <rdfs:domain rdf:resource="#Meal" />
    <rdfs:range rdf:resource="#MealCourse" />
  </owl:ObjectProperty>
  
  <owl:Class rdf:ID="Grape">
    <rdfs:subClassOf rdf:resource="#SweetFruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="Pasta">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#Meat" />
    <owl:disjointWith rdf:resource="#Fowl" />
    <owl:disjointWith rdf:resource="#Seafood" />
    <owl:disjointWith rdf:resource="#Dessert" />
    <owl:disjointWith rdf:resource="#Fruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithWhiteSauce">
    <rdfs:subClassOf rdf:resource="#Pasta" />
    <owl:disjointWith rdf:resource="#PastaWithRedSauce" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithSpicyRedSauceCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#PastaWithSpicyRedSauce" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Full" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Strong" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithSpicyRedSauce">
    <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithRedSauce">
    <rdfs:subClassOf rdf:resource="#Pasta" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithNonSpicyRedSauceCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#PastaWithNonSpicyRedSauce" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithNonSpicyRedSauce">
    <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
    <owl:disjointWith rdf:resource="#PastaWithSpicyRedSauce" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithLightCreamSauce">
    <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
    <owl:disjointWith rdf:resource="#PastaWithHeavyCreamSauce" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithLightCreamCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#PastaWithLightCreamSauce" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Light" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Delicate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithHeavyCreamSauce">
    <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
  </owl:Class>
  
  <owl:Class rdf:ID="PastaWithHeavyCreamCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#PastaWithHeavyCreamSauce" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="OysterShellfishCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#OysterShellfish" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Sweet" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="OysterShellfish">
    <rdfs:subClassOf rdf:resource="#Shellfish" />
  </owl:Class>
  
  <owl:Class rdf:ID="OtherTomatoBasedFoodCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#OtherTomatoBasedFood" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="OtherTomatoBasedFood">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#Pasta" />
    <owl:disjointWith rdf:resource="#Meat" />
    <owl:disjointWith rdf:resource="#Fowl" />
    <owl:disjointWith rdf:resource="#Seafood" />
    <owl:disjointWith rdf:resource="#Dessert" />
    <owl:disjointWith rdf:resource="#Fruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="NonSweetFruitCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#NonSweetFruit" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Delicate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#OffDry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="SweetFruitCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#SweetFruit" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Sweet" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <!-- changed so that Fruit can be unionOf 
  <owl:Class rdf:ID="NonSweetFruit">
    <rdfs:subClassOf rdf:resource="#Fruit" />
    <owl:disjointWith rdf:resource="#SweetFruit" />
  </owl:Class>
  -->
  
  <owl:Class rdf:ID="NonSweetFruit">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#SweetFruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="NonSpicyRedMeatCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#NonSpicyRedMeat" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:allValuesFrom>
              <owl:Class>
                <owl:oneOf rdf:parseType="Collection">
                  <owl:Thing rdf:about="#Strong" />
                  <owl:Thing rdf:about="#Moderate" />
                </owl:oneOf>
              </owl:Class>
            </owl:allValuesFrom>
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="NonSpicyRedMeat">
    <rdfs:subClassOf rdf:resource="#RedMeat" />
    <owl:disjointWith rdf:resource="#SpicyRedMeat" />
  </owl:Class>
  
  <owl:Class rdf:ID="NonRedMeatCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#NonRedMeat" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Strong" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="NonRedMeat">
    <rdfs:subClassOf rdf:resource="#Meat" />
    <owl:disjointWith rdf:resource="#RedMeat" />
  </owl:Class>
  
  <owl:Class rdf:ID="NonOysterShellfishCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#NonOysterShellfish" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="NonOysterShellfish">
    <rdfs:subClassOf rdf:resource="#Shellfish" />
    <owl:disjointWith rdf:resource="#OysterShellfish" />
  </owl:Class>
  
  <owl:Class rdf:ID="NonBlandFishCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#NonBlandFish" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="NonBlandFish">
    <rdfs:subClassOf rdf:resource="#Fish" />
  </owl:Class>
  
  <owl:Class rdf:ID="Meat">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#Fowl" />
    <owl:disjointWith rdf:resource="#Seafood" />
    <owl:disjointWith rdf:resource="#Dessert" />
    <owl:disjointWith rdf:resource="#Fruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="MealCourse">
    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom rdf:resource="#Wine" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#PotableLiquid" />
    <owl:disjointWith rdf:resource="#EdibleThing" />
  </owl:Class>
  
  <owl:Class rdf:ID="Meal">
    <rdfs:subClassOf rdf:resource="#ConsumableThing" />
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#course" />
        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#course" />
        <owl:allValuesFrom rdf:resource="#MealCourse" />
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith rdf:resource="#MealCourse" />
    <owl:disjointWith rdf:resource="#PotableLiquid" />
    <owl:disjointWith rdf:resource="#EdibleThing" />
  </owl:Class>
  
  <owl:Class rdf:ID="LightMeatFowlCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#LightMeatFowl" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="LightMeatFowl">
    <rdfs:subClassOf rdf:resource="#Fowl" />
  </owl:Class>
  
  <owl:Class rdf:ID="FruitCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#Fruit" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <!--- Replaced so that we have a unionOf construct
        Aug 20 02 MKS, suggestion by R. Volz.  

  <owl:Class rdf:ID="Fruit">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
  </owl:Class>

  --> 
  
  <owl:Class rdf:ID="Fruit">
    <owl:unionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#SweetFruit" />
      <owl:Class rdf:about="#NonSweetFruit" />
    </owl:unionOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Fowl">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#Seafood" />
    <owl:disjointWith rdf:resource="#Dessert" />
    <owl:disjointWith rdf:resource="#Fruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="FishCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#Fish" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Medium" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DessertCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#Dessert" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Full" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Strong" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Sweet" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Dessert">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#Fruit" />
  </owl:Class>
  
  <!-- changed so that Fruit can be unionOf 
  <owl:Class rdf:ID="SweetFruit">
    <rdfs:subClassOf rdf:resource="#Fruit" />
  </owl:Class>
  -->
  <owl:Class rdf:ID="SweetFruit">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
  </owl:Class>
  
  <owl:Class rdf:ID="SweetDessertCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#SweetDessert" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="SweetDessert">
    <rdfs:subClassOf rdf:resource="#Dessert" />
  </owl:Class>
  
  <owl:Class rdf:ID="DarkMeatFowlCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#DarkMeatFowl" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Light" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Delicate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="DarkMeatFowl">
    <rdfs:subClassOf rdf:resource="#Fowl" />
    <owl:disjointWith rdf:resource="#LightMeatFowl" />
  </owl:Class>
  
  <owl:Class rdf:ID="CheeseNutsDessertCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#CheeseNutsDessert" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="CheeseNutsDessert">
    <rdfs:subClassOf rdf:resource="#Dessert" />
    <owl:disjointWith rdf:resource="#SweetDessert" />
  </owl:Class>
  
  <owl:Class rdf:ID="BlandFishCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#BlandFish" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Delicate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="BlandFish">
    <rdfs:subClassOf rdf:resource="#Fish" />
    <owl:disjointWith rdf:resource="#NonBlandFish" />
  </owl:Class>
  
  <owl:ObjectProperty rdf:ID="hasFood">
    <rdfs:domain rdf:resource="#MealCourse" />
    <rdfs:range rdf:resource="#EdibleThing" />
  </owl:ObjectProperty>
  
  <owl:Class rdf:ID="Fish">
    <rdfs:subClassOf rdf:resource="#Seafood" />
    <owl:disjointWith rdf:resource="#Shellfish" />
  </owl:Class>
  
  <owl:Class rdf:ID="SpicyRedMeat">
    <rdfs:subClassOf rdf:resource="#RedMeat" />
  </owl:Class>
  
  <owl:Class rdf:ID="ShellfishCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#Shellfish" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:allValuesFrom>
              <owl:Class>
                <owl:oneOf rdf:parseType="Collection">
                  <owl:Thing rdf:about="#Moderate" />
                  <owl:Thing rdf:about="#Strong" />
                </owl:oneOf>
              </owl:Class>
            </owl:allValuesFrom>
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Full" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Shellfish">
    <rdfs:subClassOf rdf:resource="#Seafood" />
  </owl:Class>
  
  <owl:Class rdf:ID="SeafoodCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#Seafood" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#White" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="Seafood">
    <rdfs:subClassOf rdf:resource="#EdibleThing" />
    <owl:disjointWith rdf:resource="#Dessert" />
    <owl:disjointWith rdf:resource="#Fruit" />
  </owl:Class>
  
  <owl:Class rdf:ID="RedMeatCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#RedMeat" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <owl:Class rdf:ID="RedMeat">
    <rdfs:subClassOf rdf:resource="#Meat" />
  </owl:Class>
  
  <SweetDessert rdf:ID="Cake" />
  
  <SweetFruit rdf:ID="Bananas" />
  
  <SweetFruit rdf:ID="MixedFruit" />
  
  <NonOysterShellfish rdf:ID="Mussels" />
  
  <CheeseNutsDessert rdf:ID="Nuts" />
  
  <OysterShellfish rdf:ID="Oysters" />
  
  <PastaWithLightCreamSauce rdf:ID="PastaWithWhiteClamSauce" />
  
  <SweetFruit rdf:ID="Peaches" />
  
  <SweetDessert rdf:ID="Pie" />
  
  <OtherTomatoBasedFood rdf:ID="Pizza" />
  
  <NonRedMeat rdf:ID="Pork" />
  
  <NonSpicyRedMeat rdf:ID="RoastBeef" />
  
  <BlandFish rdf:ID="Scrod" />
  
  <PastaWithNonSpicyRedSauce rdf:ID="SpaghettiWithTomatoSauce" />
  
  <NonSpicyRedMeat rdf:ID="Steak" />
  
  <NonBlandFish rdf:ID="Swordfish" />
  
  <EatingGrape rdf:ID="ThompsonSeedless" />
  
  <owl:Class rdf:ID="EatingGrape">
    <rdfs:subClassOf rdf:resource="#Grape" />
  </owl:Class>

  <NonBlandFish rdf:ID="Tuna" />
  
  <LightMeatFowl rdf:ID="Turkey" />
  
  <NonSpicyRedMeat rdf:ID="Veal" />
  
  <owl:Class rdf:ID="SpicyRedMeatCourse">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#MealCourse" />
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFood" />
        <owl:allValuesFrom rdf:resource="#SpicyRedMeat" />
      </owl:Restriction>
    </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasColor" />
            <owl:hasValue rdf:resource="#Red" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasBody" />
            <owl:hasValue rdf:resource="#Full" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasFlavor" />
            <owl:hasValue rdf:resource="#Moderate" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasDrink" />
        <owl:allValuesFrom>
          <owl:Restriction>
            <owl:onProperty rdf:resource="&vin;hasSugar" />
            <owl:hasValue rdf:resource="#Dry" />
          </owl:Restriction>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  
  <SpicyRedMeat rdf:ID="BeefCurry" />
  
  <LightMeatFowl rdf:ID="Chicken" />
  
  <NonOysterShellfish rdf:ID="Clams" />
  
  <DarkMeatFowl rdf:ID="Duck" />
  
  <SpicyRedMeat rdf:ID="GarlickyRoast" />
  
  <DarkMeatFowl rdf:ID="Goose" />
  
  <BlandFish rdf:ID="Halibut" />
  
  <NonOysterShellfish rdf:ID="Crab" />
  
  <BlandFish rdf:ID="Flounder" />
  
  <NonOysterShellfish rdf:ID="Lobster" />
  
  <PastaWithHeavyCreamSauce rdf:ID="FettucineAlfRedo" />
  
  <PastaWithSpicyRedSauce rdf:ID="FraDiavolo" />
  
  <CheeseNutsDessert rdf:ID="Cheese" />
  
</rdf:RDF>
<miscellaneous/consistent002> rdf:type owl:Ontology .
<miscellaneous/consistent002> rdfs:comment """
      Derived from the DAML Wine ontology at 
      http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
      Substantially modified.
    """ .
<miscellaneous/consistent002> owl:imports <miscellaneous/consistent001> .
food:ConsumableThing rdf:type owl:Class .
food:NonConsumableThing rdf:type owl:Class .
food:NonConsumableThing owl:complementOf food:ConsumableThing .
food:EdibleThing rdf:type owl:Class .
food:EdibleThing rdfs:subClassOf food:ConsumableThing .
food:PotableLiquid rdf:type owl:Class .
food:PotableLiquid rdfs:subClassOf food:ConsumableThing .
food:PotableLiquid owl:disjointWith food:EdibleThing .
food:Wine rdf:type owl:Class .
food:Wine owl:equivalentClass vin:Wine .
food:madeFromFruit rdf:type owl:ObjectProperty .
food:madeFromFruit rdfs:domain food:ConsumableThing .
food:madeFromFruit rdfs:range food:Fruit .
food:Juice rdf:type owl:Class .
food:Juice rdfs:subClassOf food:PotableLiquid .
_:a rdf:type owl:Restriction .
_:a owl:onProperty food:madeFromFruit .
_:a owl:minCardinality "1"^^xsd:nonNegativeInteger  .
food:Juice rdfs:subClassOf _:a .
food:hasDrink rdf:type owl:ObjectProperty .
food:hasDrink rdfs:domain food:MealCourse .
food:hasDrink rdfs:range food:PotableLiquid .
food:White rdf:type owl:Thing .
food:White owl:sameAs vin:White .
food:Rose rdf:type owl:Thing .
food:Rose owl:sameAs vin:Rose .
food:Red rdf:type owl:Thing .
food:Red owl:sameAs vin:Red .
food:Sweet rdf:type owl:Thing .
food:Sweet owl:sameAs vin:Sweet .
food:OffDry rdf:type owl:Thing .
food:OffDry owl:sameAs vin:OffDry .
food:Dry rdf:type owl:Thing .
food:Dry owl:sameAs vin:Dry .
food:Delicate rdf:type owl:Thing .
food:Delicate owl:sameAs vin:Delicate .
food:Moderate rdf:type owl:Thing .
food:Moderate owl:sameAs vin:Moderate .
food:Strong rdf:type owl:Thing .
food:Strong owl:sameAs vin:Strong .
food:Light rdf:type owl:Thing .
food:Light owl:sameAs vin:Light .
food:Medium rdf:type owl:Thing .
food:Medium owl:sameAs vin:Medium .
food:Full rdf:type owl:Thing .
food:Full owl:sameAs vin:Full .
food:course rdf:type owl:ObjectProperty .
food:course rdfs:domain food:Meal .
food:course rdfs:range food:MealCourse .
food:Grape rdf:type owl:Class .
food:Grape rdfs:subClassOf food:SweetFruit .
food:Pasta rdf:type owl:Class .
food:Pasta rdfs:subClassOf food:EdibleThing .
food:Pasta owl:disjointWith food:Meat .
food:Pasta owl:disjointWith food:Fowl .
food:Pasta owl:disjointWith food:Seafood .
food:Pasta owl:disjointWith food:Dessert .
food:Pasta owl:disjointWith food:Fruit .
food:PastaWithWhiteSauce rdf:type owl:Class .
food:PastaWithWhiteSauce rdfs:subClassOf food:Pasta .
food:PastaWithWhiteSauce owl:disjointWith food:PastaWithRedSauce .
food:PastaWithSpicyRedSauceCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:c rdf:type owl:Restriction .
_:c owl:onProperty food:hasFood .
_:c owl:allValuesFrom food:PastaWithSpicyRedSauce .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:g rdf:first food:MealCourse .
_:g rdf:rest _:e .
food:PastaWithSpicyRedSauceCourse owl:intersectionOf _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty food:hasDrink .
_:k rdf:type owl:Restriction .
_:k owl:onProperty vin:hasColor .
_:k owl:hasValue food:Red .
_:i owl:allValuesFrom _:k .
food:PastaWithSpicyRedSauceCourse rdfs:subClassOf _:i .
_:m rdf:type owl:Restriction .
_:m owl:onProperty food:hasDrink .
_:o rdf:type owl:Restriction .
_:o owl:onProperty vin:hasBody .
_:o owl:hasValue food:Full .
_:m owl:allValuesFrom _:o .
food:PastaWithSpicyRedSauceCourse rdfs:subClassOf _:m .
_:q rdf:type owl:Restriction .
_:q owl:onProperty food:hasDrink .
_:s rdf:type owl:Restriction .
_:s owl:onProperty vin:hasFlavor .
_:s owl:hasValue food:Strong .
_:q owl:allValuesFrom _:s .
food:PastaWithSpicyRedSauceCourse rdfs:subClassOf _:q .
_:u rdf:type owl:Restriction .
_:u owl:onProperty food:hasDrink .
_:w rdf:type owl:Restriction .
_:w owl:onProperty vin:hasSugar .
_:w owl:hasValue food:Dry .
_:u owl:allValuesFrom _:w .
food:PastaWithSpicyRedSauceCourse rdfs:subClassOf _:u .
food:PastaWithSpicyRedSauce rdf:type owl:Class .
food:PastaWithSpicyRedSauce rdfs:subClassOf food:PastaWithRedSauce .
food:PastaWithRedSauce rdf:type owl:Class .
food:PastaWithRedSauce rdfs:subClassOf food:Pasta .
food:PastaWithNonSpicyRedSauceCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:y rdf:type owl:Restriction .
_:y owl:onProperty food:hasFood .
_:y owl:allValuesFrom food:PastaWithNonSpicyRedSauce .
_:a1 rdf:first _:y .
_:a1 rdf:rest rdf:nil .
_:c1 rdf:first food:MealCourse .
_:c1 rdf:rest _:a1 .
food:PastaWithNonSpicyRedSauceCourse owl:intersectionOf _:c1 .
_:e1 rdf:type owl:Restriction .
_:e1 owl:onProperty food:hasDrink .
_:g1 rdf:type owl:Restriction .
_:g1 owl:onProperty vin:hasColor .
_:g1 owl:hasValue food:Red .
_:e1 owl:allValuesFrom _:g1 .
food:PastaWithNonSpicyRedSauceCourse rdfs:subClassOf _:e1 .
_:i1 rdf:type owl:Restriction .
_:i1 owl:onProperty food:hasDrink .
_:k1 rdf:type owl:Restriction .
_:k1 owl:onProperty vin:hasBody .
_:k1 owl:hasValue food:Medium .
_:i1 owl:allValuesFrom _:k1 .
food:PastaWithNonSpicyRedSauceCourse rdfs:subClassOf _:i1 .
_:m1 rdf:type owl:Restriction .
_:m1 owl:onProperty food:hasDrink .
_:o1 rdf:type owl:Restriction .
_:o1 owl:onProperty vin:hasFlavor .
_:o1 owl:hasValue food:Moderate .
_:m1 owl:allValuesFrom _:o1 .
food:PastaWithNonSpicyRedSauceCourse rdfs:subClassOf _:m1 .
_:q1 rdf:type owl:Restriction .
_:q1 owl:onProperty food:hasDrink .
_:s1 rdf:type owl:Restriction .
_:s1 owl:onProperty vin:hasSugar .
_:s1 owl:hasValue food:Dry .
_:q1 owl:allValuesFrom _:s1 .
food:PastaWithNonSpicyRedSauceCourse rdfs:subClassOf _:q1 .
food:PastaWithNonSpicyRedSauce rdf:type owl:Class .
food:PastaWithNonSpicyRedSauce rdfs:subClassOf food:PastaWithRedSauce .
food:PastaWithNonSpicyRedSauce owl:disjointWith food:PastaWithSpicyRedSauce .
food:PastaWithLightCreamSauce rdf:type owl:Class .
food:PastaWithLightCreamSauce rdfs:subClassOf food:PastaWithWhiteSauce .
food:PastaWithLightCreamSauce owl:disjointWith food:PastaWithHeavyCreamSauce .
food:PastaWithLightCreamCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:u1 rdf:type owl:Restriction .
_:u1 owl:onProperty food:hasFood .
_:u1 owl:allValuesFrom food:PastaWithLightCreamSauce .
_:w1 rdf:first _:u1 .
_:w1 rdf:rest rdf:nil .
_:y1 rdf:first food:MealCourse .
_:y1 rdf:rest _:w1 .
food:PastaWithLightCreamCourse owl:intersectionOf _:y1 .
_:a2 rdf:type owl:Restriction .
_:a2 owl:onProperty food:hasDrink .
_:c2 rdf:type owl:Restriction .
_:c2 owl:onProperty vin:hasColor .
_:c2 owl:hasValue food:White .
_:a2 owl:allValuesFrom _:c2 .
food:PastaWithLightCreamCourse rdfs:subClassOf _:a2 .
_:e2 rdf:type owl:Restriction .
_:e2 owl:onProperty food:hasDrink .
_:g2 rdf:type owl:Restriction .
_:g2 owl:onProperty vin:hasBody .
_:g2 owl:hasValue food:Light .
_:e2 owl:allValuesFrom _:g2 .
food:PastaWithLightCreamCourse rdfs:subClassOf _:e2 .
_:i2 rdf:type owl:Restriction .
_:i2 owl:onProperty food:hasDrink .
_:k2 rdf:type owl:Restriction .
_:k2 owl:onProperty vin:hasFlavor .
_:k2 owl:hasValue food:Delicate .
_:i2 owl:allValuesFrom _:k2 .
food:PastaWithLightCreamCourse rdfs:subClassOf _:i2 .
_:m2 rdf:type owl:Restriction .
_:m2 owl:onProperty food:hasDrink .
_:o2 rdf:type owl:Restriction .
_:o2 owl:onProperty vin:hasSugar .
_:o2 owl:hasValue food:Dry .
_:m2 owl:allValuesFrom _:o2 .
food:PastaWithLightCreamCourse rdfs:subClassOf _:m2 .
food:PastaWithHeavyCreamSauce rdf:type owl:Class .
food:PastaWithHeavyCreamSauce rdfs:subClassOf food:PastaWithWhiteSauce .
food:PastaWithHeavyCreamCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:q2 rdf:type owl:Restriction .
_:q2 owl:onProperty food:hasFood .
_:q2 owl:allValuesFrom food:PastaWithHeavyCreamSauce .
_:s2 rdf:first _:q2 .
_:s2 rdf:rest rdf:nil .
_:u2 rdf:first food:MealCourse .
_:u2 rdf:rest _:s2 .
food:PastaWithHeavyCreamCourse owl:intersectionOf _:u2 .
_:w2 rdf:type owl:Restriction .
_:w2 owl:onProperty food:hasDrink .
_:y2 rdf:type owl:Restriction .
_:y2 owl:onProperty vin:hasColor .
_:y2 owl:hasValue food:White .
_:w2 owl:allValuesFrom _:y2 .
food:PastaWithHeavyCreamCourse rdfs:subClassOf _:w2 .
_:a3 rdf:type owl:Restriction .
_:a3 owl:onProperty food:hasDrink .
_:c3 rdf:type owl:Restriction .
_:c3 owl:onProperty vin:hasBody .
_:c3 owl:hasValue food:Medium .
_:a3 owl:allValuesFrom _:c3 .
food:PastaWithHeavyCreamCourse rdfs:subClassOf _:a3 .
_:e3 rdf:type owl:Restriction .
_:e3 owl:onProperty food:hasDrink .
_:g3 rdf:type owl:Restriction .
_:g3 owl:onProperty vin:hasFlavor .
_:g3 owl:hasValue food:Moderate .
_:e3 owl:allValuesFrom _:g3 .
food:PastaWithHeavyCreamCourse rdfs:subClassOf _:e3 .
_:i3 rdf:type owl:Restriction .
_:i3 owl:onProperty food:hasDrink .
_:k3 rdf:type owl:Restriction .
_:k3 owl:onProperty vin:hasSugar .
_:k3 owl:hasValue food:Dry .
_:i3 owl:allValuesFrom _:k3 .
food:PastaWithHeavyCreamCourse rdfs:subClassOf _:i3 .
food:OysterShellfishCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:m3 rdf:type owl:Restriction .
_:m3 owl:onProperty food:hasFood .
_:m3 owl:allValuesFrom food:OysterShellfish .
_:o3 rdf:first _:m3 .
_:o3 rdf:rest rdf:nil .
_:q3 rdf:first food:MealCourse .
_:q3 rdf:rest _:o3 .
food:OysterShellfishCourse owl:intersectionOf _:q3 .
_:s3 rdf:type owl:Restriction .
_:s3 owl:onProperty food:hasDrink .
_:u3 rdf:type owl:Restriction .
_:u3 owl:onProperty vin:hasSugar .
_:u3 owl:hasValue food:Sweet .
_:s3 owl:allValuesFrom _:u3 .
food:OysterShellfishCourse rdfs:subClassOf _:s3 .
food:OysterShellfish rdf:type owl:Class .
food:OysterShellfish rdfs:subClassOf food:Shellfish .
food:OtherTomatoBasedFoodCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:w3 rdf:type owl:Restriction .
_:w3 owl:onProperty food:hasFood .
_:w3 owl:allValuesFrom food:OtherTomatoBasedFood .
_:y3 rdf:first _:w3 .
_:y3 rdf:rest rdf:nil .
_:a4 rdf:first food:MealCourse .
_:a4 rdf:rest _:y3 .
food:OtherTomatoBasedFoodCourse owl:intersectionOf _:a4 .
_:c4 rdf:type owl:Restriction .
_:c4 owl:onProperty food:hasDrink .
_:e4 rdf:type owl:Restriction .
_:e4 owl:onProperty vin:hasColor .
_:e4 owl:hasValue food:Red .
_:c4 owl:allValuesFrom _:e4 .
food:OtherTomatoBasedFoodCourse rdfs:subClassOf _:c4 .
_:g4 rdf:type owl:Restriction .
_:g4 owl:onProperty food:hasDrink .
_:i4 rdf:type owl:Restriction .
_:i4 owl:onProperty vin:hasBody .
_:i4 owl:hasValue food:Medium .
_:g4 owl:allValuesFrom _:i4 .
food:OtherTomatoBasedFoodCourse rdfs:subClassOf _:g4 .
_:k4 rdf:type owl:Restriction .
_:k4 owl:onProperty food:hasDrink .
_:m4 rdf:type owl:Restriction .
_:m4 owl:onProperty vin:hasFlavor .
_:m4 owl:hasValue food:Moderate .
_:k4 owl:allValuesFrom _:m4 .
food:OtherTomatoBasedFoodCourse rdfs:subClassOf _:k4 .
_:o4 rdf:type owl:Restriction .
_:o4 owl:onProperty food:hasDrink .
_:q4 rdf:type owl:Restriction .
_:q4 owl:onProperty vin:hasSugar .
_:q4 owl:hasValue food:Dry .
_:o4 owl:allValuesFrom _:q4 .
food:OtherTomatoBasedFoodCourse rdfs:subClassOf _:o4 .
food:OtherTomatoBasedFood rdf:type owl:Class .
food:OtherTomatoBasedFood rdfs:subClassOf food:EdibleThing .
food:OtherTomatoBasedFood owl:disjointWith food:Pasta .
food:OtherTomatoBasedFood owl:disjointWith food:Meat .
food:OtherTomatoBasedFood owl:disjointWith food:Fowl .
food:OtherTomatoBasedFood owl:disjointWith food:Seafood .
food:OtherTomatoBasedFood owl:disjointWith food:Dessert .
food:OtherTomatoBasedFood owl:disjointWith food:Fruit .
food:NonSweetFruitCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:s4 rdf:type owl:Restriction .
_:s4 owl:onProperty food:hasFood .
_:s4 owl:allValuesFrom food:NonSweetFruit .
_:u4 rdf:first _:s4 .
_:u4 rdf:rest rdf:nil .
_:w4 rdf:first food:MealCourse .
_:w4 rdf:rest _:u4 .
food:NonSweetFruitCourse owl:intersectionOf _:w4 .
_:y4 rdf:type owl:Restriction .
_:y4 owl:onProperty food:hasDrink .
_:a5 rdf:type owl:Restriction .
_:a5 owl:onProperty vin:hasFlavor .
_:a5 owl:hasValue food:Delicate .
_:y4 owl:allValuesFrom _:a5 .
food:NonSweetFruitCourse rdfs:subClassOf _:y4 .
_:c5 rdf:type owl:Restriction .
_:c5 owl:onProperty food:hasDrink .
_:e5 rdf:type owl:Restriction .
_:e5 owl:onProperty vin:hasSugar .
_:e5 owl:hasValue food:OffDry .
_:c5 owl:allValuesFrom _:e5 .
food:NonSweetFruitCourse rdfs:subClassOf _:c5 .
food:SweetFruitCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:g5 rdf:type owl:Restriction .
_:g5 owl:onProperty food:hasFood .
_:g5 owl:allValuesFrom food:SweetFruit .
_:i5 rdf:first _:g5 .
_:i5 rdf:rest rdf:nil .
_:k5 rdf:first food:MealCourse .
_:k5 rdf:rest _:i5 .
food:SweetFruitCourse owl:intersectionOf _:k5 .
_:m5 rdf:type owl:Restriction .
_:m5 owl:onProperty food:hasDrink .
_:o5 rdf:type owl:Restriction .
_:o5 owl:onProperty vin:hasFlavor .
_:o5 owl:hasValue food:Moderate .
_:m5 owl:allValuesFrom _:o5 .
food:SweetFruitCourse rdfs:subClassOf _:m5 .
_:q5 rdf:type owl:Restriction .
_:q5 owl:onProperty food:hasDrink .
_:s5 rdf:type owl:Restriction .
_:s5 owl:onProperty vin:hasSugar .
_:s5 owl:hasValue food:Sweet .
_:q5 owl:allValuesFrom _:s5 .
food:SweetFruitCourse rdfs:subClassOf _:q5 .
food:NonSweetFruit rdf:type owl:Class .
food:NonSweetFruit rdfs:subClassOf food:EdibleThing .
food:NonSweetFruit owl:disjointWith food:SweetFruit .
food:NonSpicyRedMeatCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:u5 rdf:type owl:Restriction .
_:u5 owl:onProperty food:hasFood .
_:u5 owl:allValuesFrom food:NonSpicyRedMeat .
_:w5 rdf:first _:u5 .
_:w5 rdf:rest rdf:nil .
_:y5 rdf:first food:MealCourse .
_:y5 rdf:rest _:w5 .
food:NonSpicyRedMeatCourse owl:intersectionOf _:y5 .
_:a6 rdf:type owl:Restriction .
_:a6 owl:onProperty food:hasDrink .
_:c6 rdf:type owl:Restriction .
_:c6 owl:onProperty vin:hasColor .
_:c6 owl:hasValue food:Red .
_:a6 owl:allValuesFrom _:c6 .
food:NonSpicyRedMeatCourse rdfs:subClassOf _:a6 .
_:e6 rdf:type owl:Restriction .
_:e6 owl:onProperty food:hasDrink .
_:g6 rdf:type owl:Restriction .
_:g6 owl:onProperty vin:hasBody .
_:g6 owl:hasValue food:Medium .
_:e6 owl:allValuesFrom _:g6 .
food:NonSpicyRedMeatCourse rdfs:subClassOf _:e6 .
_:i6 rdf:type owl:Restriction .
_:i6 owl:onProperty food:hasDrink .
_:k6 rdf:type owl:Restriction .
_:k6 owl:onProperty vin:hasSugar .
_:k6 owl:hasValue food:Dry .
_:i6 owl:allValuesFrom _:k6 .
food:NonSpicyRedMeatCourse rdfs:subClassOf _:i6 .
_:m6 rdf:type owl:Restriction .
_:m6 owl:onProperty food:hasDrink .
_:o6 rdf:type owl:Restriction .
_:o6 owl:onProperty vin:hasFlavor .
_:q6 rdf:type owl:Class .
food:Strong rdf:type owl:Thing .
food:Moderate rdf:type owl:Thing .
_:s6 rdf:first food:Moderate .
_:s6 rdf:rest rdf:nil .
_:u6 rdf:first food:Strong .
_:u6 rdf:rest _:s6 .
_:q6 owl:oneOf _:u6 .
_:o6 owl:allValuesFrom _:q6 .
_:m6 owl:allValuesFrom _:o6 .
food:NonSpicyRedMeatCourse rdfs:subClassOf _:m6 .
food:NonSpicyRedMeat rdf:type owl:Class .
food:NonSpicyRedMeat rdfs:subClassOf food:RedMeat .
food:NonSpicyRedMeat owl:disjointWith food:SpicyRedMeat .
food:NonRedMeatCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:w6 rdf:type owl:Restriction .
_:w6 owl:onProperty food:hasFood .
_:w6 owl:allValuesFrom food:NonRedMeat .
_:y6 rdf:first _:w6 .
_:y6 rdf:rest rdf:nil .
_:a7 rdf:first food:MealCourse .
_:a7 rdf:rest _:y6 .
food:NonRedMeatCourse owl:intersectionOf _:a7 .
_:c7 rdf:type owl:Restriction .
_:c7 owl:onProperty food:hasDrink .
_:e7 rdf:type owl:Restriction .
_:e7 owl:onProperty vin:hasColor .
_:e7 owl:hasValue food:White .
_:c7 owl:allValuesFrom _:e7 .
food:NonRedMeatCourse rdfs:subClassOf _:c7 .
_:g7 rdf:type owl:Restriction .
_:g7 owl:onProperty food:hasDrink .
_:i7 rdf:type owl:Restriction .
_:i7 owl:onProperty vin:hasBody .
_:i7 owl:hasValue food:Medium .
_:g7 owl:allValuesFrom _:i7 .
food:NonRedMeatCourse rdfs:subClassOf _:g7 .
_:k7 rdf:type owl:Restriction .
_:k7 owl:onProperty food:hasDrink .
_:m7 rdf:type owl:Restriction .
_:m7 owl:onProperty vin:hasFlavor .
_:m7 owl:hasValue food:Strong .
_:k7 owl:allValuesFrom _:m7 .
food:NonRedMeatCourse rdfs:subClassOf _:k7 .
_:o7 rdf:type owl:Restriction .
_:o7 owl:onProperty food:hasDrink .
_:q7 rdf:type owl:Restriction .
_:q7 owl:onProperty vin:hasSugar .
_:q7 owl:hasValue food:Dry .
_:o7 owl:allValuesFrom _:q7 .
food:NonRedMeatCourse rdfs:subClassOf _:o7 .
food:NonRedMeat rdf:type owl:Class .
food:NonRedMeat rdfs:subClassOf food:Meat .
food:NonRedMeat owl:disjointWith food:RedMeat .
food:NonOysterShellfishCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:s7 rdf:type owl:Restriction .
_:s7 owl:onProperty food:hasFood .
_:s7 owl:allValuesFrom food:NonOysterShellfish .
_:u7 rdf:first _:s7 .
_:u7 rdf:rest rdf:nil .
_:w7 rdf:first food:MealCourse .
_:w7 rdf:rest _:u7 .
food:NonOysterShellfishCourse owl:intersectionOf _:w7 .
_:y7 rdf:type owl:Restriction .
_:y7 owl:onProperty food:hasDrink .
_:a8 rdf:type owl:Restriction .
_:a8 owl:onProperty vin:hasSugar .
_:a8 owl:hasValue food:Dry .
_:y7 owl:allValuesFrom _:a8 .
food:NonOysterShellfishCourse rdfs:subClassOf _:y7 .
food:NonOysterShellfish rdf:type owl:Class .
food:NonOysterShellfish rdfs:subClassOf food:Shellfish .
food:NonOysterShellfish owl:disjointWith food:OysterShellfish .
food:NonBlandFishCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:c8 rdf:type owl:Restriction .
_:c8 owl:onProperty food:hasFood .
_:c8 owl:allValuesFrom food:NonBlandFish .
_:e8 rdf:first _:c8 .
_:e8 rdf:rest rdf:nil .
_:g8 rdf:first food:MealCourse .
_:g8 rdf:rest _:e8 .
food:NonBlandFishCourse owl:intersectionOf _:g8 .
_:i8 rdf:type owl:Restriction .
_:i8 owl:onProperty food:hasDrink .
_:k8 rdf:type owl:Restriction .
_:k8 owl:onProperty vin:hasFlavor .
_:k8 owl:hasValue food:Moderate .
_:i8 owl:allValuesFrom _:k8 .
food:NonBlandFishCourse rdfs:subClassOf _:i8 .
food:NonBlandFish rdf:type owl:Class .
food:NonBlandFish rdfs:subClassOf food:Fish .
food:Meat rdf:type owl:Class .
food:Meat rdfs:subClassOf food:EdibleThing .
food:Meat owl:disjointWith food:Fowl .
food:Meat owl:disjointWith food:Seafood .
food:Meat owl:disjointWith food:Dessert .
food:Meat owl:disjointWith food:Fruit .
food:MealCourse rdf:type owl:Class .
food:MealCourse rdfs:subClassOf food:ConsumableThing .
_:m8 rdf:type owl:Restriction .
_:m8 owl:onProperty food:hasFood .
_:m8 owl:minCardinality "1"^^xsd:nonNegativeInteger  .
food:MealCourse rdfs:subClassOf _:m8 .
_:o8 rdf:type owl:Restriction .
_:o8 owl:onProperty food:hasDrink .
_:o8 owl:minCardinality "1"^^xsd:nonNegativeInteger  .
food:MealCourse rdfs:subClassOf _:o8 .
_:q8 rdf:type owl:Restriction .
_:q8 owl:onProperty food:hasDrink .
_:q8 owl:allValuesFrom food:Wine .
food:MealCourse rdfs:subClassOf _:q8 .
food:MealCourse owl:disjointWith food:PotableLiquid .
food:MealCourse owl:disjointWith food:EdibleThing .
food:Meal rdf:type owl:Class .
food:Meal rdfs:subClassOf food:ConsumableThing .
_:s8 rdf:type owl:Restriction .
_:s8 owl:onProperty food:course .
_:s8 owl:minCardinality "1"^^xsd:nonNegativeInteger  .
food:Meal rdfs:subClassOf _:s8 .
_:u8 rdf:type owl:Restriction .
_:u8 owl:onProperty food:course .
_:u8 owl:allValuesFrom food:MealCourse .
food:Meal rdfs:subClassOf _:u8 .
food:Meal owl:disjointWith food:MealCourse .
food:Meal owl:disjointWith food:PotableLiquid .
food:Meal owl:disjointWith food:EdibleThing .
food:LightMeatFowlCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:w8 rdf:type owl:Restriction .
_:w8 owl:onProperty food:hasFood .
_:w8 owl:allValuesFrom food:LightMeatFowl .
_:y8 rdf:first _:w8 .
_:y8 rdf:rest rdf:nil .
_:a9 rdf:first food:MealCourse .
_:a9 rdf:rest _:y8 .
food:LightMeatFowlCourse owl:intersectionOf _:a9 .
_:c9 rdf:type owl:Restriction .
_:c9 owl:onProperty food:hasDrink .
_:e9 rdf:type owl:Restriction .
_:e9 owl:onProperty vin:hasColor .
_:e9 owl:hasValue food:White .
_:c9 owl:allValuesFrom _:e9 .
food:LightMeatFowlCourse rdfs:subClassOf _:c9 .
_:g9 rdf:type owl:Restriction .
_:g9 owl:onProperty food:hasDrink .
_:i9 rdf:type owl:Restriction .
_:i9 owl:onProperty vin:hasBody .
_:i9 owl:hasValue food:Medium .
_:g9 owl:allValuesFrom _:i9 .
food:LightMeatFowlCourse rdfs:subClassOf _:g9 .
_:k9 rdf:type owl:Restriction .
_:k9 owl:onProperty food:hasDrink .
_:m9 rdf:type owl:Restriction .
_:m9 owl:onProperty vin:hasFlavor .
_:m9 owl:hasValue food:Moderate .
_:k9 owl:allValuesFrom _:m9 .
food:LightMeatFowlCourse rdfs:subClassOf _:k9 .
_:o9 rdf:type owl:Restriction .
_:o9 owl:onProperty food:hasDrink .
_:q9 rdf:type owl:Restriction .
_:q9 owl:onProperty vin:hasSugar .
_:q9 owl:hasValue food:Dry .
_:o9 owl:allValuesFrom _:q9 .
food:LightMeatFowlCourse rdfs:subClassOf _:o9 .
food:LightMeatFowl rdf:type owl:Class .
food:LightMeatFowl rdfs:subClassOf food:Fowl .
food:FruitCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:s9 rdf:type owl:Restriction .
_:s9 owl:onProperty food:hasFood .
_:s9 owl:allValuesFrom food:Fruit .
_:u9 rdf:first _:s9 .
_:u9 rdf:rest rdf:nil .
_:w9 rdf:first food:MealCourse .
_:w9 rdf:rest _:u9 .
food:FruitCourse owl:intersectionOf _:w9 .
_:y9 rdf:type owl:Restriction .
_:y9 owl:onProperty food:hasDrink .
_:a10 rdf:type owl:Restriction .
_:a10 owl:onProperty vin:hasColor .
_:a10 owl:hasValue food:White .
_:y9 owl:allValuesFrom _:a10 .
food:FruitCourse rdfs:subClassOf _:y9 .
_:c10 rdf:type owl:Restriction .
_:c10 owl:onProperty food:hasDrink .
_:e10 rdf:type owl:Restriction .
_:e10 owl:onProperty vin:hasBody .
_:e10 owl:hasValue food:Medium .
_:c10 owl:allValuesFrom _:e10 .
food:FruitCourse rdfs:subClassOf _:c10 .
food:Fruit rdf:type owl:Class .
food:SweetFruit rdf:type owl:Class .
food:NonSweetFruit rdf:type owl:Class .
_:g10 rdf:first food:NonSweetFruit .
_:g10 rdf:rest rdf:nil .
_:i10 rdf:first food:SweetFruit .
_:i10 rdf:rest _:g10 .
food:Fruit owl:unionOf _:i10 .
food:Fowl rdf:type owl:Class .
food:Fowl rdfs:subClassOf food:EdibleThing .
food:Fowl owl:disjointWith food:Seafood .
food:Fowl owl:disjointWith food:Dessert .
food:Fowl owl:disjointWith food:Fruit .
food:FishCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:k10 rdf:type owl:Restriction .
_:k10 owl:onProperty food:hasFood .
_:k10 owl:allValuesFrom food:Fish .
_:m10 rdf:first _:k10 .
_:m10 rdf:rest rdf:nil .
_:o10 rdf:first food:MealCourse .
_:o10 rdf:rest _:m10 .
food:FishCourse owl:intersectionOf _:o10 .
_:q10 rdf:type owl:Restriction .
_:q10 owl:onProperty food:hasDrink .
_:s10 rdf:type owl:Restriction .
_:s10 owl:onProperty vin:hasBody .
_:s10 owl:hasValue food:Medium .
_:q10 owl:allValuesFrom _:s10 .
food:FishCourse rdfs:subClassOf _:q10 .
_:u10 rdf:type owl:Restriction .
_:u10 owl:onProperty food:hasDrink .
_:w10 rdf:type owl:Restriction .
_:w10 owl:onProperty vin:hasSugar .
_:w10 owl:hasValue food:Dry .
_:u10 owl:allValuesFrom _:w10 .
food:FishCourse rdfs:subClassOf _:u10 .
food:DessertCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:y10 rdf:type owl:Restriction .
_:y10 owl:onProperty food:hasFood .
_:y10 owl:allValuesFrom food:Dessert .
_:a11 rdf:first _:y10 .
_:a11 rdf:rest rdf:nil .
_:c11 rdf:first food:MealCourse .
_:c11 rdf:rest _:a11 .
food:DessertCourse owl:intersectionOf _:c11 .
_:e11 rdf:type owl:Restriction .
_:e11 owl:onProperty food:hasDrink .
_:g11 rdf:type owl:Restriction .
_:g11 owl:onProperty vin:hasBody .
_:g11 owl:hasValue food:Full .
_:e11 owl:allValuesFrom _:g11 .
food:DessertCourse rdfs:subClassOf _:e11 .
_:i11 rdf:type owl:Restriction .
_:i11 owl:onProperty food:hasDrink .
_:k11 rdf:type owl:Restriction .
_:k11 owl:onProperty vin:hasFlavor .
_:k11 owl:hasValue food:Strong .
_:i11 owl:allValuesFrom _:k11 .
food:DessertCourse rdfs:subClassOf _:i11 .
_:m11 rdf:type owl:Restriction .
_:m11 owl:onProperty food:hasDrink .
_:o11 rdf:type owl:Restriction .
_:o11 owl:onProperty vin:hasSugar .
_:o11 owl:hasValue food:Sweet .
_:m11 owl:allValuesFrom _:o11 .
food:DessertCourse rdfs:subClassOf _:m11 .
food:Dessert rdf:type owl:Class .
food:Dessert rdfs:subClassOf food:EdibleThing .
food:Dessert owl:disjointWith food:Fruit .
food:SweetFruit rdf:type owl:Class .
food:SweetFruit rdfs:subClassOf food:EdibleThing .
food:SweetDessertCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:q11 rdf:type owl:Restriction .
_:q11 owl:onProperty food:hasFood .
_:q11 owl:allValuesFrom food:SweetDessert .
_:s11 rdf:first _:q11 .
_:s11 rdf:rest rdf:nil .
_:u11 rdf:first food:MealCourse .
_:u11 rdf:rest _:s11 .
food:SweetDessertCourse owl:intersectionOf _:u11 .
_:w11 rdf:type owl:Restriction .
_:w11 owl:onProperty food:hasDrink .
_:y11 rdf:type owl:Restriction .
_:y11 owl:onProperty vin:hasColor .
_:y11 owl:hasValue food:White .
_:w11 owl:allValuesFrom _:y11 .
food:SweetDessertCourse rdfs:subClassOf _:w11 .
food:SweetDessert rdf:type owl:Class .
food:SweetDessert rdfs:subClassOf food:Dessert .
food:DarkMeatFowlCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:a12 rdf:type owl:Restriction .
_:a12 owl:onProperty food:hasFood .
_:a12 owl:allValuesFrom food:DarkMeatFowl .
_:c12 rdf:first _:a12 .
_:c12 rdf:rest rdf:nil .
_:e12 rdf:first food:MealCourse .
_:e12 rdf:rest _:c12 .
food:DarkMeatFowlCourse owl:intersectionOf _:e12 .
_:g12 rdf:type owl:Restriction .
_:g12 owl:onProperty food:hasDrink .
_:i12 rdf:type owl:Restriction .
_:i12 owl:onProperty vin:hasColor .
_:i12 owl:hasValue food:Red .
_:g12 owl:allValuesFrom _:i12 .
food:DarkMeatFowlCourse rdfs:subClassOf _:g12 .
_:k12 rdf:type owl:Restriction .
_:k12 owl:onProperty food:hasDrink .
_:m12 rdf:type owl:Restriction .
_:m12 owl:onProperty vin:hasBody .
_:m12 owl:hasValue food:Light .
_:k12 owl:allValuesFrom _:m12 .
food:DarkMeatFowlCourse rdfs:subClassOf _:k12 .
_:o12 rdf:type owl:Restriction .
_:o12 owl:onProperty food:hasDrink .
_:q12 rdf:type owl:Restriction .
_:q12 owl:onProperty vin:hasFlavor .
_:q12 owl:hasValue food:Delicate .
_:o12 owl:allValuesFrom _:q12 .
food:DarkMeatFowlCourse rdfs:subClassOf _:o12 .
_:s12 rdf:type owl:Restriction .
_:s12 owl:onProperty food:hasDrink .
_:u12 rdf:type owl:Restriction .
_:u12 owl:onProperty vin:hasSugar .
_:u12 owl:hasValue food:Dry .
_:s12 owl:allValuesFrom _:u12 .
food:DarkMeatFowlCourse rdfs:subClassOf _:s12 .
food:DarkMeatFowl rdf:type owl:Class .
food:DarkMeatFowl rdfs:subClassOf food:Fowl .
food:DarkMeatFowl owl:disjointWith food:LightMeatFowl .
food:CheeseNutsDessertCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:w12 rdf:type owl:Restriction .
_:w12 owl:onProperty food:hasFood .
_:w12 owl:allValuesFrom food:CheeseNutsDessert .
_:y12 rdf:first _:w12 .
_:y12 rdf:rest rdf:nil .
_:a13 rdf:first food:MealCourse .
_:a13 rdf:rest _:y12 .
food:CheeseNutsDessertCourse owl:intersectionOf _:a13 .
_:c13 rdf:type owl:Restriction .
_:c13 owl:onProperty food:hasDrink .
_:e13 rdf:type owl:Restriction .
_:e13 owl:onProperty vin:hasColor .
_:e13 owl:hasValue food:Red .
_:c13 owl:allValuesFrom _:e13 .
food:CheeseNutsDessertCourse rdfs:subClassOf _:c13 .
food:CheeseNutsDessert rdf:type owl:Class .
food:CheeseNutsDessert rdfs:subClassOf food:Dessert .
food:CheeseNutsDessert owl:disjointWith food:SweetDessert .
food:BlandFishCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:g13 rdf:type owl:Restriction .
_:g13 owl:onProperty food:hasFood .
_:g13 owl:allValuesFrom food:BlandFish .
_:i13 rdf:first _:g13 .
_:i13 rdf:rest rdf:nil .
_:k13 rdf:first food:MealCourse .
_:k13 rdf:rest _:i13 .
food:BlandFishCourse owl:intersectionOf _:k13 .
_:m13 rdf:type owl:Restriction .
_:m13 owl:onProperty food:hasDrink .
_:o13 rdf:type owl:Restriction .
_:o13 owl:onProperty vin:hasFlavor .
_:o13 owl:hasValue food:Delicate .
_:m13 owl:allValuesFrom _:o13 .
food:BlandFishCourse rdfs:subClassOf _:m13 .
food:BlandFish rdf:type owl:Class .
food:BlandFish rdfs:subClassOf food:Fish .
food:BlandFish owl:disjointWith food:NonBlandFish .
food:hasFood rdf:type owl:ObjectProperty .
food:hasFood rdfs:domain food:MealCourse .
food:hasFood rdfs:range food:EdibleThing .
food:Fish rdf:type owl:Class .
food:Fish rdfs:subClassOf food:Seafood .
food:Fish owl:disjointWith food:Shellfish .
food:SpicyRedMeat rdf:type owl:Class .
food:SpicyRedMeat rdfs:subClassOf food:RedMeat .
food:ShellfishCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:q13 rdf:type owl:Restriction .
_:q13 owl:onProperty food:hasFood .
_:q13 owl:allValuesFrom food:Shellfish .
_:s13 rdf:first _:q13 .
_:s13 rdf:rest rdf:nil .
_:u13 rdf:first food:MealCourse .
_:u13 rdf:rest _:s13 .
food:ShellfishCourse owl:intersectionOf _:u13 .
_:w13 rdf:type owl:Restriction .
_:w13 owl:onProperty food:hasDrink .
_:y13 rdf:type owl:Restriction .
_:y13 owl:onProperty vin:hasFlavor .
_:a14 rdf:type owl:Class .
food:Moderate rdf:type owl:Thing .
food:Strong rdf:type owl:Thing .
_:c14 rdf:first food:Strong .
_:c14 rdf:rest rdf:nil .
_:e14 rdf:first food:Moderate .
_:e14 rdf:rest _:c14 .
_:a14 owl:oneOf _:e14 .
_:y13 owl:allValuesFrom _:a14 .
_:w13 owl:allValuesFrom _:y13 .
food:ShellfishCourse rdfs:subClassOf _:w13 .
_:g14 rdf:type owl:Restriction .
_:g14 owl:onProperty food:hasDrink .
_:i14 rdf:type owl:Restriction .
_:i14 owl:onProperty vin:hasBody .
_:i14 owl:hasValue food:Full .
_:g14 owl:allValuesFrom _:i14 .
food:ShellfishCourse rdfs:subClassOf _:g14 .
food:Shellfish rdf:type owl:Class .
food:Shellfish rdfs:subClassOf food:Seafood .
food:SeafoodCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:k14 rdf:type owl:Restriction .
_:k14 owl:onProperty food:hasFood .
_:k14 owl:allValuesFrom food:Seafood .
_:m14 rdf:first _:k14 .
_:m14 rdf:rest rdf:nil .
_:o14 rdf:first food:MealCourse .
_:o14 rdf:rest _:m14 .
food:SeafoodCourse owl:intersectionOf _:o14 .
_:q14 rdf:type owl:Restriction .
_:q14 owl:onProperty food:hasDrink .
_:s14 rdf:type owl:Restriction .
_:s14 owl:onProperty vin:hasColor .
_:s14 owl:hasValue food:White .
_:q14 owl:allValuesFrom _:s14 .
food:SeafoodCourse rdfs:subClassOf _:q14 .
food:Seafood rdf:type owl:Class .
food:Seafood rdfs:subClassOf food:EdibleThing .
food:Seafood owl:disjointWith food:Dessert .
food:Seafood owl:disjointWith food:Fruit .
food:RedMeatCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:u14 rdf:type owl:Restriction .
_:u14 owl:onProperty food:hasFood .
_:u14 owl:allValuesFrom food:RedMeat .
_:w14 rdf:first _:u14 .
_:w14 rdf:rest rdf:nil .
_:y14 rdf:first food:MealCourse .
_:y14 rdf:rest _:w14 .
food:RedMeatCourse owl:intersectionOf _:y14 .
_:a15 rdf:type owl:Restriction .
_:a15 owl:onProperty food:hasDrink .
_:c15 rdf:type owl:Restriction .
_:c15 owl:onProperty vin:hasColor .
_:c15 owl:hasValue food:Red .
_:a15 owl:allValuesFrom _:c15 .
food:RedMeatCourse rdfs:subClassOf _:a15 .
food:RedMeat rdf:type owl:Class .
food:RedMeat rdfs:subClassOf food:Meat .
food:Cake rdf:type food:SweetDessert .
food:Bananas rdf:type food:SweetFruit .
food:MixedFruit rdf:type food:SweetFruit .
food:Mussels rdf:type food:NonOysterShellfish .
food:Nuts rdf:type food:CheeseNutsDessert .
food:Oysters rdf:type food:OysterShellfish .
food:PastaWithWhiteClamSauce rdf:type food:PastaWithLightCreamSauce .
food:Peaches rdf:type food:SweetFruit .
food:Pie rdf:type food:SweetDessert .
food:Pizza rdf:type food:OtherTomatoBasedFood .
food:Pork rdf:type food:NonRedMeat .
food:RoastBeef rdf:type food:NonSpicyRedMeat .
food:Scrod rdf:type food:BlandFish .
food:SpaghettiWithTomatoSauce rdf:type food:PastaWithNonSpicyRedSauce .
food:Steak rdf:type food:NonSpicyRedMeat .
food:Swordfish rdf:type food:NonBlandFish .
food:ThompsonSeedless rdf:type food:EatingGrape .
food:EatingGrape rdf:type owl:Class .
food:EatingGrape rdfs:subClassOf food:Grape .
food:Tuna rdf:type food:NonBlandFish .
food:Turkey rdf:type food:LightMeatFowl .
food:Veal rdf:type food:NonSpicyRedMeat .
food:SpicyRedMeatCourse rdf:type owl:Class .
food:MealCourse rdf:type owl:Class .
_:e15 rdf:type owl:Restriction .
_:e15 owl:onProperty food:hasFood .
_:e15 owl:allValuesFrom food:SpicyRedMeat .
_:g15 rdf:first _:e15 .
_:g15 rdf:rest rdf:nil .
_:i15 rdf:first food:MealCourse .
_:i15 rdf:rest _:g15 .
food:SpicyRedMeatCourse owl:intersectionOf _:i15 .
_:k15 rdf:type owl:Restriction .
_:k15 owl:onProperty food:hasDrink .
_:m15 rdf:type owl:Restriction .
_:m15 owl:onProperty vin:hasColor .
_:m15 owl:hasValue food:Red .
_:k15 owl:allValuesFrom _:m15 .
food:SpicyRedMeatCourse rdfs:subClassOf _:k15 .
_:o15 rdf:type owl:Restriction .
_:o15 owl:onProperty food:hasDrink .
_:q15 rdf:type owl:Restriction .
_:q15 owl:onProperty vin:hasBody .
_:q15 owl:hasValue food:Full .
_:o15 owl:allValuesFrom _:q15 .
food:SpicyRedMeatCourse rdfs:subClassOf _:o15 .
_:s15 rdf:type owl:Restriction .
_:s15 owl:onProperty food:hasDrink .
_:u15 rdf:type owl:Restriction .
_:u15 owl:onProperty vin:hasFlavor .
_:u15 owl:hasValue food:Moderate .
_:s15 owl:allValuesFrom _:u15 .
food:SpicyRedMeatCourse rdfs:subClassOf _:s15 .
_:w15 rdf:type owl:Restriction .
_:w15 owl:onProperty food:hasDrink .
_:y15 rdf:type owl:Restriction .
_:y15 owl:onProperty vin:hasSugar .
_:y15 owl:hasValue food:Dry .
_:w15 owl:allValuesFrom _:y15 .
food:SpicyRedMeatCourse rdfs:subClassOf _:w15 .
food:BeefCurry rdf:type food:SpicyRedMeat .
food:Chicken rdf:type food:LightMeatFowl .
food:Clams rdf:type food:NonOysterShellfish .
food:Duck rdf:type food:DarkMeatFowl .
food:GarlickyRoast rdf:type food:SpicyRedMeat .
food:Goose rdf:type food:DarkMeatFowl .
food:Halibut rdf:type food:BlandFish .
food:Crab rdf:type food:NonOysterShellfish .
food:Flounder rdf:type food:BlandFish .
food:Lobster rdf:type food:NonOysterShellfish .
food:FettucineAlfRedo rdf:type food:PastaWithHeavyCreamSauce .
food:FraDiavolo rdf:type food:PastaWithSpicyRedSauce .
food:Cheese rdf:type food:CheeseNutsDessert .

DL Full Positive Entailment Test:010
Description: (informative) <miscellaneous/Manifest010#test>
Which wine goes well with which food.
N3 format is informative.
DLPremises: <miscellaneous/premises010>
<?xml version="1.0"?>


<rdf:RDF
  xml:base  = "http://www.w3.org/2002/03owlt/miscellaneous/premises010"
  xmlns:owl = "http://www.w3.org/2002/07/owl#"
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#">

  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent001"/>
    <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent002"/>
  </owl:Ontology>
 
</rdf:RDF>
<miscellaneous/premises010> rdf:type owl:Ontology .
<miscellaneous/premises010> owl:imports <miscellaneous/consistent001> .
<miscellaneous/premises010> owl:imports <miscellaneous/consistent002> .
DLConclusions: <miscellaneous/conclusions010>
<!DOCTYPE rdf:RDF [
     <!ENTITY vin  "http://www.w3.org/2002/03owlt/miscellaneous/consistent001#" >
     <!ENTITY food "http://www.w3.org/2002/03owlt/miscellaneous/consistent002#" >
     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
   ]>
<!--
  Copyright World Wide Web Consortium, (Massachusetts Institute of
  Technology, European Research Consortium for Informatics and
  Mathematics, Keio University).

  All Rights Reserved.

  Please see the full Copyright clause at
  <http://www.w3.org/Consortium/Legal/copyright-software.html>

  $Id: misc-000-guide.html,v 1.9 2004/02/10 15:29:27 sandro Exp $
-->
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#" >
  <rdf:Description rdf:nodeID="A0">
    <rdf:first rdf:nodeID="A1"/>
    <rdf:rest rdf:nodeID="A2"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A3">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <owl:intersectionOf rdf:nodeID="A4"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A5">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:hasValue rdf:resource="&vin;FoxenCheninBlanc"/>
    <owl:onProperty rdf:resource="&food;hasDrink"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A6">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:hasValue rdf:resource="&food;Pie"/>
    <owl:onProperty rdf:resource="&food;hasFood"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A7">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <owl:intersectionOf rdf:nodeID="A8"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A9">
    <rdf:first rdf:nodeID="A6"/>
    <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A10">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:hasValue rdf:resource="&vin;PageMillWineryCabernetSauvignon"/>
    <owl:onProperty rdf:resource="&food;hasDrink"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A11">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:hasValue rdf:resource="&food;Halibut"/>
    <owl:onProperty rdf:resource="&food;hasFood"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A12">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <rdf:type rdf:nodeID="A7"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A4">
    <rdf:first rdf:nodeID="A5"/>
    <rdf:rest rdf:nodeID="A9"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A13">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <rdf:type rdf:nodeID="A14"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A15">
    <rdf:first rdf:nodeID="A11"/>
    <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A14">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
    <owl:intersectionOf rdf:nodeID="A0"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A8">
    <rdf:first rdf:nodeID="A10"/>
    <rdf:rest rdf:nodeID="A15"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A1">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:hasValue rdf:resource="&vin;SchlossVolradTrochenbierenausleseRiesling"/>
    <owl:onProperty rdf:resource="&food;hasDrink"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A16">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <rdf:type rdf:nodeID="A3"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A17">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    <owl:hasValue rdf:resource="&food;Lobster"/>
    <owl:onProperty rdf:resource="&food;hasFood"/>
  </rdf:Description>
  <rdf:Description rdf:nodeID="A2">
    <rdf:first rdf:nodeID="A17"/>
    <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
  </rdf:Description>
  <rdf:Description rdf:about="&food;hasFood">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="&food;hasDrink">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;FoxenCheninBlanc">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&food;Pie">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;PageMillWineryCabernetSauvignon">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&food;Halibut">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;SchlossVolradTrochenbierenausleseRiesling">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&food;Lobster">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
</rdf:RDF>
_:a rdf:first _:b .
_:a rdf:rest _:e .
_:g rdf:type owl:Class .
_:g owl:intersectionOf _:i .
_:k rdf:type owl:Restriction .
_:k owl:hasValue <miscellaneous/consistent001#FoxenCheninBlanc> .
_:k owl:onProperty <miscellaneous/consistent002#hasDrink> .
_:m rdf:type owl:Restriction .
_:m owl:hasValue <miscellaneous/consistent002#Pie> .
_:m owl:onProperty <miscellaneous/consistent002#hasFood> .
_:o rdf:type owl:Class .
_:o owl:intersectionOf _:q .
_:s rdf:first _:m .
_:s rdf:rest rdf:nil .
_:u rdf:type owl:Restriction .
_:u owl:hasValue <miscellaneous/consistent001#PageMillWineryCabernetSauvignon> .
_:u owl:onProperty <miscellaneous/consistent002#hasDrink> .
_:w rdf:type owl:Restriction .
_:w owl:hasValue <miscellaneous/consistent002#Halibut> .
_:w owl:onProperty <miscellaneous/consistent002#hasFood> .
_:y rdf:type owl:Thing .
_:y rdf:type _:o .
_:i rdf:first _:k .
_:i rdf:rest _:s .
_:a1 rdf:type owl:Thing .
_:a1 rdf:type _:c1 .
_:e1 rdf:first _:w .
_:e1 rdf:rest rdf:nil .
_:c1 rdf:type owl:Class .
_:c1 owl:intersectionOf _:a .
_:q rdf:first _:u .
_:q rdf:rest _:e1 .
_:b rdf:type owl:Restriction .
_:b owl:hasValue <miscellaneous/consistent001#SchlossVolradTrochenbierenausleseRiesling> .
_:b owl:onProperty <miscellaneous/consistent002#hasDrink> .
_:g1 rdf:type owl:Thing .
_:g1 rdf:type _:g .
_:i1 rdf:type owl:Restriction .
_:i1 owl:hasValue <miscellaneous/consistent002#Lobster> .
_:i1 owl:onProperty <miscellaneous/consistent002#hasFood> .
_:e rdf:first _:i1 .
_:e rdf:rest rdf:nil .
<miscellaneous/consistent002#hasFood> rdf:type owl:ObjectProperty .
<miscellaneous/consistent002#hasDrink> rdf:type owl:ObjectProperty .
<miscellaneous/consistent001#FoxenCheninBlanc> rdf:type owl:Thing .
<miscellaneous/consistent002#Pie> rdf:type owl:Thing .
<miscellaneous/consistent001#PageMillWineryCabernetSauvignon> rdf:type owl:Thing .
<miscellaneous/consistent002#Halibut> rdf:type owl:Thing .
<miscellaneous/consistent001#SchlossVolradTrochenbierenausleseRiesling> rdf:type owl:Thing .
<miscellaneous/consistent002#Lobster> rdf:type owl:Thing .

DL Full Positive Entailment Test:011
Description: (informative) <miscellaneous/Manifest011#test>
Which wine hasSugar OffDry.
N3 format is informative.
Namespaces:
@prefix vin: <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> .
DLPremises: <miscellaneous/premises011>
<?xml version="1.0"?>

<rdf:RDF
  xml:base  = "http://www.w3.org/2002/03owlt/miscellaneous/premises011"
  xmlns:owl = "http://www.w3.org/2002/07/owl#"
  xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#">

  <owl:Ontology rdf:about="">
    <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent001"/>
    <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent002"/>
  </owl:Ontology>
 
</rdf:RDF>
<miscellaneous/premises011> rdf:type owl:Ontology .
<miscellaneous/premises011> owl:imports <miscellaneous/consistent001> .
<miscellaneous/premises011> owl:imports <miscellaneous/consistent002> .
LiteConclusions: <miscellaneous/conclusions011>
<!DOCTYPE owl [
     <!ENTITY vin  "http://www.w3.org/2002/03owlt/miscellaneous/consistent001#" >
     <!ENTITY food "http://www.w3.org/2002/03owlt/miscellaneous/consistent002#" >
     <!ENTITY owl  "http://www.w3.org/2002/07/owl#" >
     <!ENTITY xsd  "http://www.w3.org/2001/XMLSchema#" >
   ]>
   
<!--
  Copyright World Wide Web Consortium, (Massachusetts Institute of
  Technology, European Research Consortium for Informatics and
  Mathematics, Keio University).

  All Rights Reserved.

  Please see the full Copyright clause at
  <http://www.w3.org/Consortium/Legal/copyright-software.html>

  $Id: misc-000-guide.html,v 1.9 2004/02/10 15:29:27 sandro Exp $
-->
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:vin="&vin;" >
  <rdf:Description rdf:about="&vin;ClosDeLaPoussieSancerre">
    <vin:hasSugar rdf:resource="&vin;OffDry"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;VentanaCheninBlanc">
    <vin:hasSugar rdf:resource="&vin;OffDry"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;RoseDAnjou">
    <vin:hasSugar rdf:resource="&vin;OffDry"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;CorbansDryWhiteRiesling">
    <vin:hasSugar rdf:resource="&vin;OffDry"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;hasSugar">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
  </rdf:Description>
  <rdf:Description rdf:about="&vin;OffDry">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </rdf:Description>
</rdf:RDF>
vin:ClosDeLaPoussieSancerre vin:hasSugar vin:OffDry .
vin:ClosDeLaPoussieSancerre rdf:type owl:Thing .
vin:VentanaCheninBlanc vin:hasSugar vin:OffDry .
vin:VentanaCheninBlanc rdf:type owl:Thing .
vin:RoseDAnjou vin:hasSugar vin:OffDry .
vin:RoseDAnjou rdf:type owl:Thing .
vin:CorbansDryWhiteRiesling vin:hasSugar vin:OffDry .
vin:CorbansDryWhiteRiesling rdf:type owl:Thing .
vin:hasSugar rdf:type owl:ObjectProperty .
vin:OffDry rdf:type owl:Thing .


previous next top contents index