jena-core/testing/wg/miscellaneous/example001.rdf (2,141 lines of code) (raw):

<?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>