diff options
Diffstat (limited to 'tests/rdfxml/wine.rdf')
-rw-r--r-- | tests/rdfxml/wine.rdf | 2402 |
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> |