- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Thu, 31 Oct 2002 21:16:46 -0500 (EST)
- To: www-webont-wg@w3.org
- Message-Id: <20021031.211646.40564607.pfps@research.bell-labs.com>
The ordering (or lack thereof) of the document makes it rather hard to read! :-( I only really looked at the first quarter or so of the document. peter
<?xml version="1.0"?>
<!DOCTYPE owl [
<!ENTITY vin "http://www.example.org/wine.owl#" >
<!ENTITY food "http://www.example.org/food.owl#" >
]>
<!-- PFPS xmlns:dte = "http://www.w3.org/@@/owl-ex-dt.xsd" was not used -->
<rdf:RDF
xmlns = "http://www.example.org/wine.owl#"
xmlns:vin = "http://www.example.org/wine.owl#"
xmlns:food= "http://www.example.org/food.owl#"
xmlns:owl = "http://www.w3.org/@@/owl#"
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd = "http://www.w3.org/2000/10/XMLSchema">
<owl:Ontology rdf:about="">
<rdfs:comment>
Derived from the DAML Wine ontology at
http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
Substantially changed, in particular the Region based relations.
</rdfs:comment>
</owl:Ontology>
<!-- PFPS I'm not sure about all the min/max/- cardinalities here. I guess
that they are what is wanted, but someone (not me) should make sure. -->
<owl:Class rdf:ID="Wine">
<rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasMaker" />
<owl:minCardinality>1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasMaker" />
<owl:allValuesFrom rdf:resource="#Winery" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:minCardinality>1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:minCardinality>1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:minCardinality>1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:minCardinality>1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasMaker" />
<owl:minCardinality>1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf rdf:resource="#Wine" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasVintageYear"/>
<owl:cardinality>1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Varietal">
<rdfs:subClassOf rdf:resource="&food;Grape" />
</owl:Class>
<!-- PFPS the sameClassAs that used to be here was wrong. Similar problems
occur elsewhere, I may not have caught them all. In general the OWL
keywords should have an uppercase/lowercase alternation. -->
<owl:Class rdf:ID="WhiteWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="WhiteTableWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#TableWine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="WhiteNonSweetWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#WhiteWine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Dry" />
<owl:Item rdf:resource="#OffDry" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="WhiteLoire">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Loire" />
<owl:Class rdf:about="#WhiteWine" />
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:about="#WhiteLoire">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#CheninBlancGrape" />
<owl:Item rdf:resource="#PinotBlancGrape" />
<owl:Item rdf:resource="#SauvignonBlancGrape" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="WhiteBurgundy">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Burgundy" />
<owl:Class rdf:about="#WhiteWine" />
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:about="#WhiteBurgundy">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#ChardonnayGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>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="#madeFromVarietal" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#SemillonGrape" />
<owl:Item rdf:resource="#SauvignonBlancGrape" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Region" />
<!-- PFPS the TransitiveProperty and other similar stuff was wrong. -->
<owl:ObjectProperty rdf:ID="locatedIn">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#TransitiveProperty" />
<rdfs:domain rdf:resource="http://www.w3.org/@@/owl#Thing" />
<rdfs:range rdf:resource="#Region" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="adjacentRegion">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#SymmetricProperty" />
<rdfs:domain rdf:resource="#Region" />
<rdfs:range rdf:resource="#Region" />
</owl:ObjectProperty>
<owl:Class rdf:ID="VintageYear" />
<!-- PFPS a range would be nice here, probably integer -->
<owl:DataTypeProperty rdf:ID="yearValue">
<rdfs:domain rdf:resource="#VintageYear" />
</owl:DataTypeProperty>
<!-- PFPS this is now closer to the RDF solution. -->
<VintageYear rdf:ID="Year1998">
<yearValue rdf:datatype="http://www.w3.org/2000/10/XMLSchema#integer">13</yearValue>
</VintageYear>
<owl:ObjectProperty rdf:ID="hasVintageYear">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
<rdfs:domain rdf:resource="#Vintage" />
<rdfs:range rdf:resource="#VintageYear" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="madeFromVarietal">
<rdfs:domain rdf:resource="#Wine" />
<rdfs:range rdf:resource="#Varietal" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="madeIntoWine">
<rdfs:inverseOf rdf:resource="#madeFromVarietal" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasWineDescriptor">
<rdfs:domain rdf:resource="#Wine" />
<rdfs:range rdf:resource="#WineDescriptor" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasSugar">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineSugar" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasBody">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineBody" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasFlavor">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineFlavor" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasColor">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:domain rdf:resource="#Wine" />
<rdfs:range rdf:resource="#WineColor" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="year">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
<rdfs:range rdf:resource="#Winery" />
<rdfs:domain rdf:resource="#Wine" />
</owl:ObjectProperty>
<!-- PFPS doman and range? -->
<owl:ObjectProperty rdf:ID="hasMaker">
<rdf:type rdf:resource="http://www.w3.org/@@/owl#FunctionalProperty" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasWines">
<owl:InverseOf rdf:resource="#hasMaker" />
</owl:ObjectProperty>
<owl:Class rdf:ID="Zinfandel">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#ZinfandelGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:about="#Zinfandel">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Full" />
<owl:Item rdf:resource="#Medium" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Winery" />
<!-- PFPS the rdfs:comment takes this out of OWL/DL.
I agree that it would be nice to allow such stuff in OWL/DL, expect
something on this soon. -->
<owl:Class rdf:ID="WineDescriptor">
<rdfs:comment>Made WineDescriptor unionType of tastes and color</rdfs:comment>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#WineTaste" />
<owl:Class rdf:about="#WineColor" />
</owl:unionOf>
</owl:Class>
<owl:Class rdf:ID="WineTaste">
<rdfs:subClassOf rdf:resource="#WineDescriptor" />
</owl:Class>
<owl:Class rdf:ID="WineColor">
<rdfs:subClassOf rdf:resource="#WineDescriptor" />
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#White" />
<owl:Item rdf:resource="#Rose" />
<owl:Item rdf:resource="#Red" />
</owl:oneOf>
</owl:Class>
<owl:Class rdf:ID="WineSugar">
<rdfs:subClassOf rdf:resource="#WineTaste" />
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Sweet" />
<owl:Item rdf:resource="#OffDry" />
<owl:Item rdf:resource="#Dry" />
</owl:oneOf>
</owl:Class>
<owl:Class rdf:ID="WineFlavor">
<rdfs:subClassOf rdf:resource="#WineTaste" />
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Delicate" />
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
<owl:Class rdf:ID="WineBody">
<rdfs:subClassOf rdf:resource="#WineTaste" />
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Light" />
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
<Region rdf:ID="UsRegion" />
<owl:Class rdf:ID="Tours">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Loire" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#ToursRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:about="#Tours">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#CheninBlancGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="TableWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="SweetWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Sweet" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="SweetRiesling">
<rdfs:subClassOf rdf:resource="#DessertWine" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Riesling" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Sweet" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="StEmilion">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Strong" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Bordeaux" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#stEmilionRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<!-- PFPS this should really be a unionOf
I think that this is a holdover from CLASSIC -->
<owl:Class rdf:ID="SemillonOrSauvignonBlanc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#SemillonGrape" />
<owl:Item rdf:resource="#SauvignonBlancGrape" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Semillon">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#SemillonOrSauvignonBlanc" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#SemillonGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>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="#madeFromVarietal" />
<owl:hasValue rdf:resource="#SauvignonBlancGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Sauterne">
<rdfs:subClassOf rdf:resource="#LateHarvest" />
<rdfs:subClassOf rdf:resource="#Bordeaux" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#SauterneRegion" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Sancerre">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#OffDry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#SauvignonBlancGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Loire" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#sancerreRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="RoseWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#rose" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Riesling">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#RieslingGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="RedWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="RedTableWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#TableWine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="RedBurgundy">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#PinotNoirGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>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="#madeFromVarietal" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#CabernetSauvignonGrape" />
<owl:Item rdf:resource="#MerlotGrape" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Bordeaux" />
<owl:Class rdf:about="#RedWine" />
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Port">
<rdfs:subClassOf rdf:resource="#RedWine" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#PortugalRegion" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Strong" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Sweet" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="PinotNoir">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#PinotNoirGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="PinotBlanc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#PinotBlancGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="PetiteSyrah">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#petiteSyrahGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Pauillac">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Strong" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Medoc" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#pauillacRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Muscadet">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Light" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#PinotBlancGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Loire" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#muscadetRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Meursault">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#WhiteBurgundy" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#meursaultRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Merlot">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Delicate" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Light" />
<owl:Item rdf:resource="#Medium" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#MerlotGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Meritage">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#CabernetSauvignonGrape" />
<owl:Item rdf:resource="#CabernetFrancGrape" />
<owl:Item rdf:resource="#MalbecGrape" />
<owl:Item rdf:resource="#PetiteVerdotGrape" />
<owl:Item rdf:resource="#MerlotGrape" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:minCardinality>
2
</owl:minCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<Region rdf:ID="MedocRegion">
<locatedIn rdf:resource="#BordeauxRegion" />
</Region>
<owl:Class rdf:ID="Medoc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Bordeaux" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#medocRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Margaux">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#MerlotGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Medoc" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#margauxRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<Region rdf:ID="LoireRegion">
<locatedIn rdf:resource="#FrenchRegion" />
</Region>
<owl:Class rdf:ID="Loire">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#LoireRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="LateHarvest">
<rdfs:subClassOf rdf:resource="#Wine" />
<owl:disjointWith rdf:resource="#EarlyHarvest" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Sweet" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="ItalianWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#ItalianRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<Region rdf:ID="ItalianRegion" />
<owl:Class rdf:ID="IceWine">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#LateHarvest" />
<owl:Class rdf:about="#DessertWine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="GermanWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#germanyRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Gamay">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#GamayGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="FullBodiedWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<Region rdf:ID="FrenchRegion" />
<owl:Class rdf:ID="FrenchWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#FrenchRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="EarlyHarvest">
<rdfs:subClassOf rdf:resource="#Wine" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Dry" />
<owl:Item rdf:resource="#OffDry" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="DryWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="DryWhiteWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#DryWine" />
<owl:Class rdf:about="#WhiteWine" />
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="DryRiesling">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Light" />
<owl:Item rdf:resource="#Medium" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Riesling" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="DryRedWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#DryWine" />
<owl:Class rdf:about="#RedWine" />
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="DessertWine">
<rdfs:subClassOf rdf:resource="#Wine" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#OffDry" />
<owl:Item rdf:resource="#Sweet" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="CotesDOr">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#RedBurgundy" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#cotesDOrRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Chianti">
<rdfs:subClassOf rdf:resource="#ItalianWine" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#ChiantiRegion" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#SangioveseGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Light" />
<owl:Item rdf:resource="#Medium" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="CheninBlanc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Full" />
<owl:Item rdf:resource="#Medium" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Dry" />
<owl:Item rdf:resource="#OffDry" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#CheninBlancGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Chardonnay">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Full" />
<owl:Item rdf:resource="#Medium" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Strong" />
<owl:Item rdf:resource="#Moderate" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#ChardonnayGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<Region rdf:ID="CaliforniaRegion">
<locatedIn rdf:resource="#UsRegion" />
</Region>
<Region rdf:ID="TexasRegion">
<locatedIn rdf:resource="#UsRegion" />
</Region>
<owl:Class rdf:ID="CaliforniaWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#CaliforniaRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="TexasWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#TexasRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="CabernetSauvignon">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Moderate" />
<owl:Item rdf:resource="#Strong" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Item rdf:resource="#Medium" />
<owl:Item rdf:resource="#Full" />
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="CabernetFranc">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#CabernetFrancGrape" />
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Burgundy">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#BourgogneRegion" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<Region rdf:ID="BourgogneRegion">
<locatedIn rdf:resource="#FrenchRegion" />
</Region>
<Region rdf:ID="BordeauxRegion">
<locatedIn rdf:resource="#FrenchRegion" />
</Region>
<owl:Class rdf:ID="Bordeaux">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#BordeauxRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="Beaujolais">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Light" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:hasValue rdf:resource="#GamayGrape" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#madeFromVarietal" />
<owl:maxCardinality>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#beaujolaisRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<Region rdf:ID="AustralianRegion" />
<owl:Class rdf:ID="Anjou">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasColor" />
<owl:hasValue rdf:resource="#Rose" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasBody" />
<owl:hasValue rdf:resource="#Light" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasSugar" />
<owl:hasValue rdf:resource="#OffDry" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Loire" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#anjouRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="AmericanWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#UsRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<owl:Class rdf:ID="AlsatianWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine" />
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#alsaceRegion" />
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
<WineBody rdf:ID="Full" />
<WineBody rdf:ID="Medium" />
<WineBody rdf:ID="Light" />
<WineColor rdf:ID="Red" />
<WineColor rdf:ID="Rose" />
<WineColor rdf:ID="White" />
<WineFlavor rdf:ID="Strong" />
<WineFlavor rdf:ID="Moderate" />
<WineFlavor rdf:ID="Delicate" />
<WineSugar rdf:ID="Dry" />
<WineSugar rdf:ID="OffDry">
<owl:differentIndividualFrom rdf:resource="#Dry"/>
<owl:differentIndividualFrom rdf:resource="#Sweet"/>
</WineSugar>
<WineSugar rdf:ID="Sweet">
<owl:differentIndividualFrom rdf:resource="#Dry"/>
</WineSugar>
<Region rdf:ID="AlsaceRegion">
<locatedIn rdf:resource="#FrenchRegion" />
</Region>
<Region rdf:ID="AnjouRegion">
<locatedIn rdf:resource="#LoireRegion" />
</Region>
<NonSweetFruit rdf:ID="Apples" />
<Region rdf:ID="ArroyoGrandeRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Winery rdf:ID="Beringer" />
<Winery rdf:ID="Bancroft" />
<Chardonnay rdf:ID="BancroftChardonnay">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#Bancroft" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Chardonnay>
<Region rdf:ID="BeaujolaisRegion">
<locatedIn rdf:resource="#FrenchRegion" />
</Region>
<Varietal rdf:ID="CabernetFrancGrape" />
<Varietal rdf:ID="CabernetSauvignonGrape" />
<Region rdf:ID="CentralCoastRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Varietal rdf:ID="ChardonnayGrape" />
<Winery rdf:ID="ChateauChevalBlanc" />
<StEmilion rdf:ID="ChateauChevalBlancStEmilion">
<hasMaker rdf:resource="#ChateauChevalBlanc" />
</StEmilion>
<Winery rdf:ID="ChateauDYchem" />
<Sauterne rdf:ID="ChateauDYchemSauterne">
<madeFromVarietal rdf:resource="#SauvignonBlancGrape" />
<madeFromVarietal rdf:resource="#SemillonGrape" />
<hasFlavor rdf:resource="#Strong" />
<hasMaker rdf:resource="#ChateauDYchem" />
</Sauterne>
<Winery rdf:ID="ChateauDeMeursault" />
<Meursault rdf:ID="ChateauDeMeursaultMeursault">
<hasFlavor rdf:resource="#Moderate" />
<hasMaker rdf:resource="#ChateauDeMeursault" />
</Meursault>
<Winery rdf:ID="ChateauLafiteRothschild" />
<Pauillac rdf:ID="ChateauLafiteRothschildPauillac">
<hasMaker rdf:resource="#ChateauLafiteRothschild" />
</Pauillac>
<Margaux rdf:ID="ChateauMargaux">
<hasMaker rdf:resource="#ChateauMargauxWinery" />
</Margaux>
<Winery rdf:ID="ChateauMargauxWinery" />
<Winery rdf:ID="ChateauMorgon" />
<Beaujolais rdf:ID="ChateauMorgonBeaujolais">
<hasMaker rdf:resource="#ChateauMorgon" />
</Beaujolais>
<Varietal rdf:ID="CheninBlancGrape" />
<Varietal rdf:ID="ZinfandelGrape" />
<Chianti rdf:ID="ChiantiClassico">
<hasBody rdf:resource="#Medium" />
<hasMaker rdf:resource="#McGuinnesso" />
</Chianti>
<Region rdf:ID="ChiantiRegion">
<locatedIn rdf:resource="#ItalianRegion" />
</Region>
<Winery rdf:ID="ClosDeLaPoussie" />
<Sancerre rdf:ID="ClosDeLaPoussieSancerre">
<hasMaker rdf:resource="#ClosDeLaPoussie" />
</Sancerre>
<Winery rdf:ID="ClosDeVougeot" />
<CotesDOr rdf:ID="ClosDeVougeotCotesDOr">
<hasMaker rdf:resource="#ClosDeVougeot" />
</CotesDOr>
<Winery rdf:ID="CongressSprings" />
<Semillon rdf:ID="CongressSpringsSemillon">
<hasMaker rdf:resource="#CongressSprings" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Semillon>
<Winery rdf:ID="Corbans" />
<Riesling rdf:ID="CorbansDryWhiteRiesling">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Corbans" />
<hasSugar rdf:resource="#OffDry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Riesling>
<SauvignonBlanc rdf:ID="CorbansPrivateBinSauvignonBlanc">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Corbans" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</SauvignonBlanc>
<SauvignonBlanc rdf:ID="CorbansSauvignonBlanc">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Corbans" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Medium" />
</SauvignonBlanc>
<Winery rdf:ID="CortonMontrachet" />
<WhiteBurgundy rdf:ID="CortonMontrachetWhiteBurgundy">
<hasMaker rdf:resource="#CortonMontrachet" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</WhiteBurgundy>
<Region rdf:ID="CotesDOrRegion">
<locatedIn rdf:resource="#BourgogneRegion" />
</Region>
<Winery rdf:ID="Cotturi" />
<Zinfandel rdf:ID="CotturiZinfandel">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#Cotturi" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</Zinfandel>
<Winery rdf:ID="DAnjou" />
<Region rdf:ID="EdnaValleyRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Winery rdf:ID="Elyse" />
<Zinfandel rdf:ID="ElyseZinfandel">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#Elyse" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Full" />
</Zinfandel>
<Winery rdf:ID="Forman" />
<CabernetSauvignon rdf:ID="FormanCabernetSauvignon">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#Forman" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Medium" />
</CabernetSauvignon>
<Chardonnay rdf:ID="FormanChardonnay">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#Forman" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Full" />
</Chardonnay>
<Winery rdf:ID="Foxen" />
<CheninBlanc rdf:ID="FoxenCheninBlanc">
<locatedIn rdf:resource="#SantaBarbaraRegion" />
<hasMaker rdf:resource="#Foxen" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Full" />
</CheninBlanc>
<Varietal rdf:ID="GamayGrape" />
<Winery rdf:ID="GaryFarrell" />
<Merlot rdf:ID="GaryFarrellMerlot">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#GaryFarrell" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Merlot>
<Region rdf:ID="GermanyRegion" />
<Winery rdf:ID="Handley" />
<Winery rdf:ID="KalinCellars" />
<Semillon rdf:ID="KalinCellarsSemillon">
<hasMaker rdf:resource="#KalinCellars" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</Semillon>
<Winery rdf:ID="KathrynKennedy" />
<Meritage rdf:ID="KathrynKennedyLateral">
<hasMaker rdf:resource="#KathrynKennedy" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Delicate" />
<hasBody rdf:resource="#Medium" />
</Meritage>
<Winery rdf:ID="LaneTanner" />
<PinotNoir rdf:ID="LaneTannerPinotNoir">
<locatedIn rdf:resource="#SantaBarbaraRegion" />
<hasMaker rdf:resource="#LaneTanner" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Delicate" />
<hasBody rdf:resource="#Light" />
</PinotNoir>
<Winery rdf:ID="Longridge" />
<Merlot rdf:ID="LongridgeMerlot">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Longridge" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Light" />
</Merlot>
<Varietal rdf:ID="MalbecGrape" />
<Region rdf:ID="MargauxRegion">
<locatedIn rdf:resource="#MedocRegion" />
</Region>
<Winery rdf:ID="Marietta" />
<CabernetSauvignon rdf:ID="MariettaCabernetSauvignon">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#Marietta" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</CabernetSauvignon>
<RedTableWine rdf:ID="MariettaOldVinesRed">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#Marietta" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</RedTableWine>
<PetiteSyrah rdf:ID="MariettaPetiteSyrah">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#Marietta" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</PetiteSyrah>
<Zinfandel rdf:ID="MariettaZinfandel">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#Marietta" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Zinfandel>
<Winery rdf:ID="McGuinnesso" />
<Region rdf:ID="MendocinoRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
<adjacentRegion rdf:resource="#SonomaRegion" />
</Region>
<Varietal rdf:ID="MerlotGrape" />
<Region rdf:ID="MeursaultRegion">
<locatedIn rdf:resource="#BourgogneRegion" />
</Region>
<Winery rdf:ID="MountEdenVineyard" />
<Chardonnay rdf:ID="MountEdenVineyardEdnaValleyChardonnay">
<locatedIn rdf:resource="#EdnaValleyRegion" />
<hasMaker rdf:resource="#MountEdenVineyard" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Chardonnay>
<PinotNoir rdf:ID="MountEdenVineyardEstatePinotNoir">
<locatedIn rdf:resource="#EdnaValleyRegion" />
<hasMaker rdf:resource="#MountEdenVineyard" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</PinotNoir>
<Winery rdf:ID="Mountadam" />
<Chardonnay rdf:ID="MountadamChardonnay">
<locatedIn rdf:resource="#SouthAustraliaRegion" />
<hasMaker rdf:resource="#Mountadam" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</Chardonnay>
<PinotNoir rdf:ID="MountadamPinotNoir">
<locatedIn rdf:resource="#SouthAustraliaRegion" />
<hasMaker rdf:resource="#Mountadam" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</PinotNoir>
<DryRiesling rdf:ID="MountadamRiesling">
<locatedIn rdf:resource="#SouthAustraliaRegion" />
<hasMaker rdf:resource="#Mountadam" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Delicate" />
<hasBody rdf:resource="#Medium" />
</DryRiesling>
<Region rdf:ID="MuscadetRegion">
<locatedIn rdf:resource="#LoireRegion" />
</Region>
<Region rdf:ID="NapaRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Region rdf:ID="NewZealandRegion" />
<Winery rdf:ID="PageMillWinery" />
<CabernetSauvignon rdf:ID="PageMillWineryCabernetSauvignon">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#PageMillWinery" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</CabernetSauvignon>
<Region rdf:ID="PauillacRegion">
<locatedIn rdf:resource="#MedocRegion" />
</Region>
<Winery rdf:ID="PeterMccoy" />
<Chardonnay rdf:ID="PeterMccoyChardonnay">
<locatedIn rdf:resource="#SonomaRegion" />
<hasMaker rdf:resource="#PeterMccoy" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Chardonnay>
<Varietal rdf:ID="PetiteSyrahGrape" />
<Varietal rdf:ID="PetiteVerdotGrape" />
<Varietal rdf:ID="PinotBlancGrape" />
<Varietal rdf:ID="PinotNoirGrape" />
<Region rdf:ID="PortugalRegion" />
<Winery rdf:ID="PulignyMontrachet" />
<WhiteBurgundy rdf:ID="PulignyMontrachetWhiteBurgundy">
<hasMaker rdf:resource="#PulignyMontrachet" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</WhiteBurgundy>
<Varietal rdf:ID="RieslingGrape" />
<Anjou rdf:ID="RoseDAnjou">
<hasMaker rdf:resource="#DAnjou" />
</Anjou>
<Region rdf:ID="SancerreRegion">
<locatedIn rdf:resource="#LoireRegion" />
</Region>
<Varietal rdf:ID="SangioveseGrape" />
<Region rdf:ID="SantaBarbaraRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Winery rdf:ID="SantaCruzMountainVineyard" />
<CabernetSauvignon rdf:ID="SantaCruzMountainVineyardCabernetSauvignon">
<locatedIn rdf:resource="#SantaCruzMountainsRegion" />
<hasMaker rdf:resource="#SantaCruzMountainVineyard" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</CabernetSauvignon>
<Region rdf:ID="CentralTexasRegion">
<locatedIn rdf:resource="#TexasRegion" />
</Region>
<Winery rdf:ID="StGenevieve" />
<WhiteWine rdf:ID="StGenevieveTexasWhite">
<locatedIn rdf:resource="#CentralTexasRegion" />
<hasMaker rdf:resource="#StGenevieve" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
</WhiteWine>
<Region rdf:ID="SantaCruzMountainsRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Winery rdf:ID="SaucelitoCanyon" />
<Zinfandel rdf:ID="SaucelitoCanyonZinfandel">
<locatedIn rdf:resource="#ArroyoGrandeRegion" />
<hasMaker rdf:resource="#SaucelitoCanyon" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Zinfandel>
<Zinfandel rdf:ID="SaucelitoCanyonZinfandel1998">
<locatedIn rdf:resource="#ArroyoGrandeRegion" />
<hasVintageYear rdf:resource="#Year1998" />
<hasMaker rdf:resource="#SaucelitoCanyon" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</Zinfandel>
<Region rdf:ID="SauterneRegion">
<locatedIn rdf:resource="#BordeauxRegion" />
</Region>
<Varietal rdf:ID="SauvignonBlancGrape" />
<Winery rdf:ID="SchlossRothermel" />
<SweetRiesling rdf:ID="SchlossRothermelTrochenbierenausleseRiesling">
<locatedIn rdf:resource="#GermanyRegion" />
<hasMaker rdf:resource="#SchlossRothermel" />
<hasSugar rdf:resource="#Sweet" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</SweetRiesling>
<Winery rdf:ID="SchlossVolrad" />
<SweetRiesling rdf:ID="SchlossVolradTrochenbierenausleseRiesling">
<locatedIn rdf:resource ="#GermanyRegion" />
<hasMaker rdf:resource="#SchlossVolrad" />
<hasSugar rdf:resource="#Sweet" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Full" />
</SweetRiesling>
<Winery rdf:ID="SeanThackrey" />
<PetiteSyrah rdf:ID="SeanThackreySiriusPetiteSyrah">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#SeanThackrey" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Strong" />
<hasBody rdf:resource="#Full" />
</PetiteSyrah>
<Winery rdf:ID="Selaks" />
<IceWine rdf:ID="SelaksIceWine">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Selaks" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
<color rdf:resource="#White" />
</IceWine>
<SauvignonBlanc rdf:ID="SelaksSauvignonBlanc">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Selaks" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</SauvignonBlanc>
<Varietal rdf:ID="SemillonGrape" />
<Winery rdf:ID="SevreEtMaine" />
<Muscadet rdf:ID="SevreEtMaineMuscadet">
<hasMaker rdf:resource="#SevreEtMaine" />
</Muscadet>
<Region rdf:ID="SonomaRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
</Region>
<Region rdf:ID="SouthAustraliaRegion">
<locatedIn rdf:resource="#AustralianRegion" />
</Region>
<Region rdf:ID="StEmilionRegion">
<locatedIn rdf:resource="#BordeauxRegion" />
</Region>
<Winery rdf:ID="Stonleigh" />
<SauvignonBlanc rdf:ID="StonleighSauvignonBlanc">
<locatedIn rdf:resource="#NewZealandRegion" />
<hasMaker rdf:resource="#Stonleigh" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Delicate" />
<hasBody rdf:resource="#Medium" />
</SauvignonBlanc>
<Winery rdf:ID="Taylor" />
<Port rdf:ID="TaylorPort">
<hasMaker rdf:resource="#Taylor" />
</Port>
<Region rdf:ID="ToursRegion">
<locatedIn rdf:resource="#LoireRegion" />
</Region>
<Winery rdf:ID="Ventana" />
<CheninBlanc rdf:ID="VentanaCheninBlanc">
<locatedIn rdf:resource="#CentralCoastRegion" />
<hasMaker rdf:resource="#Ventana" />
<hasSugar rdf:resource="#OffDry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</CheninBlanc>
<Winery rdf:ID="WhitehallLane" />
<CabernetFranc rdf:ID="WhitehallLaneCabernetFranc">
<locatedIn rdf:resource="#NapaRegion" />
<hasMaker rdf:resource="#WhitehallLane" />
<hasSugar rdf:resource="#Dry" />
<hasFlavor rdf:resource="#Moderate" />
<hasBody rdf:resource="#Medium" />
</CabernetFranc>
<DessertWine rdf:ID="WhitehallLanePrimavera">
<locatedIn rdf:resource="#NapaRegion" />
<hasSugar rdf:resource="#Sweet" />
<hasFlavor rdf:resource="#Delicate" />
<hasBody rdf:resource="#Light" />
</DessertWine>
</rdf:RDF>
Received on Thursday, 31 October 2002 21:16:57 UTC