summaryrefslogtreecommitdiffstats
path: root/tests/rdfxml/wine.rdf
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rdfxml/wine.rdf')
-rw-r--r--tests/rdfxml/wine.rdf2402
1 files changed, 2402 insertions, 0 deletions
diff --git a/tests/rdfxml/wine.rdf b/tests/rdfxml/wine.rdf
new file mode 100644
index 0000000..91c0f5d
--- /dev/null
+++ b/tests/rdfxml/wine.rdf
@@ -0,0 +1,2402 @@
+<?xml version="1.0"?>
+<!DOCTYPE rdf:RDF [
+ <!ENTITY vin "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#" >
+ <!ENTITY food "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#" >
+ <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
+ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
+ ]>
+
+<rdf:RDF
+ xmlns = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#"
+ xmlns:vin = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#"
+ xml:base = "http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#"
+ xmlns:food= "http://www.w3.org/TR/2003/CR-owl-guide-20030818/food#"
+ xmlns:owl = "http://www.w3.org/2002/07/owl#"
+ xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:xsd = "http://www.w3.org/2001/XMLSchema#">
+
+ <owl:Ontology rdf:about="">
+ <rdfs:comment>An example OWL ontology</rdfs:comment>
+ <owl:priorVersion>
+ <owl:Ontology rdf:about="http://www.w3.org/TR/2003/WD-owl-guide-20030331/wine"/>
+ </owl:priorVersion>
+ <owl:imports rdf:resource="http://www.w3.org/TR/2003/CR-owl-guide-20030818/food"/>
+ <rdfs:comment>Derived from the DAML Wine ontology at
+ http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
+ Substantially changed, in particular the Region based relations.
+ </rdfs:comment>
+ <rdfs:label>Wine Ontology</rdfs:label>
+ </owl:Ontology>
+
+ <owl:Class rdf:ID="Wine">
+ <rdfs:subClassOf rdf:resource="&food;PotableLiquid" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasMaker" />
+ <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasMaker" />
+ <owl:allValuesFrom rdf:resource="#Winery" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn"/>
+ <owl:someValuesFrom rdf:resource="&vin;Region"/>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:label xml:lang="en">wine</rdfs:label>
+ <rdfs:label xml:lang="fr">vin</rdfs:label>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Vintage">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasVintageYear"/>
+ <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WineGrape">
+ <rdfs:subClassOf rdf:resource="&food;Grape" />
+ </owl:Class>
+
+ <owl:Class rdf:ID="WhiteWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WhiteTableWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#TableWine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WhiteNonSweetWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#WhiteWine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Dry" />
+ <owl:Thing rdf:about="#OffDry" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WhiteLoire">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Loire" />
+ <owl:Class rdf:about="#WhiteWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:about="#WhiteLoire">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#CheninBlancGrape" />
+ <owl:Thing rdf:about="#PinotBlancGrape" />
+ <owl:Thing rdf:about="#SauvignonBlancGrape" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WhiteBurgundy">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Burgundy" />
+ <owl:Class rdf:about="#WhiteWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:about="#WhiteBurgundy">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#ChardonnayGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WhiteBordeaux">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Bordeaux" />
+ <owl:Class rdf:about="#WhiteWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:about="#WhiteBordeaux">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#SemillonGrape" />
+ <owl:Thing rdf:about="#SauvignonBlancGrape" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Region" />
+
+ <owl:ObjectProperty rdf:ID="locatedIn">
+ <rdf:type rdf:resource="&owl;TransitiveProperty" />
+ <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
+ <rdfs:range rdf:resource="#Region" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="adjacentRegion">
+ <rdf:type rdf:resource="&owl;SymmetricProperty" />
+ <rdfs:domain rdf:resource="#Region" />
+ <rdfs:range rdf:resource="#Region" />
+ </owl:ObjectProperty>
+
+ <owl:Class rdf:ID="VintageYear" />
+
+ <owl:DatatypeProperty rdf:ID="yearValue">
+ <rdfs:domain rdf:resource="#VintageYear" />
+ <rdfs:range rdf:resource="&xsd;positiveInteger" />
+ </owl:DatatypeProperty>
+
+ <VintageYear rdf:ID="Year1998">
+ <yearValue rdf:datatype="&xsd;positiveInteger">1998</yearValue>
+ </VintageYear>
+
+ <owl:ObjectProperty rdf:ID="hasVintageYear">
+ <rdf:type rdf:resource="&owl;FunctionalProperty" />
+ <rdfs:domain rdf:resource="#Vintage" />
+ <rdfs:range rdf:resource="#VintageYear" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="madeFromGrape">
+ <rdfs:subPropertyOf rdf:resource="&food;madeFromFruit" />
+ <rdfs:domain rdf:resource="#Wine" />
+ <rdfs:range rdf:resource="#WineGrape" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="madeIntoWine">
+ <owl:inverseOf rdf:resource="#madeFromGrape" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="hasWineDescriptor">
+ <rdfs:domain rdf:resource="#Wine" />
+ <rdfs:range rdf:resource="#WineDescriptor" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="hasSugar">
+ <rdf:type rdf:resource="&owl;FunctionalProperty" />
+ <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
+ <rdfs:range rdf:resource="#WineSugar" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="hasBody">
+ <rdf:type rdf:resource="&owl;FunctionalProperty" />
+ <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
+ <rdfs:range rdf:resource="#WineBody" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="hasFlavor">
+ <rdf:type rdf:resource="&owl;FunctionalProperty" />
+ <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
+ <rdfs:range rdf:resource="#WineFlavor" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="hasColor">
+ <rdf:type rdf:resource="&owl;FunctionalProperty" />
+ <rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
+ <rdfs:domain rdf:resource="#Wine" />
+ <rdfs:range rdf:resource="#WineColor" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="hasMaker">
+ <rdf:type rdf:resource="&owl;FunctionalProperty" />
+ </owl:ObjectProperty>
+
+ <owl:ObjectProperty rdf:ID="producesWine">
+ <owl:inverseOf rdf:resource="#hasMaker" />
+ </owl:ObjectProperty>
+
+ <owl:Class rdf:ID="Zinfandel">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#ZinfandelGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:about="#Zinfandel">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Full" />
+ <owl:Thing rdf:about="#Medium" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Winery" />
+
+ <owl:Class rdf:ID="WineDescriptor">
+ <rdfs:comment>Made WineDescriptor unionType of tastes and color</rdfs:comment>
+ <owl:unionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#WineTaste" />
+ <owl:Class rdf:about="#WineColor" />
+ </owl:unionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WineTaste">
+ <rdfs:subClassOf rdf:resource="#WineDescriptor" />
+ </owl:Class>
+
+ <owl:Class rdf:ID="WineColor">
+ <rdfs:subClassOf rdf:resource="#WineDescriptor" />
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#White" />
+ <owl:Thing rdf:about="#Rose" />
+ <owl:Thing rdf:about="#Red" />
+ </owl:oneOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WineSugar">
+ <rdfs:subClassOf rdf:resource="#WineTaste" />
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Sweet" />
+ <owl:Thing rdf:about="#OffDry" />
+ <owl:Thing rdf:about="#Dry" />
+ </owl:oneOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WineFlavor">
+ <rdfs:subClassOf rdf:resource="#WineTaste" />
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Delicate" />
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="WineBody">
+ <rdfs:subClassOf rdf:resource="#WineTaste" />
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Light" />
+ <owl:Thing rdf:about="#Medium" />
+ <owl:Thing rdf:about="#Full" />
+ </owl:oneOf>
+ </owl:Class>
+
+ <Region rdf:ID="USRegion" />
+
+ <owl:Class rdf:ID="Tours">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Loire" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#ToursRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:about="#Tours">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#CheninBlancGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="TableWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="SweetWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Sweet" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="SweetRiesling">
+ <rdfs:subClassOf rdf:resource="#DessertWine" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Full" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Riesling" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Sweet" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="StEmilion">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Strong" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Bordeaux" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#StEmilionRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="SemillonOrSauvignonBlanc">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Medium" />
+ <owl:Thing rdf:about="#Full" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#SemillonGrape" />
+ <owl:Thing rdf:about="#SauvignonBlancGrape" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Semillon">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#SemillonOrSauvignonBlanc" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#SemillonGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="SauvignonBlanc">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#SemillonOrSauvignonBlanc" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#SauvignonBlancGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Sauterne">
+ <rdfs:subClassOf rdf:resource="#LateHarvest" />
+ <rdfs:subClassOf rdf:resource="#Bordeaux" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#SauterneRegion" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Medium" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Sancerre">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Medium" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#OffDry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Delicate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#SauvignonBlancGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Loire" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#SancerreRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="RoseWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Rose" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Riesling">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#RieslingGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="RedWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="RedTableWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#TableWine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="RedBurgundy">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#PinotNoirGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Burgundy" />
+ <owl:Class rdf:about="#RedWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="RedBordeaux">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#CabernetSauvignonGrape" />
+ <owl:Thing rdf:about="#MerlotGrape" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Bordeaux" />
+ <owl:Class rdf:about="#RedWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Port">
+ <rdfs:subClassOf rdf:resource="#RedWine" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#PortugalRegion" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Full" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Strong" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Sweet" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="PinotNoir">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#PinotNoirGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="PinotBlanc">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#PinotBlancGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="PetiteSyrah">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Medium" />
+ <owl:Thing rdf:about="#Full" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#PetiteSyrahGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Pauillac">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Full" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Strong" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Medoc" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#PauillacRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Muscadet">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Light" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Delicate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#PinotBlancGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Loire" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#MuscadetRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Meursault">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Full" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#WhiteBurgundy" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#MeursaultRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Merlot">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Delicate" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Light" />
+ <owl:Thing rdf:about="#Medium" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#MerlotGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Meritage">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#CabernetSauvignonGrape" />
+ <owl:Thing rdf:about="#CabernetFrancGrape" />
+ <owl:Thing rdf:about="#MalbecGrape" />
+ <owl:Thing rdf:about="#PetiteVerdotGrape" />
+ <owl:Thing rdf:about="#MerlotGrape" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <Region rdf:ID="MedocRegion">
+ <locatedIn rdf:resource="#BordeauxRegion" />
+ </Region>
+
+ <owl:Class rdf:ID="Medoc">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Bordeaux" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#MedocRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Margaux">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Delicate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#MerlotGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Medoc" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#MargauxRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <Region rdf:ID="LoireRegion">
+ <locatedIn rdf:resource="#FrenchRegion" />
+ </Region>
+
+ <owl:Class rdf:ID="Loire">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#LoireRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="LateHarvest">
+ <rdfs:subClassOf rdf:resource="#Wine" />
+ <owl:disjointWith rdf:resource="#EarlyHarvest" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Sweet" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="ItalianWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#ItalianRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <Region rdf:ID="ItalianRegion" />
+
+ <owl:Class rdf:ID="IceWine">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Medium" />
+ <owl:Thing rdf:about="#Full" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#LateHarvest" />
+ <owl:Class rdf:about="#DessertWine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="GermanWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#GermanyRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Gamay">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#GamayGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="FullBodiedWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Full" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <Region rdf:ID="FrenchRegion" />
+
+ <owl:Class rdf:ID="FrenchWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#FrenchRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="EarlyHarvest">
+ <rdfs:subClassOf rdf:resource="#Wine" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Dry" />
+ <owl:Thing rdf:about="#OffDry" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="DryWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="DryWhiteWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#DryWine" />
+ <owl:Class rdf:about="#WhiteWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="DryRiesling">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Delicate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Light" />
+ <owl:Thing rdf:about="#Medium" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Riesling" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="DryRedWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#DryWine" />
+ <owl:Class rdf:about="#RedWine" />
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="DessertWine">
+ <rdfs:subClassOf rdf:resource="#Wine" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#OffDry" />
+ <owl:Thing rdf:about="#Sweet" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="CotesDOr">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Moderate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#RedBurgundy" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#CotesDOrRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Chianti">
+ <rdfs:subClassOf rdf:resource="#ItalianWine" />
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#ChiantiRegion" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#SangioveseGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Moderate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Light" />
+ <owl:Thing rdf:about="#Medium" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="CheninBlanc">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Moderate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Full" />
+ <owl:Thing rdf:about="#Medium" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Dry" />
+ <owl:Thing rdf:about="#OffDry" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#CheninBlancGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Chardonnay">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#White" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Full" />
+ <owl:Thing rdf:about="#Medium" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Strong" />
+ <owl:Thing rdf:about="#Moderate" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#ChardonnayGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <Region rdf:ID="CaliforniaRegion">
+ <locatedIn rdf:resource="#USRegion" />
+ </Region>
+
+ <Region rdf:ID="TexasRegion">
+ <locatedIn rdf:resource="#USRegion" />
+ </Region>
+
+ <owl:Class rdf:ID="CaliforniaWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#CaliforniaRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="TexasWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#TexasRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="CabernetSauvignon">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Moderate" />
+ <owl:Thing rdf:about="#Strong" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:allValuesFrom>
+ <owl:Class>
+ <owl:oneOf rdf:parseType="Collection">
+ <owl:Thing rdf:about="#Medium" />
+ <owl:Thing rdf:about="#Full" />
+ </owl:oneOf>
+ </owl:Class>
+ </owl:allValuesFrom>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#CabernetSauvignonGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="CabernetFranc">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Moderate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Medium" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#CabernetFrancGrape" />
+ </owl:Restriction>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Burgundy">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#BourgogneRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ </owl:Class>
+
+ <Region rdf:ID="BourgogneRegion">
+ <locatedIn rdf:resource="#FrenchRegion" />
+ </Region>
+
+ <Region rdf:ID="BordeauxRegion">
+ <locatedIn rdf:resource="#FrenchRegion" />
+ </Region>
+
+ <owl:Class rdf:ID="Bordeaux">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#BordeauxRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="Beaujolais">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Red" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Light" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#Dry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Delicate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:hasValue rdf:resource="#GamayGrape" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#madeFromGrape" />
+ <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality>
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#BeaujolaisRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <Region rdf:ID="AustralianRegion" />
+
+ <owl:Class rdf:ID="Anjou">
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasColor" />
+ <owl:hasValue rdf:resource="#Rose" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasBody" />
+ <owl:hasValue rdf:resource="#Light" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasFlavor" />
+ <owl:hasValue rdf:resource="#Delicate" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <rdfs:subClassOf>
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#hasSugar" />
+ <owl:hasValue rdf:resource="#OffDry" />
+ </owl:Restriction>
+ </rdfs:subClassOf>
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Loire" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#AnjouRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="AmericanWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#USRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <owl:Class rdf:ID="AlsatianWine">
+ <owl:intersectionOf rdf:parseType="Collection">
+ <owl:Class rdf:about="#Wine" />
+ <owl:Restriction>
+ <owl:onProperty rdf:resource="#locatedIn" />
+ <owl:hasValue rdf:resource="#AlsaceRegion" />
+ </owl:Restriction>
+ </owl:intersectionOf>
+ </owl:Class>
+
+ <WineBody rdf:ID="Full" />
+
+ <WineBody rdf:ID="Medium" />
+
+ <WineBody rdf:ID="Light" />
+
+ <WineColor rdf:ID="Red" />
+
+ <WineColor rdf:ID="Rose" />
+
+ <WineColor rdf:ID="White" />
+
+ <WineFlavor rdf:ID="Strong" />
+
+ <WineFlavor rdf:ID="Moderate" />
+
+ <WineFlavor rdf:ID="Delicate" />
+
+ <WineSugar rdf:ID="Dry" />
+
+ <WineSugar rdf:ID="OffDry">
+ <owl:differentFrom rdf:resource="#Dry"/>
+ <owl:differentFrom rdf:resource="#Sweet"/>
+ </WineSugar>
+
+ <WineSugar rdf:ID="Sweet">
+ <owl:differentFrom rdf:resource="#Dry"/>
+ </WineSugar>
+
+ <owl:AllDifferent>
+ <owl:distinctMembers rdf:parseType="Collection">
+ <vin:WineColor rdf:about="#Red" />
+ <vin:WineColor rdf:about="#White" />
+ <vin:WineColor rdf:about="#Rose" />
+ </owl:distinctMembers>
+ </owl:AllDifferent>
+
+ <owl:AllDifferent>
+ <owl:distinctMembers rdf:parseType="Collection">
+ <vin:WineBody rdf:about="#Light" />
+ <vin:WineBody rdf:about="#Medium" />
+ <vin:WineBody rdf:about="#Full" />
+ </owl:distinctMembers>
+ </owl:AllDifferent>
+
+ <owl:AllDifferent>
+ <owl:distinctMembers rdf:parseType="Collection">
+ <vin:WineFlavor rdf:about="#Delicate" />
+ <vin:WineFlavor rdf:about="#Moderate" />
+ <vin:WineFlavor rdf:about="#Strong" />
+ </owl:distinctMembers>
+ </owl:AllDifferent>
+
+ <owl:AllDifferent>
+ <owl:distinctMembers rdf:parseType="Collection">
+ <vin:WineSugar rdf:about="#Sweet" />
+ <vin:WineSugar rdf:about="#OffDry" />
+ <vin:WineSugar rdf:about="#Dry" />
+ </owl:distinctMembers>
+ </owl:AllDifferent>
+
+ <Region rdf:ID="AlsaceRegion">
+ <locatedIn rdf:resource="#FrenchRegion" />
+ </Region>
+
+ <Region rdf:ID="AnjouRegion">
+ <locatedIn rdf:resource="#LoireRegion" />
+ </Region>
+
+ <Region rdf:ID="ArroyoGrandeRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <Winery rdf:ID="Beringer" />
+
+ <Winery rdf:ID="Bancroft" />
+
+ <Chardonnay rdf:ID="BancroftChardonnay">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#Bancroft" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Chardonnay>
+
+ <Region rdf:ID="BeaujolaisRegion">
+ <locatedIn rdf:resource="#FrenchRegion" />
+ </Region>
+
+ <WineGrape rdf:ID="CabernetFrancGrape" />
+
+ <WineGrape rdf:ID="CabernetSauvignonGrape" />
+
+ <Region rdf:ID="CentralCoastRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <WineGrape rdf:ID="ChardonnayGrape" />
+
+ <Winery rdf:ID="ChateauChevalBlanc" />
+
+ <StEmilion rdf:ID="ChateauChevalBlancStEmilion">
+ <hasMaker rdf:resource="#ChateauChevalBlanc" />
+ </StEmilion>
+
+ <Winery rdf:ID="ChateauDYchem" />
+
+ <Sauterne rdf:ID="ChateauDYchemSauterne">
+ <madeFromGrape rdf:resource="#SauvignonBlancGrape" />
+ <madeFromGrape rdf:resource="#SemillonGrape" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasMaker rdf:resource="#ChateauDYchem" />
+ </Sauterne>
+
+ <Winery rdf:ID="ChateauDeMeursault" />
+
+ <Meursault rdf:ID="ChateauDeMeursaultMeursault">
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasMaker rdf:resource="#ChateauDeMeursault" />
+ </Meursault>
+
+ <Winery rdf:ID="ChateauLafiteRothschild" />
+
+ <Pauillac rdf:ID="ChateauLafiteRothschildPauillac">
+ <hasMaker rdf:resource="#ChateauLafiteRothschild" />
+ </Pauillac>
+
+ <Margaux rdf:ID="ChateauMargaux">
+ <hasMaker rdf:resource="#ChateauMargauxWinery" />
+ </Margaux>
+
+ <Winery rdf:ID="ChateauMargauxWinery" />
+
+ <Winery rdf:ID="ChateauMorgon" />
+
+ <Beaujolais rdf:ID="ChateauMorgonBeaujolais">
+ <hasMaker rdf:resource="#ChateauMorgon" />
+ </Beaujolais>
+
+ <WineGrape rdf:ID="CheninBlancGrape" />
+
+ <WineGrape rdf:ID="ZinfandelGrape" />
+
+ <Chianti rdf:ID="ChiantiClassico">
+ <hasBody rdf:resource="#Medium" />
+ <hasMaker rdf:resource="#McGuinnesso" />
+ </Chianti>
+
+ <Region rdf:ID="ChiantiRegion">
+ <locatedIn rdf:resource="#ItalianRegion" />
+ </Region>
+
+ <Winery rdf:ID="ClosDeLaPoussie" />
+
+ <Sancerre rdf:ID="ClosDeLaPoussieSancerre">
+ <hasMaker rdf:resource="#ClosDeLaPoussie" />
+ </Sancerre>
+
+ <Winery rdf:ID="ClosDeVougeot" />
+
+ <CotesDOr rdf:ID="ClosDeVougeotCotesDOr">
+ <hasMaker rdf:resource="#ClosDeVougeot" />
+ </CotesDOr>
+
+ <Winery rdf:ID="CongressSprings" />
+
+ <Semillon rdf:ID="CongressSpringsSemillon">
+ <hasMaker rdf:resource="#CongressSprings" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Semillon>
+
+ <Winery rdf:ID="Corbans" />
+
+ <Riesling rdf:ID="CorbansDryWhiteRiesling">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Corbans" />
+ <hasSugar rdf:resource="#OffDry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Riesling>
+
+ <SauvignonBlanc rdf:ID="CorbansPrivateBinSauvignonBlanc">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Corbans" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </SauvignonBlanc>
+
+ <SauvignonBlanc rdf:ID="CorbansSauvignonBlanc">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Corbans" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Medium" />
+ </SauvignonBlanc>
+
+ <Winery rdf:ID="CortonMontrachet" />
+
+ <WhiteBurgundy rdf:ID="CortonMontrachetWhiteBurgundy">
+ <hasMaker rdf:resource="#CortonMontrachet" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </WhiteBurgundy>
+
+ <Region rdf:ID="CotesDOrRegion">
+ <locatedIn rdf:resource="#BourgogneRegion" />
+ </Region>
+
+ <Winery rdf:ID="Cotturi" />
+
+ <Zinfandel rdf:ID="CotturiZinfandel">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#Cotturi" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </Zinfandel>
+
+ <Winery rdf:ID="DAnjou" />
+
+ <Region rdf:ID="EdnaValleyRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <Winery rdf:ID="Elyse" />
+
+ <Zinfandel rdf:ID="ElyseZinfandel">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#Elyse" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Full" />
+ </Zinfandel>
+
+ <Winery rdf:ID="Forman" />
+
+ <CabernetSauvignon rdf:ID="FormanCabernetSauvignon">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#Forman" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Medium" />
+ </CabernetSauvignon>
+
+ <Chardonnay rdf:ID="FormanChardonnay">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#Forman" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Full" />
+ </Chardonnay>
+
+ <Winery rdf:ID="Foxen" />
+
+ <CheninBlanc rdf:ID="FoxenCheninBlanc">
+ <locatedIn rdf:resource="#SantaBarbaraRegion" />
+ <hasMaker rdf:resource="#Foxen" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Full" />
+ </CheninBlanc>
+
+ <WineGrape rdf:ID="GamayGrape" />
+
+ <Winery rdf:ID="GaryFarrell" />
+
+ <Merlot rdf:ID="GaryFarrellMerlot">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#GaryFarrell" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Merlot>
+
+ <Region rdf:ID="GermanyRegion" />
+
+ <Winery rdf:ID="Handley" />
+
+ <Winery rdf:ID="KalinCellars" />
+
+ <Semillon rdf:ID="KalinCellarsSemillon">
+ <hasMaker rdf:resource="#KalinCellars" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </Semillon>
+
+ <Winery rdf:ID="KathrynKennedy" />
+
+ <Meritage rdf:ID="KathrynKennedyLateral">
+ <hasMaker rdf:resource="#KathrynKennedy" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Delicate" />
+ <hasBody rdf:resource="#Medium" />
+ </Meritage>
+
+ <Winery rdf:ID="LaneTanner" />
+
+ <PinotNoir rdf:ID="LaneTannerPinotNoir">
+ <locatedIn rdf:resource="#SantaBarbaraRegion" />
+ <hasMaker rdf:resource="#LaneTanner" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Delicate" />
+ <hasBody rdf:resource="#Light" />
+ </PinotNoir>
+
+ <Winery rdf:ID="Longridge" />
+
+ <Merlot rdf:ID="LongridgeMerlot">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Longridge" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Light" />
+ </Merlot>
+
+ <WineGrape rdf:ID="MalbecGrape" />
+
+ <Region rdf:ID="MargauxRegion">
+ <locatedIn rdf:resource="#MedocRegion" />
+ </Region>
+
+ <Winery rdf:ID="Marietta" />
+
+ <CabernetSauvignon rdf:ID="MariettaCabernetSauvignon">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#Marietta" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </CabernetSauvignon>
+
+ <RedTableWine rdf:ID="MariettaOldVinesRed">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#Marietta" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </RedTableWine>
+
+ <PetiteSyrah rdf:ID="MariettaPetiteSyrah">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#Marietta" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </PetiteSyrah>
+
+ <Zinfandel rdf:ID="MariettaZinfandel">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#Marietta" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Zinfandel>
+
+ <Winery rdf:ID="McGuinnesso" />
+
+ <Region rdf:ID="MendocinoRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ <adjacentRegion rdf:resource="#SonomaRegion" />
+ </Region>
+
+ <WineGrape rdf:ID="MerlotGrape" />
+
+ <Region rdf:ID="MeursaultRegion">
+ <locatedIn rdf:resource="#BourgogneRegion" />
+ </Region>
+
+ <Winery rdf:ID="MountEdenVineyard" />
+
+ <Chardonnay rdf:ID="MountEdenVineyardEdnaValleyChardonnay">
+ <locatedIn rdf:resource="#EdnaValleyRegion" />
+ <hasMaker rdf:resource="#MountEdenVineyard" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Chardonnay>
+
+ <PinotNoir rdf:ID="MountEdenVineyardEstatePinotNoir">
+ <locatedIn rdf:resource="#EdnaValleyRegion" />
+ <hasMaker rdf:resource="#MountEdenVineyard" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </PinotNoir>
+
+ <Winery rdf:ID="Mountadam" />
+
+ <Chardonnay rdf:ID="MountadamChardonnay">
+ <locatedIn rdf:resource="#SouthAustraliaRegion" />
+ <hasMaker rdf:resource="#Mountadam" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </Chardonnay>
+
+ <PinotNoir rdf:ID="MountadamPinotNoir">
+ <locatedIn rdf:resource="#SouthAustraliaRegion" />
+ <hasMaker rdf:resource="#Mountadam" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </PinotNoir>
+
+ <DryRiesling rdf:ID="MountadamRiesling">
+ <locatedIn rdf:resource="#SouthAustraliaRegion" />
+ <hasMaker rdf:resource="#Mountadam" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Delicate" />
+ <hasBody rdf:resource="#Medium" />
+ </DryRiesling>
+
+ <Region rdf:ID="MuscadetRegion">
+ <locatedIn rdf:resource="#LoireRegion" />
+ </Region>
+
+ <Region rdf:ID="NapaRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <Region rdf:ID="NewZealandRegion" />
+
+ <Winery rdf:ID="PageMillWinery" />
+
+ <CabernetSauvignon rdf:ID="PageMillWineryCabernetSauvignon">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#PageMillWinery" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </CabernetSauvignon>
+
+ <Region rdf:ID="PauillacRegion">
+ <locatedIn rdf:resource="#MedocRegion" />
+ </Region>
+
+ <Winery rdf:ID="PeterMccoy" />
+
+ <Chardonnay rdf:ID="PeterMccoyChardonnay">
+ <locatedIn rdf:resource="#SonomaRegion" />
+ <hasMaker rdf:resource="#PeterMccoy" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Chardonnay>
+
+ <WineGrape rdf:ID="PetiteSyrahGrape" />
+
+ <WineGrape rdf:ID="PetiteVerdotGrape" />
+
+ <WineGrape rdf:ID="PinotBlancGrape" />
+
+ <WineGrape rdf:ID="PinotNoirGrape" />
+
+ <Region rdf:ID="PortugalRegion" />
+
+ <Winery rdf:ID="PulignyMontrachet" />
+
+ <WhiteBurgundy rdf:ID="PulignyMontrachetWhiteBurgundy">
+ <hasMaker rdf:resource="#PulignyMontrachet" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </WhiteBurgundy>
+
+ <WineGrape rdf:ID="RieslingGrape" />
+
+ <Anjou rdf:ID="RoseDAnjou">
+ <hasMaker rdf:resource="#DAnjou" />
+ </Anjou>
+
+ <Region rdf:ID="SancerreRegion">
+ <locatedIn rdf:resource="#LoireRegion" />
+ </Region>
+
+ <WineGrape rdf:ID="SangioveseGrape" />
+
+ <Region rdf:ID="SantaBarbaraRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <Winery rdf:ID="SantaCruzMountainVineyard" />
+
+ <CabernetSauvignon rdf:ID="SantaCruzMountainVineyardCabernetSauvignon">
+ <locatedIn rdf:resource="#SantaCruzMountainsRegion" />
+ <hasMaker rdf:resource="#SantaCruzMountainVineyard" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </CabernetSauvignon>
+
+ <Region rdf:ID="CentralTexasRegion">
+ <locatedIn rdf:resource="#TexasRegion" />
+ </Region>
+
+ <Winery rdf:ID="StGenevieve" />
+
+ <WhiteWine rdf:ID="StGenevieveTexasWhite">
+ <locatedIn rdf:resource="#CentralTexasRegion" />
+ <hasMaker rdf:resource="#StGenevieve" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ </WhiteWine>
+
+ <Region rdf:ID="SantaCruzMountainsRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <Winery rdf:ID="SaucelitoCanyon" />
+
+ <Zinfandel rdf:ID="SaucelitoCanyonZinfandel">
+ <locatedIn rdf:resource="#ArroyoGrandeRegion" />
+ <hasMaker rdf:resource="#SaucelitoCanyon" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Zinfandel>
+
+ <Zinfandel rdf:ID="SaucelitoCanyonZinfandel1998">
+ <locatedIn rdf:resource="#ArroyoGrandeRegion" />
+ <hasVintageYear rdf:resource="#Year1998" />
+ <hasMaker rdf:resource="#SaucelitoCanyon" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </Zinfandel>
+
+ <Region rdf:ID="SauterneRegion">
+ <locatedIn rdf:resource="#BordeauxRegion" />
+ </Region>
+
+ <WineGrape rdf:ID="SauvignonBlancGrape" />
+
+ <Winery rdf:ID="SchlossRothermel" />
+
+ <SweetRiesling rdf:ID="SchlossRothermelTrochenbierenausleseRiesling">
+ <locatedIn rdf:resource="#GermanyRegion" />
+ <hasMaker rdf:resource="#SchlossRothermel" />
+ <hasSugar rdf:resource="#Sweet" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </SweetRiesling>
+
+ <Winery rdf:ID="SchlossVolrad" />
+
+ <SweetRiesling rdf:ID="SchlossVolradTrochenbierenausleseRiesling">
+ <locatedIn rdf:resource ="#GermanyRegion" />
+ <hasMaker rdf:resource="#SchlossVolrad" />
+ <hasSugar rdf:resource="#Sweet" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Full" />
+ </SweetRiesling>
+
+ <Winery rdf:ID="SeanThackrey" />
+
+ <PetiteSyrah rdf:ID="SeanThackreySiriusPetiteSyrah">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#SeanThackrey" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Strong" />
+ <hasBody rdf:resource="#Full" />
+ </PetiteSyrah>
+
+ <Winery rdf:ID="Selaks" />
+
+ <IceWine rdf:ID="SelaksIceWine">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Selaks" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ <hasColor rdf:resource="#White" />
+ </IceWine>
+
+ <SauvignonBlanc rdf:ID="SelaksSauvignonBlanc">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Selaks" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </SauvignonBlanc>
+
+ <WineGrape rdf:ID="SemillonGrape" />
+
+ <Winery rdf:ID="SevreEtMaine" />
+
+ <Muscadet rdf:ID="SevreEtMaineMuscadet">
+ <hasMaker rdf:resource="#SevreEtMaine" />
+ </Muscadet>
+
+ <Region rdf:ID="SonomaRegion">
+ <locatedIn rdf:resource="#CaliforniaRegion" />
+ </Region>
+
+ <Region rdf:ID="SouthAustraliaRegion">
+ <locatedIn rdf:resource="#AustralianRegion" />
+ </Region>
+
+ <Region rdf:ID="StEmilionRegion">
+ <locatedIn rdf:resource="#BordeauxRegion" />
+ </Region>
+
+ <Winery rdf:ID="Stonleigh" />
+
+ <SauvignonBlanc rdf:ID="StonleighSauvignonBlanc">
+ <locatedIn rdf:resource="#NewZealandRegion" />
+ <hasMaker rdf:resource="#Stonleigh" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Delicate" />
+ <hasBody rdf:resource="#Medium" />
+ </SauvignonBlanc>
+
+ <Winery rdf:ID="Taylor" />
+
+ <Port rdf:ID="TaylorPort">
+ <hasMaker rdf:resource="#Taylor" />
+ </Port>
+
+ <Region rdf:ID="ToursRegion">
+ <locatedIn rdf:resource="#LoireRegion" />
+ </Region>
+
+ <Winery rdf:ID="Ventana" />
+
+ <CheninBlanc rdf:ID="VentanaCheninBlanc">
+ <locatedIn rdf:resource="#CentralCoastRegion" />
+ <hasMaker rdf:resource="#Ventana" />
+ <hasSugar rdf:resource="#OffDry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </CheninBlanc>
+
+ <Winery rdf:ID="WhitehallLane" />
+
+ <CabernetFranc rdf:ID="WhitehallLaneCabernetFranc">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasMaker rdf:resource="#WhitehallLane" />
+ <hasSugar rdf:resource="#Dry" />
+ <hasFlavor rdf:resource="#Moderate" />
+ <hasBody rdf:resource="#Medium" />
+ </CabernetFranc>
+
+ <DessertWine rdf:ID="WhitehallLanePrimavera">
+ <locatedIn rdf:resource="#NapaRegion" />
+ <hasSugar rdf:resource="#Sweet" />
+ <hasFlavor rdf:resource="#Delicate" />
+ <hasBody rdf:resource="#Light" />
+ </DessertWine>
+
+ <owl:AllDifferent>
+ <owl:distinctMembers rdf:parseType="Collection">
+ <vin:Winery rdf:about="#Bancroft" />
+ <vin:Winery rdf:about="#ChateauChevalBlanc" />
+ <vin:Winery rdf:about="#ChateauDYchem" />
+ <vin:Winery rdf:about="#ChateauDeMeursault" />
+ <vin:Winery rdf:about="#ChateauLafiteRothschild" />
+ <vin:Winery rdf:about="#ChateauMargauxWinery" />
+ <vin:Winery rdf:about="#ChateauMorgon" />
+ <vin:Winery rdf:about="#ClosDeLaPoussie" />
+ <vin:Winery rdf:about="#ClosDeVougeot" />
+ <vin:Winery rdf:about="#CongressSprings" />
+ <vin:Winery rdf:about="#Corbans" />
+ <vin:Winery rdf:about="#CortonMontrachet" />
+ <vin:Winery rdf:about="#Cotturi" />
+ <vin:Winery rdf:about="#DAnjou" />
+ <vin:Winery rdf:about="#Elyse" />
+ <vin:Winery rdf:about="#Forman" />
+ <vin:Winery rdf:about="#Foxen" />
+ <vin:Winery rdf:about="#GaryFarrell" />
+ <vin:Winery rdf:about="#KalinCellars" />
+ <vin:Winery rdf:about="#KathrynKennedy" />
+ <vin:Winery rdf:about="#LaneTanner" />
+ <vin:Winery rdf:about="#Longridge" />
+ <vin:Winery rdf:about="#Marietta" />
+ <vin:Winery rdf:about="#McGuinnesso" />
+ <vin:Winery rdf:about="#MountEdenVineyard" />
+ <vin:Winery rdf:about="#Mountadam" />
+ <vin:Winery rdf:about="#PageMillWinery" />
+ <vin:Winery rdf:about="#PeterMccoy" />
+ <vin:Winery rdf:about="#PulignyMontrachet" />
+ <vin:Winery rdf:about="#SantaCruzMountainVineyard" />
+ <vin:Winery rdf:about="#SaucelitoCanyon" />
+ <vin:Winery rdf:about="#SchlossRothermel" />
+ <vin:Winery rdf:about="#SchlossVolrad" />
+ <vin:Winery rdf:about="#SeanThackrey" />
+ <vin:Winery rdf:about="#Selaks" />
+ <vin:Winery rdf:about="#SevreEtMaine" />
+ <vin:Winery rdf:about="#StGenevieve" />
+ <vin:Winery rdf:about="#Stonleigh" />
+ <vin:Winery rdf:about="#Taylor" />
+ <vin:Winery rdf:about="#Ventana" />
+ <vin:Winery rdf:about="#WhitehallLane" />
+ </owl:distinctMembers>
+ </owl:AllDifferent>
+
+</rdf:RDF>