- 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