<?xml version="1.0"?>
<!DOCTYPE uridef [
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns">
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema">
  <!ENTITY owl "http://www.w3.org/2002/07/owl">
  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema">
  <!ENTITY winery "http://www.mindswap.org/2004/multipleOnt/FactoredOntologies/FactoredWine/factoredWinery.xml">
  <!ENTITY region "http://www.mindswap.org/2004/multipleOnt/FactoredOntologies/FactoredWine/factoredRegion.xml">
  <!ENTITY descriptor "http://www.mindswap.org/2004/multipleOnt/FactoredOntologies/FactoredWine/factoredWineDescriptor.xml">
  <!ENTITY grape "http://www.mindswap.org/2004/multipleOnt/FactoredOntologies/FactoredWine/factoredGrapes.xml">
  <!ENTITY year "http://www.mindswap.org/2004/multipleOnt/FactoredOntologies/FactoredWine/factoredYear.xml">
  <!ENTITY wine "http://www.mindswap.org/2004/multipleOnt/FactoredOntologies/FactoredWine/factoredWines.xml">

]>

<rdf:RDF xml:base="&wine;" 
       xmlns:rdf="&rdf;#"
	 xmlns:rdfs="&rdfs;#"
	 xmlns:owl="&owl;#"
   	 xmlns:xsd="&xsd;#"
	xmlns:winery="&winery;#" 
	xmlns:region="&region;#" 
	xmlns:descriptor="&descriptor;#" 
	xmlns:year="&year;#" 
	xmlns:grape="&grape;#" 
	xmlns="&wine;#" 
	 
>

  <owl:Ontology rdf:about="">
    <rdfs:comment>An example OWL ontology</rdfs:comment>
    <rdfs:label>Wine Ontology</rdfs:label>
  </owl:Ontology>

  <owl:Class rdf:ID="Wine">
    <rdfs:subClassOf rdf:resource="http://www.mindswap.org/2004/owl/wine/food.owl#PotableLiquid"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasMaker"/>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasMaker"/>
        <owl:allValuesFrom>
           <owl:ForeignClass rdf:about="&winery;#Winery">
    			   <owl:foreignOntology rdf:resource="&winery;"/>
           </owl:ForeignClass>                  
         </owl:allValuesFrom> 
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
        <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
        <owl:someValuesFrom> 
          <owl:ForeignClass rdf:about="&region;#Region">
    			   <owl:foreignOntology rdf:resource="&region;"/>
           </owl:ForeignClass>                  
         
        </owl:someValuesFrom>
      </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="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </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:someValuesFrom>
          <owl:Class>
		 <owl:oneOf rdf:parseType="Collection">
			<owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
			</owl:ForeignIndividual>
		</owl:oneOf>
	     </owl:Class>
         </owl:someValuesFrom>
      </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:someValuesFrom>
          <owl:Class>
		 <owl:oneOf rdf:parseType="Collection">
			<owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
			</owl:ForeignIndividual>
		</owl:oneOf>
	     </owl:Class>
         </owl:someValuesFrom>
      </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:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
              <owl:ForeignIndividual rdf:about="&descriptor;#OffDry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
	        </owl:ForeignIndividual>
             </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:ForeignIndividual rdf:about="&grape;#CheninBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&grape;#PinotBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual> 
		   <owl:ForeignIndividual rdf:about="&grape;#SauvignonBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
              </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:someValuesFrom>
          <owl:Class>
		 <owl:oneOf rdf:parseType="Collection">
			<owl:ForeignIndividual rdf:about="&grape;#ChardonnayGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
			</owl:ForeignIndividual>
		</owl:oneOf>
	     </owl:Class>
         </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:ForeignIndividual rdf:about="&grape;#SemillonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
			</owl:ForeignIndividual>        
                  <owl:ForeignIndividual rdf:about="&grape;#SauvignonBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
			</owl:ForeignIndividual>		 
              </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:LinkProperty rdf:ID="hasVintageYear">
    <owl:foreignOntology rdf:resource="&year;"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:domain rdf:resource="#Vintage"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&year;#VintageYear">
    			   <owl:foreignOntology rdf:resource="&year;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:ID="madeFromGrape">
    <owl:foreignOntology rdf:resource="&grape;"/>
    <rdfs:domain rdf:resource="#Wine"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&grape;#WineGrape">
    			   <owl:foreignOntology rdf:resource="&grape;"/>
        </owl:ForeignClass>                  
    </rdfs:range>   
  </owl:LinkProperty>

  <owl:LinkProperty rdf:about="#producedIn">
    <owl:foreignOntology rdf:resource="&region;"/>
    <rdfs:domain rdf:resource="#Wine"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&region;#Region">
    			   <owl:foreignOntology rdf:resource="&region;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:about="#hasWineDescriptor">
    <owl:foreignOntology rdf:resource="&descriptor;"/>
    <rdfs:domain rdf:resource="#Wine"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&descriptor;#WineDescriptor">
    			   <owl:foreignOntology rdf:resource="&descriptor;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:about="#hasSugar">
    <owl:foreignOntology rdf:resource="&descriptor;"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&descriptor;#WineSugar">
    			   <owl:foreignOntology rdf:resource="&descriptor;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:about="#hasBody">
    <owl:foreignOntology rdf:resource="&descriptor;"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&descriptor;#WineBody">
    			   <owl:foreignOntology rdf:resource="&descriptor;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:about="#hasFlavor">
    <owl:foreignOntology rdf:resource="&descriptor;"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor"/>
    <rdfs:range>
       <owl:ForeignClass rdf:about="&descriptor;#WineFlavor">
    			   <owl:foreignOntology rdf:resource="&descriptor;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:about="#hasColor">
    <owl:foreignOntology rdf:resource="&descriptor;"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
    <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor"/>
    <rdfs:domain rdf:resource="#Wine"/>
     <rdfs:range>
       <owl:ForeignClass rdf:about="&descriptor;#WineColor">
    			   <owl:foreignOntology rdf:resource="&descriptor;"/>
        </owl:ForeignClass>                  
    </rdfs:range>
  </owl:LinkProperty>

  <owl:LinkProperty rdf:ID="hasMaker">
    <owl:foreignOntology rdf:resource="&winery;"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
  </owl:LinkProperty>

  <owl:ForeignObjectProperty rdf:about="&region;#locatedIn">
    <owl:foreignOntology rdf:resource="&region;"/>
  </owl:ForeignObjectProperty>


  <owl:Class rdf:ID="Zinfandel">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
            <owl:Class>
              <owl:oneOf rdf:parseType="Collection">
      		<owl:ForeignIndividual rdf:about="&grape;#ZifandelGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
			</owl:ForeignIndividual>        
               </owl:oneOf>
          </owl:Class>
       </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
           <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
      		<owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
			</owl:ForeignIndividual>        
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
    </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
           <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
      		<owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
			</owl:ForeignIndividual>        
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>        
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
	        </owl:ForeignIndividual>
              <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>    
             </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:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		    </owl:ForeignIndividual>             
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="Tours">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#ToursRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
 
 <owl:Class rdf:about="#Tours">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&grape;#CheninBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Sweet">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Sweet">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
       </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="StEmilion">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
            <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&grape;#CabernetSauvignonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
              </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Bordeaux"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#StEmilionRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
 
 <owl:Class rdf:ID="SemillonOrSauvignonBlanc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
              </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                 <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:ForeignIndividual rdf:about="&grape;#SemillonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&grape;#SauvignonBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&grape;#SemillonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&grape;#SauvignonBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#SauterneRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
   </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
<owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>        
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  

<owl:Class rdf:ID="Sancerre">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
           <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
       </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#OffDry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
         <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&grape;#SauvignonBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#SancerreRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Rose">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Riesling">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
         <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&grape;#RieslingGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="RedBurgundy">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
       <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <owl:ForeignIndividual rdf:about="&grape;#PinotNoirGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:ForeignIndividual rdf:about="&grape;#CabernetSauvignonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&grape;#MerlotGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#PortugalRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
         <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
       </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
         <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Sweet">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="PinotNoir">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
         <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
        </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&grape;#PinotNoirGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
         <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&grape;#PinotBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
       </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
               <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
             </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:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#PetiteSyrahGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#CabernetSauvignonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
       </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Medoc"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#PauillacRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Muscadet">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Light">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
    </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#PinotBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
    </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#MuscadetRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
   </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Meursault">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#WhiteBurgundy"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#MeursaultRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>

    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Merlot">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
    </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:ForeignIndividual rdf:about="&descriptor;#Light">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#MerlotGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </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:ForeignIndividual rdf:about="&grape;#CabernetSauvignonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&grape;#CabernetFrancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&grape;#MalbecGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&grape;#PetiteVerdotGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               <owl:ForeignIndividual rdf:about="&grape;#MerlotGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">2</owl:minCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>

  <owl:Class rdf:ID="Medoc">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
    </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Bordeaux"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#MedocRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
     </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Margaux">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#MerlotGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Medoc"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#MargauxRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Loire">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#LoireRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Sweet">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
          </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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#ItalianRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="IceWine">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </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:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#GermanyRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#GamayGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
               </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
    </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="FrenchWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#FrenchRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </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:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#OffDry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">                   
 		<owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
     </owl:oneOf>
      </owl:Class>
     </owl:someValuesFrom>
     </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">   
                <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
         </owl:oneOf>
      </owl:Class>
     </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
   <rdfs:subClassOf>
      <owl:Restriction>
      <owl:onProperty rdf:resource="#hasFlavor"/>              
         <owl:someValuesFrom>
          <owl:Class>
              <owl:oneOf rdf:parseType="Collection">        
                <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
       </owl:oneOf>
      </owl:Class>
     </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
<rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Light">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </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:ForeignIndividual rdf:about="&descriptor;#OffDry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Sweet">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#RedBurgundy"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#CotesDOrRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
      </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Chianti">
    <rdfs:subClassOf rdf:resource="#ItalianWine"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#ChiantiRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
     </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#SangioveseGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
           </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
		</owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
       </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
       <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
		</owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Light">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
		</owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
		</owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#OffDry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#CheninBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
		</owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#White">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
		</owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
           </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:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#ChardonnayGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="CaliforniaWine">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#CaliforniaRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#TexasRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="CabernetSauvignon">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
        <owl:allValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
                <owl:ForeignIndividual rdf:about="&descriptor;#Full">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#CabernetSauvignonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#CabernetFrancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#BourgogneRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
   </owl:intersectionOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="Bordeaux">
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#BordeauxRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
   </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Beaujolais">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Red">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Light">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&grape;#GamayGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#madeFromGrape"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Wine"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#BeaujolaisRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>
  <owl:Class rdf:ID="Anjou">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasColor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Rose">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasBody"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Light">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasFlavor"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#Delicate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#hasSugar"/>
          <owl:someValuesFrom>
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
                <owl:ForeignIndividual rdf:about="&descriptor;#OffDry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
		   </owl:ForeignIndividual>
            </owl:oneOf>
          </owl:Class>
        </owl:someValuesFrom>
     </owl:Restriction>
    </rdfs:subClassOf>
    <owl:intersectionOf rdf:parseType="Collection">
      <owl:Class rdf:about="#Loire"/>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#AnjouRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#USRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
         </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="#producedIn"/>
		<owl:someValuesFrom>
		  <owl:Restriction>
			<owl:onProperty rdf:resource="&region;#locatedIn"/>
                     <owl:someValuesFrom>
                        <owl:Class>
                          <owl:oneOf rdf:parseType="Collection">
                             <owl:ForeignIndividual rdf:about="&region;#AlsaceRegion">
			              <owl:foreignOntology rdf:resource="&region;"/>
		                 </owl:ForeignIndividual>
                          </owl:oneOf>
                        </owl:Class>
                      </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
        </owl:Restriction>
    </owl:intersectionOf>
  </owl:Class>


<rdf:Description rdf:about="#BancroftChardonnay">
  <rdf:type>
    <owl:Class rdf:about="#Chardonnay"/>
 </rdf:type>
 <hasFlavor>
    <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
     </owl:ForeignIndividual>
</hasFlavor>
<hasMaker>
       <owl:ForeignIndividual rdf:about="&winery;#Bancroft">
			   <owl:foreignOntology rdf:resource="&winery;"/>
     </owl:ForeignIndividual>
</hasMaker>
<producedIn>
     <owl:ForeignIndividual rdf:about="&region;#NapaRegion">
			   <owl:foreignOntology rdf:resource="&region;"/>
     </owl:ForeignIndividual>
</producedIn>
<hasSugar>
      <owl:ForeignIndividual rdf:about="&descriptor;#Dry">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
     </owl:ForeignIndividual>
</hasSugar>
<hasBody>
     <owl:ForeignIndividual rdf:about="&descriptor;#Medium">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
     </owl:ForeignIndividual>
</hasBody> 
</rdf:Description>


<rdf:Description rdf:about="#ChateauChevalBlancStEmilion">
  <rdf:type>
    <owl:Class rdf:about="#StEmilion"/>
 </rdf:type>
  <hasMaker>
     <owl:ForeignIndividual rdf:about="&winery;#ChateauChevalBlanc">
			   <owl:foreignOntology rdf:resource="&winery;"/>
     </owl:ForeignIndividual>
  </hasMaker>       
</rdf:Description>


<rdf:Description rdf:about="#ChateauDYchemSauterne">
  <rdf:type>
    <owl:Class rdf:about="#Sauterne"/>
 </rdf:type>
<hasMaker>
      <owl:ForeignIndividual rdf:about="&winery;#ChateauDYchem">
			   <owl:foreignOntology rdf:resource="&winery;"/>
     </owl:ForeignIndividual>
</hasMaker>
<hasFlavor>
     <owl:ForeignIndividual rdf:about="&descriptor;#Strong">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
     </owl:ForeignIndividual>
</hasFlavor>
<madeFromGrape>
     <owl:ForeignIndividual rdf:about="&grape;#SemillonGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
     </owl:ForeignIndividual>
</madeFromGrape> 
<madeFromGrape>
     <owl:ForeignIndividual rdf:about="&grape;#SauvignonBlancGrape">
			   <owl:foreignOntology rdf:resource="&grape;"/>
     </owl:ForeignIndividual>
</madeFromGrape> 
 
</rdf:Description>

<rdf:Description rdf:about="#ChateauDeMeursaultMeursault">
  <rdf:type>
    <owl:Class rdf:about="#Meursault"/>
   </rdf:type>
 <hasMaker>
      <owl:ForeignIndividual rdf:about="&winery;#ChateauDeMeursault">
			   <owl:foreignOntology rdf:resource="&winery;"/>
     </owl:ForeignIndividual>
</hasMaker>
<hasFlavor>
     <owl:ForeignIndividual rdf:about="&descriptor;#Moderate">
			   <owl:foreignOntology rdf:resource="&descriptor;"/>
     </owl:ForeignIndividual>
</hasFlavor>
</rdf:Description>

<rdf:Description rdf:about="#ChateauLafiteRothschildPauillac">
  <rdf:type>
    <owl:Class rdf:about="#Pauillac"/>
  </rdf:type>
 <hasMaker>
      <owl:ForeignIndividual rdf:about="&winery;#ChateauLafiteRothschild">
			   <owl:foreignOntology rdf:resource="&winery;"/>
     </owl:ForeignIndividual>
</hasMaker>
</rdf:Description>





</rdf:RDF>
