Copyright © 2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
These tests are taken from the [OWL Guide].
| DL Full | Consistent document. | 001 | |
|---|---|---|---|
Description:
(informative)
<miscellaneous/Manifest001#test>
|
|||
| Wine example taken from the guide. | |||
| Datatypes that may or may not be supported: | xsd:positiveInteger, | ||
| N3 format is informative. | |||
| Namespaces: | |||
@prefix food: <http://www.w3.org/2002/03owlt/miscellaneous/consistent002#> . @prefix vin: <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> . @prefix : <http://www.w3.org/2002/03owlt/miscellaneous/consistent001#> . | |||
| DL | Consistent:
<miscellaneous/consistent001>
| ||
<!DOCTYPE owl [
<!ENTITY vin "http://www.w3.org/2002/03owlt/miscellaneous/consistent001#" >
<!ENTITY food "http://www.w3.org/2002/03owlt/miscellaneous/consistent002#" >
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
]>
<rdf:RDF
xmlns = "&vin;"
xmlns:vin = "&vin;"
xml:base = "&vin;"
xmlns:food= "&food;"
xmlns:owl = "&owl;"
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#"
>
<owl:Ontology rdf:about="">
<rdfs:comment>An example OWL ontology</rdfs:comment>
<owl:priorVersion>
<owl:Ontology rdf:about="http://www.example.org/wine-020303"/>
</owl:priorVersion>
<owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent002"/>
<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> | |||
<miscellaneous/consistent001> rdf:type owl:Ontology .
<miscellaneous/consistent001> rdfs:comment "An example OWL ontology" .
<http://www.example.org/wine-020303> rdf:type owl:Ontology .
<miscellaneous/consistent001> owl:priorVersion <http://www.example.org/wine-020303> .
<miscellaneous/consistent001> owl:imports <miscellaneous/consistent002> .
<miscellaneous/consistent001> 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.
""" .
<miscellaneous/consistent001> rdfs:label "Wine Ontology" .
vin:Wine rdf:type owl:Class .
vin:Wine rdfs:subClassOf food:PotableLiquid .
_:a rdf:type owl:Restriction .
_:a owl:onProperty vin:hasMaker .
_:a owl:cardinality "1"^^xsd:nonNegativeInteger .
vin:Wine rdfs:subClassOf _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty vin:hasMaker .
_:c owl:allValuesFrom vin:Winery .
vin:Wine rdfs:subClassOf _:c .
_:e rdf:type owl:Restriction .
_:e owl:onProperty vin:madeFromGrape .
_:e owl:minCardinality "1"^^xsd:nonNegativeInteger .
vin:Wine rdfs:subClassOf _:e .
_:g rdf:type owl:Restriction .
_:g owl:onProperty vin:hasSugar .
_:g owl:cardinality "1"^^xsd:nonNegativeInteger .
vin:Wine rdfs:subClassOf _:g .
_:i rdf:type owl:Restriction .
_:i owl:onProperty vin:hasFlavor .
_:i owl:cardinality "1"^^xsd:nonNegativeInteger .
vin:Wine rdfs:subClassOf _:i .
_:k rdf:type owl:Restriction .
_:k owl:onProperty vin:hasBody .
_:k owl:cardinality "1"^^xsd:nonNegativeInteger .
vin:Wine rdfs:subClassOf _:k .
_:m rdf:type owl:Restriction .
_:m owl:onProperty vin:hasColor .
_:m owl:cardinality "1"^^xsd:nonNegativeInteger .
vin:Wine rdfs:subClassOf _:m .
_:o rdf:type owl:Restriction .
_:o owl:onProperty vin:locatedIn .
_:o owl:someValuesFrom vin:Region .
vin:Wine rdfs:subClassOf _:o .
vin:Wine rdfs:label "wine"@en .
vin:Wine rdfs:label "vin"@fr .
vin:Vintage rdf:type owl:Class .
_:q rdf:type owl:Restriction .
_:q owl:onProperty vin:hasVintageYear .
_:q owl:cardinality "1"^^xsd:nonNegativeInteger .
vin:Vintage rdfs:subClassOf _:q .
vin:WineGrape rdf:type owl:Class .
vin:WineGrape rdfs:subClassOf food:Grape .
vin:WhiteWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:s rdf:type owl:Restriction .
_:s owl:onProperty vin:hasColor .
_:s owl:hasValue vin:White .
_:u rdf:first _:s .
_:u rdf:rest rdf:nil .
_:w rdf:first vin:Wine .
_:w rdf:rest _:u .
vin:WhiteWine owl:intersectionOf _:w .
vin:WhiteTableWine rdf:type owl:Class .
vin:TableWine rdf:type owl:Class .
_:y rdf:type owl:Restriction .
_:y owl:onProperty vin:hasColor .
_:y owl:hasValue vin:White .
_:a1 rdf:first _:y .
_:a1 rdf:rest rdf:nil .
_:c1 rdf:first vin:TableWine .
_:c1 rdf:rest _:a1 .
vin:WhiteTableWine owl:intersectionOf _:c1 .
vin:WhiteNonSweetWine rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:e1 rdf:type owl:Restriction .
_:e1 owl:onProperty vin:hasSugar .
_:g1 rdf:type owl:Class .
vin:Dry rdf:type owl:Thing .
vin:OffDry rdf:type owl:Thing .
_:i1 rdf:first vin:OffDry .
_:i1 rdf:rest rdf:nil .
_:k1 rdf:first vin:Dry .
_:k1 rdf:rest _:i1 .
_:g1 owl:oneOf _:k1 .
_:e1 owl:allValuesFrom _:g1 .
_:m1 rdf:first _:e1 .
_:m1 rdf:rest rdf:nil .
_:o1 rdf:first vin:WhiteWine .
_:o1 rdf:rest _:m1 .
vin:WhiteNonSweetWine owl:intersectionOf _:o1 .
vin:WhiteLoire rdf:type owl:Class .
vin:Loire rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:q1 rdf:first vin:WhiteWine .
_:q1 rdf:rest rdf:nil .
_:s1 rdf:first vin:Loire .
_:s1 rdf:rest _:q1 .
vin:WhiteLoire owl:intersectionOf _:s1 .
vin:WhiteLoire rdf:type owl:Class .
_:u1 rdf:type owl:Restriction .
_:u1 owl:onProperty vin:madeFromGrape .
_:w1 rdf:type owl:Class .
vin:CheninBlancGrape rdf:type owl:Thing .
vin:PinotBlancGrape rdf:type owl:Thing .
vin:SauvignonBlancGrape rdf:type owl:Thing .
_:y1 rdf:first vin:SauvignonBlancGrape .
_:y1 rdf:rest rdf:nil .
_:a2 rdf:first vin:PinotBlancGrape .
_:a2 rdf:rest _:y1 .
_:c2 rdf:first vin:CheninBlancGrape .
_:c2 rdf:rest _:a2 .
_:w1 owl:oneOf _:c2 .
_:u1 owl:allValuesFrom _:w1 .
vin:WhiteLoire rdfs:subClassOf _:u1 .
vin:WhiteBurgundy rdf:type owl:Class .
vin:Burgundy rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:e2 rdf:first vin:WhiteWine .
_:e2 rdf:rest rdf:nil .
_:g2 rdf:first vin:Burgundy .
_:g2 rdf:rest _:e2 .
vin:WhiteBurgundy owl:intersectionOf _:g2 .
vin:WhiteBurgundy rdf:type owl:Class .
_:i2 rdf:type owl:Restriction .
_:i2 owl:onProperty vin:madeFromGrape .
_:i2 owl:hasValue vin:ChardonnayGrape .
vin:WhiteBurgundy rdfs:subClassOf _:i2 .
_:k2 rdf:type owl:Restriction .
_:k2 owl:onProperty vin:madeFromGrape .
_:k2 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:WhiteBurgundy rdfs:subClassOf _:k2 .
vin:WhiteBordeaux rdf:type owl:Class .
vin:Bordeaux rdf:type owl:Class .
vin:WhiteWine rdf:type owl:Class .
_:m2 rdf:first vin:WhiteWine .
_:m2 rdf:rest rdf:nil .
_:o2 rdf:first vin:Bordeaux .
_:o2 rdf:rest _:m2 .
vin:WhiteBordeaux owl:intersectionOf _:o2 .
vin:WhiteBordeaux rdf:type owl:Class .
_:q2 rdf:type owl:Restriction .
_:q2 owl:onProperty vin:madeFromGrape .
_:s2 rdf:type owl:Class .
vin:SemillonGrape rdf:type owl:Thing .
vin:SauvignonBlancGrape rdf:type owl:Thing .
_:u2 rdf:first vin:SauvignonBlancGrape .
_:u2 rdf:rest rdf:nil .
_:w2 rdf:first vin:SemillonGrape .
_:w2 rdf:rest _:u2 .
_:s2 owl:oneOf _:w2 .
_:q2 owl:allValuesFrom _:s2 .
vin:WhiteBordeaux rdfs:subClassOf _:q2 .
vin:Region rdf:type owl:Class .
vin:locatedIn rdf:type owl:ObjectProperty .
vin:locatedIn rdf:type owl:TransitiveProperty .
vin:locatedIn rdfs:domain owl:Thing .
vin:locatedIn rdfs:range vin:Region .
vin:adjacentRegion rdf:type owl:ObjectProperty .
vin:adjacentRegion rdf:type owl:SymmetricProperty .
vin:adjacentRegion rdfs:domain vin:Region .
vin:adjacentRegion rdfs:range vin:Region .
vin:VintageYear rdf:type owl:Class .
vin:yearValue rdf:type owl:DatatypeProperty .
vin:yearValue rdfs:domain vin:VintageYear .
vin:yearValue rdfs:range xsd:positiveInteger .
vin:Year1998 rdf:type vin:VintageYear .
vin:Year1998 vin:yearValue "1998"^^xsd:positiveInteger .
vin:hasVintageYear rdf:type owl:ObjectProperty .
vin:hasVintageYear rdf:type owl:FunctionalProperty .
vin:hasVintageYear rdfs:domain vin:Vintage .
vin:hasVintageYear rdfs:range vin:VintageYear .
vin:madeFromGrape rdf:type owl:ObjectProperty .
vin:madeFromGrape rdfs:subPropertyOf food:madeFromFruit .
vin:madeFromGrape rdfs:domain vin:Wine .
vin:madeFromGrape rdfs:range vin:WineGrape .
vin:madeIntoWine rdf:type owl:ObjectProperty .
vin:madeIntoWine owl:inverseOf vin:madeFromGrape .
vin:hasWineDescriptor rdf:type owl:ObjectProperty .
vin:hasWineDescriptor rdfs:domain vin:Wine .
vin:hasWineDescriptor rdfs:range vin:WineDescriptor .
vin:hasSugar rdf:type owl:ObjectProperty .
vin:hasSugar rdf:type owl:FunctionalProperty .
vin:hasSugar rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasSugar rdfs:range vin:WineSugar .
vin:hasBody rdf:type owl:ObjectProperty .
vin:hasBody rdf:type owl:FunctionalProperty .
vin:hasBody rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasBody rdfs:range vin:WineBody .
vin:hasFlavor rdf:type owl:ObjectProperty .
vin:hasFlavor rdf:type owl:FunctionalProperty .
vin:hasFlavor rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasFlavor rdfs:range vin:WineFlavor .
vin:hasColor rdf:type owl:ObjectProperty .
vin:hasColor rdf:type owl:FunctionalProperty .
vin:hasColor rdfs:subPropertyOf vin:hasWineDescriptor .
vin:hasColor rdfs:domain vin:Wine .
vin:hasColor rdfs:range vin:WineColor .
vin:hasMaker rdf:type owl:ObjectProperty .
vin:hasMaker rdf:type owl:FunctionalProperty .
vin:producesWine rdf:type owl:ObjectProperty .
vin:producesWine owl:inverseOf vin:hasMaker .
vin:Zinfandel rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:y2 rdf:type owl:Restriction .
_:y2 owl:onProperty vin:madeFromGrape .
_:y2 owl:hasValue vin:ZinfandelGrape .
_:a3 rdf:type owl:Restriction .
_:a3 owl:onProperty vin:madeFromGrape .
_:a3 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:c3 rdf:first _:a3 .
_:c3 rdf:rest rdf:nil .
_:e3 rdf:first _:y2 .
_:e3 rdf:rest _:c3 .
_:g3 rdf:first vin:Wine .
_:g3 rdf:rest _:e3 .
vin:Zinfandel owl:intersectionOf _:g3 .
vin:Zinfandel rdf:type owl:Class .
_:i3 rdf:type owl:Restriction .
_:i3 owl:onProperty vin:hasColor .
_:i3 owl:hasValue vin:Red .
vin:Zinfandel rdfs:subClassOf _:i3 .
_:k3 rdf:type owl:Restriction .
_:k3 owl:onProperty vin:hasSugar .
_:k3 owl:hasValue vin:Dry .
vin:Zinfandel rdfs:subClassOf _:k3 .
_:m3 rdf:type owl:Restriction .
_:m3 owl:onProperty vin:hasBody .
_:o3 rdf:type owl:Class .
vin:Full rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:q3 rdf:first vin:Medium .
_:q3 rdf:rest rdf:nil .
_:s3 rdf:first vin:Full .
_:s3 rdf:rest _:q3 .
_:o3 owl:oneOf _:s3 .
_:m3 owl:allValuesFrom _:o3 .
vin:Zinfandel rdfs:subClassOf _:m3 .
_:u3 rdf:type owl:Restriction .
_:u3 owl:onProperty vin:hasFlavor .
_:w3 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:y3 rdf:first vin:Strong .
_:y3 rdf:rest rdf:nil .
_:a4 rdf:first vin:Moderate .
_:a4 rdf:rest _:y3 .
_:w3 owl:oneOf _:a4 .
_:u3 owl:allValuesFrom _:w3 .
vin:Zinfandel rdfs:subClassOf _:u3 .
vin:Winery rdf:type owl:Class .
vin:WineDescriptor rdf:type owl:Class .
vin:WineDescriptor rdfs:comment "Made WineDescriptor unionType of tastes and color" .
vin:WineTaste rdf:type owl:Class .
vin:WineColor rdf:type owl:Class .
_:c4 rdf:first vin:WineColor .
_:c4 rdf:rest rdf:nil .
_:e4 rdf:first vin:WineTaste .
_:e4 rdf:rest _:c4 .
vin:WineDescriptor owl:unionOf _:e4 .
vin:WineTaste rdf:type owl:Class .
vin:WineTaste rdfs:subClassOf vin:WineDescriptor .
vin:WineColor rdf:type owl:Class .
vin:WineColor rdfs:subClassOf vin:WineDescriptor .
vin:White rdf:type owl:Thing .
vin:Rose rdf:type owl:Thing .
vin:Red rdf:type owl:Thing .
_:g4 rdf:first vin:Red .
_:g4 rdf:rest rdf:nil .
_:i4 rdf:first vin:Rose .
_:i4 rdf:rest _:g4 .
_:k4 rdf:first vin:White .
_:k4 rdf:rest _:i4 .
vin:WineColor owl:oneOf _:k4 .
vin:WineSugar rdf:type owl:Class .
vin:WineSugar rdfs:subClassOf vin:WineTaste .
vin:Sweet rdf:type owl:Thing .
vin:OffDry rdf:type owl:Thing .
vin:Dry rdf:type owl:Thing .
_:m4 rdf:first vin:Dry .
_:m4 rdf:rest rdf:nil .
_:o4 rdf:first vin:OffDry .
_:o4 rdf:rest _:m4 .
_:q4 rdf:first vin:Sweet .
_:q4 rdf:rest _:o4 .
vin:WineSugar owl:oneOf _:q4 .
vin:WineFlavor rdf:type owl:Class .
vin:WineFlavor rdfs:subClassOf vin:WineTaste .
vin:Delicate rdf:type owl:Thing .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:s4 rdf:first vin:Strong .
_:s4 rdf:rest rdf:nil .
_:u4 rdf:first vin:Moderate .
_:u4 rdf:rest _:s4 .
_:w4 rdf:first vin:Delicate .
_:w4 rdf:rest _:u4 .
vin:WineFlavor owl:oneOf _:w4 .
vin:WineBody rdf:type owl:Class .
vin:WineBody rdfs:subClassOf vin:WineTaste .
vin:Light rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:y4 rdf:first vin:Full .
_:y4 rdf:rest rdf:nil .
_:a5 rdf:first vin:Medium .
_:a5 rdf:rest _:y4 .
_:c5 rdf:first vin:Light .
_:c5 rdf:rest _:a5 .
vin:WineBody owl:oneOf _:c5 .
vin:USRegion rdf:type vin:Region .
vin:Tours rdf:type owl:Class .
vin:Loire rdf:type owl:Class .
_:e5 rdf:type owl:Restriction .
_:e5 owl:onProperty vin:locatedIn .
_:e5 owl:hasValue vin:ToursRegion .
_:g5 rdf:first _:e5 .
_:g5 rdf:rest rdf:nil .
_:i5 rdf:first vin:Loire .
_:i5 rdf:rest _:g5 .
vin:Tours owl:intersectionOf _:i5 .
vin:Tours rdf:type owl:Class .
_:k5 rdf:type owl:Restriction .
_:k5 owl:onProperty vin:madeFromGrape .
_:k5 owl:hasValue vin:CheninBlancGrape .
vin:Tours rdfs:subClassOf _:k5 .
_:m5 rdf:type owl:Restriction .
_:m5 owl:onProperty vin:madeFromGrape .
_:m5 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:Tours rdfs:subClassOf _:m5 .
vin:TableWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:o5 rdf:type owl:Restriction .
_:o5 owl:onProperty vin:hasSugar .
_:o5 owl:hasValue vin:Dry .
_:q5 rdf:first _:o5 .
_:q5 rdf:rest rdf:nil .
_:s5 rdf:first vin:Wine .
_:s5 rdf:rest _:q5 .
vin:TableWine owl:intersectionOf _:s5 .
vin:SweetWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:u5 rdf:type owl:Restriction .
_:u5 owl:onProperty vin:hasSugar .
_:u5 owl:hasValue vin:Sweet .
_:w5 rdf:first _:u5 .
_:w5 rdf:rest rdf:nil .
_:y5 rdf:first vin:Wine .
_:y5 rdf:rest _:w5 .
vin:SweetWine owl:intersectionOf _:y5 .
vin:SweetRiesling rdf:type owl:Class .
vin:SweetRiesling rdfs:subClassOf vin:DessertWine .
_:a6 rdf:type owl:Restriction .
_:a6 owl:onProperty vin:hasBody .
_:a6 owl:hasValue vin:Full .
vin:SweetRiesling rdfs:subClassOf _:a6 .
_:c6 rdf:type owl:Restriction .
_:c6 owl:onProperty vin:hasFlavor .
_:e6 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:g6 rdf:first vin:Strong .
_:g6 rdf:rest rdf:nil .
_:i6 rdf:first vin:Moderate .
_:i6 rdf:rest _:g6 .
_:e6 owl:oneOf _:i6 .
_:c6 owl:allValuesFrom _:e6 .
vin:SweetRiesling rdfs:subClassOf _:c6 .
vin:Riesling rdf:type owl:Class .
_:k6 rdf:type owl:Restriction .
_:k6 owl:onProperty vin:hasSugar .
_:k6 owl:hasValue vin:Sweet .
_:m6 rdf:first _:k6 .
_:m6 rdf:rest rdf:nil .
_:o6 rdf:first vin:Riesling .
_:o6 rdf:rest _:m6 .
vin:SweetRiesling owl:intersectionOf _:o6 .
vin:StEmilion rdf:type owl:Class .
_:q6 rdf:type owl:Restriction .
_:q6 owl:onProperty vin:hasColor .
_:q6 owl:hasValue vin:Red .
vin:StEmilion rdfs:subClassOf _:q6 .
_:s6 rdf:type owl:Restriction .
_:s6 owl:onProperty vin:hasFlavor .
_:s6 owl:hasValue vin:Strong .
vin:StEmilion rdfs:subClassOf _:s6 .
_:u6 rdf:type owl:Restriction .
_:u6 owl:onProperty vin:madeFromGrape .
_:u6 owl:hasValue vin:CabernetSauvignonGrape .
vin:StEmilion rdfs:subClassOf _:u6 .
_:w6 rdf:type owl:Restriction .
_:w6 owl:onProperty vin:madeFromGrape .
_:w6 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:StEmilion rdfs:subClassOf _:w6 .
vin:Bordeaux rdf:type owl:Class .
_:y6 rdf:type owl:Restriction .
_:y6 owl:onProperty vin:locatedIn .
_:y6 owl:hasValue vin:StEmilionRegion .
_:a7 rdf:first _:y6 .
_:a7 rdf:rest rdf:nil .
_:c7 rdf:first vin:Bordeaux .
_:c7 rdf:rest _:a7 .
vin:StEmilion owl:intersectionOf _:c7 .
vin:SemillonOrSauvignonBlanc rdf:type owl:Class .
_:e7 rdf:type owl:Restriction .
_:e7 owl:onProperty vin:hasColor .
_:e7 owl:hasValue vin:White .
vin:SemillonOrSauvignonBlanc rdfs:subClassOf _:e7 .
_:g7 rdf:type owl:Restriction .
_:g7 owl:onProperty vin:hasBody .
_:i7 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:k7 rdf:first vin:Full .
_:k7 rdf:rest rdf:nil .
_:m7 rdf:first vin:Medium .
_:m7 rdf:rest _:k7 .
_:i7 owl:oneOf _:m7 .
_:g7 owl:allValuesFrom _:i7 .
vin:SemillonOrSauvignonBlanc rdfs:subClassOf _:g7 .
vin:Wine rdf:type owl:Class .
_:o7 rdf:type owl:Restriction .
_:o7 owl:onProperty vin:madeFromGrape .
_:q7 rdf:type owl:Class .
vin:SemillonGrape rdf:type owl:Thing .
vin:SauvignonBlancGrape rdf:type owl:Thing .
_:s7 rdf:first vin:SauvignonBlancGrape .
_:s7 rdf:rest rdf:nil .
_:u7 rdf:first vin:SemillonGrape .
_:u7 rdf:rest _:s7 .
_:q7 owl:oneOf _:u7 .
_:o7 owl:allValuesFrom _:q7 .
_:w7 rdf:first _:o7 .
_:w7 rdf:rest rdf:nil .
_:y7 rdf:first vin:Wine .
_:y7 rdf:rest _:w7 .
vin:SemillonOrSauvignonBlanc owl:intersectionOf _:y7 .
vin:Semillon rdf:type owl:Class .
vin:SemillonOrSauvignonBlanc rdf:type owl:Class .
_:a8 rdf:type owl:Restriction .
_:a8 owl:onProperty vin:madeFromGrape .
_:a8 owl:hasValue vin:SemillonGrape .
_:c8 rdf:type owl:Restriction .
_:c8 owl:onProperty vin:madeFromGrape .
_:c8 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:e8 rdf:first _:c8 .
_:e8 rdf:rest rdf:nil .
_:g8 rdf:first _:a8 .
_:g8 rdf:rest _:e8 .
_:i8 rdf:first vin:SemillonOrSauvignonBlanc .
_:i8 rdf:rest _:g8 .
vin:Semillon owl:intersectionOf _:i8 .
vin:SauvignonBlanc rdf:type owl:Class .
vin:SemillonOrSauvignonBlanc rdf:type owl:Class .
_:k8 rdf:type owl:Restriction .
_:k8 owl:onProperty vin:madeFromGrape .
_:k8 owl:hasValue vin:SauvignonBlancGrape .
_:m8 rdf:type owl:Restriction .
_:m8 owl:onProperty vin:madeFromGrape .
_:m8 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:o8 rdf:first _:m8 .
_:o8 rdf:rest rdf:nil .
_:q8 rdf:first _:k8 .
_:q8 rdf:rest _:o8 .
_:s8 rdf:first vin:SemillonOrSauvignonBlanc .
_:s8 rdf:rest _:q8 .
vin:SauvignonBlanc owl:intersectionOf _:s8 .
vin:Sauterne rdf:type owl:Class .
vin:Sauterne rdfs:subClassOf vin:LateHarvest .
vin:Sauterne rdfs:subClassOf vin:Bordeaux .
_:u8 rdf:type owl:Restriction .
_:u8 owl:onProperty vin:locatedIn .
_:u8 owl:hasValue vin:SauterneRegion .
vin:Sauterne rdfs:subClassOf _:u8 .
_:w8 rdf:type owl:Restriction .
_:w8 owl:onProperty vin:hasBody .
_:w8 owl:hasValue vin:Medium .
vin:Sauterne rdfs:subClassOf _:w8 .
_:y8 rdf:type owl:Restriction .
_:y8 owl:onProperty vin:hasColor .
_:y8 owl:hasValue vin:White .
vin:Sauterne rdfs:subClassOf _:y8 .
vin:Sancerre rdf:type owl:Class .
_:a9 rdf:type owl:Restriction .
_:a9 owl:onProperty vin:hasBody .
_:a9 owl:hasValue vin:Medium .
vin:Sancerre rdfs:subClassOf _:a9 .
_:c9 rdf:type owl:Restriction .
_:c9 owl:onProperty vin:hasSugar .
_:c9 owl:hasValue vin:OffDry .
vin:Sancerre rdfs:subClassOf _:c9 .
_:e9 rdf:type owl:Restriction .
_:e9 owl:onProperty vin:hasFlavor .
_:e9 owl:hasValue vin:Delicate .
vin:Sancerre rdfs:subClassOf _:e9 .
_:g9 rdf:type owl:Restriction .
_:g9 owl:onProperty vin:madeFromGrape .
_:g9 owl:hasValue vin:SauvignonBlancGrape .
vin:Sancerre rdfs:subClassOf _:g9 .
_:i9 rdf:type owl:Restriction .
_:i9 owl:onProperty vin:madeFromGrape .
_:i9 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:Sancerre rdfs:subClassOf _:i9 .
vin:Loire rdf:type owl:Class .
_:k9 rdf:type owl:Restriction .
_:k9 owl:onProperty vin:locatedIn .
_:k9 owl:hasValue vin:SancerreRegion .
_:m9 rdf:first _:k9 .
_:m9 rdf:rest rdf:nil .
_:o9 rdf:first vin:Loire .
_:o9 rdf:rest _:m9 .
vin:Sancerre owl:intersectionOf _:o9 .
vin:RoseWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:q9 rdf:type owl:Restriction .
_:q9 owl:onProperty vin:hasColor .
_:q9 owl:hasValue vin:Rose .
_:s9 rdf:first _:q9 .
_:s9 rdf:rest rdf:nil .
_:u9 rdf:first vin:Wine .
_:u9 rdf:rest _:s9 .
vin:RoseWine owl:intersectionOf _:u9 .
vin:Riesling rdf:type owl:Class .
_:w9 rdf:type owl:Restriction .
_:w9 owl:onProperty vin:hasColor .
_:w9 owl:hasValue vin:White .
vin:Riesling rdfs:subClassOf _:w9 .
vin:Wine rdf:type owl:Class .
_:y9 rdf:type owl:Restriction .
_:y9 owl:onProperty vin:madeFromGrape .
_:y9 owl:hasValue vin:RieslingGrape .
_:a10 rdf:type owl:Restriction .
_:a10 owl:onProperty vin:madeFromGrape .
_:a10 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:c10 rdf:first _:a10 .
_:c10 rdf:rest rdf:nil .
_:e10 rdf:first _:y9 .
_:e10 rdf:rest _:c10 .
_:g10 rdf:first vin:Wine .
_:g10 rdf:rest _:e10 .
vin:Riesling owl:intersectionOf _:g10 .
vin:RedWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:i10 rdf:type owl:Restriction .
_:i10 owl:onProperty vin:hasColor .
_:i10 owl:hasValue vin:Red .
_:k10 rdf:first _:i10 .
_:k10 rdf:rest rdf:nil .
_:m10 rdf:first vin:Wine .
_:m10 rdf:rest _:k10 .
vin:RedWine owl:intersectionOf _:m10 .
vin:RedTableWine rdf:type owl:Class .
vin:TableWine rdf:type owl:Class .
_:o10 rdf:type owl:Restriction .
_:o10 owl:onProperty vin:hasColor .
_:o10 owl:hasValue vin:Red .
_:q10 rdf:first _:o10 .
_:q10 rdf:rest rdf:nil .
_:s10 rdf:first vin:TableWine .
_:s10 rdf:rest _:q10 .
vin:RedTableWine owl:intersectionOf _:s10 .
vin:RedBurgundy rdf:type owl:Class .
_:u10 rdf:type owl:Restriction .
_:u10 owl:onProperty vin:madeFromGrape .
_:u10 owl:hasValue vin:PinotNoirGrape .
vin:RedBurgundy rdfs:subClassOf _:u10 .
_:w10 rdf:type owl:Restriction .
_:w10 owl:onProperty vin:madeFromGrape .
_:w10 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:RedBurgundy rdfs:subClassOf _:w10 .
vin:Burgundy rdf:type owl:Class .
vin:RedWine rdf:type owl:Class .
_:y10 rdf:first vin:RedWine .
_:y10 rdf:rest rdf:nil .
_:a11 rdf:first vin:Burgundy .
_:a11 rdf:rest _:y10 .
vin:RedBurgundy owl:intersectionOf _:a11 .
vin:RedBordeaux rdf:type owl:Class .
_:c11 rdf:type owl:Restriction .
_:c11 owl:onProperty vin:madeFromGrape .
_:e11 rdf:type owl:Class .
vin:CabernetSauvignonGrape rdf:type owl:Thing .
vin:MerlotGrape rdf:type owl:Thing .
_:g11 rdf:first vin:MerlotGrape .
_:g11 rdf:rest rdf:nil .
_:i11 rdf:first vin:CabernetSauvignonGrape .
_:i11 rdf:rest _:g11 .
_:e11 owl:oneOf _:i11 .
_:c11 owl:allValuesFrom _:e11 .
vin:RedBordeaux rdfs:subClassOf _:c11 .
vin:Bordeaux rdf:type owl:Class .
vin:RedWine rdf:type owl:Class .
_:k11 rdf:first vin:RedWine .
_:k11 rdf:rest rdf:nil .
_:m11 rdf:first vin:Bordeaux .
_:m11 rdf:rest _:k11 .
vin:RedBordeaux owl:intersectionOf _:m11 .
vin:Port rdf:type owl:Class .
vin:Port rdfs:subClassOf vin:RedWine .
_:o11 rdf:type owl:Restriction .
_:o11 owl:onProperty vin:locatedIn .
_:o11 owl:hasValue vin:PortugalRegion .
vin:Port rdfs:subClassOf _:o11 .
_:q11 rdf:type owl:Restriction .
_:q11 owl:onProperty vin:hasBody .
_:q11 owl:hasValue vin:Full .
vin:Port rdfs:subClassOf _:q11 .
_:s11 rdf:type owl:Restriction .
_:s11 owl:onProperty vin:hasFlavor .
_:s11 owl:hasValue vin:Strong .
vin:Port rdfs:subClassOf _:s11 .
_:u11 rdf:type owl:Restriction .
_:u11 owl:onProperty vin:hasSugar .
_:u11 owl:hasValue vin:Sweet .
vin:Port rdfs:subClassOf _:u11 .
vin:PinotNoir rdf:type owl:Class .
_:w11 rdf:type owl:Restriction .
_:w11 owl:onProperty vin:hasColor .
_:w11 owl:hasValue vin:Red .
vin:PinotNoir rdfs:subClassOf _:w11 .
vin:Wine rdf:type owl:Class .
_:y11 rdf:type owl:Restriction .
_:y11 owl:onProperty vin:madeFromGrape .
_:y11 owl:hasValue vin:PinotNoirGrape .
_:a12 rdf:type owl:Restriction .
_:a12 owl:onProperty vin:madeFromGrape .
_:a12 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:c12 rdf:first _:a12 .
_:c12 rdf:rest rdf:nil .
_:e12 rdf:first _:y11 .
_:e12 rdf:rest _:c12 .
_:g12 rdf:first vin:Wine .
_:g12 rdf:rest _:e12 .
vin:PinotNoir owl:intersectionOf _:g12 .
vin:PinotBlanc rdf:type owl:Class .
_:i12 rdf:type owl:Restriction .
_:i12 owl:onProperty vin:hasColor .
_:i12 owl:hasValue vin:White .
vin:PinotBlanc rdfs:subClassOf _:i12 .
vin:Wine rdf:type owl:Class .
_:k12 rdf:type owl:Restriction .
_:k12 owl:onProperty vin:madeFromGrape .
_:k12 owl:hasValue vin:PinotBlancGrape .
_:m12 rdf:type owl:Restriction .
_:m12 owl:onProperty vin:madeFromGrape .
_:m12 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:o12 rdf:first _:m12 .
_:o12 rdf:rest rdf:nil .
_:q12 rdf:first _:k12 .
_:q12 rdf:rest _:o12 .
_:s12 rdf:first vin:Wine .
_:s12 rdf:rest _:q12 .
vin:PinotBlanc owl:intersectionOf _:s12 .
vin:PetiteSyrah rdf:type owl:Class .
_:u12 rdf:type owl:Restriction .
_:u12 owl:onProperty vin:hasColor .
_:u12 owl:hasValue vin:Red .
vin:PetiteSyrah rdfs:subClassOf _:u12 .
_:w12 rdf:type owl:Restriction .
_:w12 owl:onProperty vin:hasSugar .
_:w12 owl:hasValue vin:Dry .
vin:PetiteSyrah rdfs:subClassOf _:w12 .
_:y12 rdf:type owl:Restriction .
_:y12 owl:onProperty vin:hasFlavor .
_:a13 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:c13 rdf:first vin:Strong .
_:c13 rdf:rest rdf:nil .
_:e13 rdf:first vin:Moderate .
_:e13 rdf:rest _:c13 .
_:a13 owl:oneOf _:e13 .
_:y12 owl:allValuesFrom _:a13 .
vin:PetiteSyrah rdfs:subClassOf _:y12 .
_:g13 rdf:type owl:Restriction .
_:g13 owl:onProperty vin:hasBody .
_:i13 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:k13 rdf:first vin:Full .
_:k13 rdf:rest rdf:nil .
_:m13 rdf:first vin:Medium .
_:m13 rdf:rest _:k13 .
_:i13 owl:oneOf _:m13 .
_:g13 owl:allValuesFrom _:i13 .
vin:PetiteSyrah rdfs:subClassOf _:g13 .
vin:Wine rdf:type owl:Class .
_:o13 rdf:type owl:Restriction .
_:o13 owl:onProperty vin:madeFromGrape .
_:o13 owl:hasValue vin:PetiteSyrahGrape .
_:q13 rdf:type owl:Restriction .
_:q13 owl:onProperty vin:madeFromGrape .
_:q13 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:s13 rdf:first _:q13 .
_:s13 rdf:rest rdf:nil .
_:u13 rdf:first _:o13 .
_:u13 rdf:rest _:s13 .
_:w13 rdf:first vin:Wine .
_:w13 rdf:rest _:u13 .
vin:PetiteSyrah owl:intersectionOf _:w13 .
vin:Pauillac rdf:type owl:Class .
_:y13 rdf:type owl:Restriction .
_:y13 owl:onProperty vin:hasBody .
_:y13 owl:hasValue vin:Full .
vin:Pauillac rdfs:subClassOf _:y13 .
_:a14 rdf:type owl:Restriction .
_:a14 owl:onProperty vin:hasFlavor .
_:a14 owl:hasValue vin:Strong .
vin:Pauillac rdfs:subClassOf _:a14 .
_:c14 rdf:type owl:Restriction .
_:c14 owl:onProperty vin:madeFromGrape .
_:c14 owl:hasValue vin:CabernetSauvignonGrape .
vin:Pauillac rdfs:subClassOf _:c14 .
_:e14 rdf:type owl:Restriction .
_:e14 owl:onProperty vin:madeFromGrape .
_:e14 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:Pauillac rdfs:subClassOf _:e14 .
vin:Medoc rdf:type owl:Class .
_:g14 rdf:type owl:Restriction .
_:g14 owl:onProperty vin:locatedIn .
_:g14 owl:hasValue vin:PauillacRegion .
_:i14 rdf:first _:g14 .
_:i14 rdf:rest rdf:nil .
_:k14 rdf:first vin:Medoc .
_:k14 rdf:rest _:i14 .
vin:Pauillac owl:intersectionOf _:k14 .
vin:Muscadet rdf:type owl:Class .
_:m14 rdf:type owl:Restriction .
_:m14 owl:onProperty vin:hasBody .
_:m14 owl:hasValue vin:Light .
vin:Muscadet rdfs:subClassOf _:m14 .
_:o14 rdf:type owl:Restriction .
_:o14 owl:onProperty vin:hasFlavor .
_:o14 owl:hasValue vin:Delicate .
vin:Muscadet rdfs:subClassOf _:o14 .
_:q14 rdf:type owl:Restriction .
_:q14 owl:onProperty vin:hasSugar .
_:q14 owl:hasValue vin:Dry .
vin:Muscadet rdfs:subClassOf _:q14 .
_:s14 rdf:type owl:Restriction .
_:s14 owl:onProperty vin:madeFromGrape .
_:s14 owl:hasValue vin:PinotBlancGrape .
vin:Muscadet rdfs:subClassOf _:s14 .
_:u14 rdf:type owl:Restriction .
_:u14 owl:onProperty vin:madeFromGrape .
_:u14 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:Muscadet rdfs:subClassOf _:u14 .
vin:Loire rdf:type owl:Class .
_:w14 rdf:type owl:Restriction .
_:w14 owl:onProperty vin:locatedIn .
_:w14 owl:hasValue vin:MuscadetRegion .
_:y14 rdf:first _:w14 .
_:y14 rdf:rest rdf:nil .
_:a15 rdf:first vin:Loire .
_:a15 rdf:rest _:y14 .
vin:Muscadet owl:intersectionOf _:a15 .
vin:Meursault rdf:type owl:Class .
_:c15 rdf:type owl:Restriction .
_:c15 owl:onProperty vin:hasBody .
_:c15 owl:hasValue vin:Full .
vin:Meursault rdfs:subClassOf _:c15 .
vin:WhiteBurgundy rdf:type owl:Class .
_:e15 rdf:type owl:Restriction .
_:e15 owl:onProperty vin:locatedIn .
_:e15 owl:hasValue vin:MeursaultRegion .
_:g15 rdf:first _:e15 .
_:g15 rdf:rest rdf:nil .
_:i15 rdf:first vin:WhiteBurgundy .
_:i15 rdf:rest _:g15 .
vin:Meursault owl:intersectionOf _:i15 .
vin:Merlot rdf:type owl:Class .
_:k15 rdf:type owl:Restriction .
_:k15 owl:onProperty vin:hasColor .
_:k15 owl:hasValue vin:Red .
vin:Merlot rdfs:subClassOf _:k15 .
_:m15 rdf:type owl:Restriction .
_:m15 owl:onProperty vin:hasSugar .
_:m15 owl:hasValue vin:Dry .
vin:Merlot rdfs:subClassOf _:m15 .
_:o15 rdf:type owl:Restriction .
_:o15 owl:onProperty vin:hasFlavor .
_:q15 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Delicate rdf:type owl:Thing .
_:s15 rdf:first vin:Delicate .
_:s15 rdf:rest rdf:nil .
_:u15 rdf:first vin:Moderate .
_:u15 rdf:rest _:s15 .
_:q15 owl:oneOf _:u15 .
_:o15 owl:allValuesFrom _:q15 .
vin:Merlot rdfs:subClassOf _:o15 .
_:w15 rdf:type owl:Restriction .
_:w15 owl:onProperty vin:hasBody .
_:y15 rdf:type owl:Class .
vin:Light rdf:type owl:Thing .
vin:Medium rdf:type owl:Thing .
_:a16 rdf:first vin:Medium .
_:a16 rdf:rest rdf:nil .
_:c16 rdf:first vin:Light .
_:c16 rdf:rest _:a16 .
_:y15 owl:oneOf _:c16 .
_:w15 owl:allValuesFrom _:y15 .
vin:Merlot rdfs:subClassOf _:w15 .
vin:Wine rdf:type owl:Class .
_:e16 rdf:type owl:Restriction .
_:e16 owl:onProperty vin:madeFromGrape .
_:e16 owl:hasValue vin:MerlotGrape .
_:g16 rdf:type owl:Restriction .
_:g16 owl:onProperty vin:madeFromGrape .
_:g16 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
_:i16 rdf:first _:g16 .
_:i16 rdf:rest rdf:nil .
_:k16 rdf:first _:e16 .
_:k16 rdf:rest _:i16 .
_:m16 rdf:first vin:Wine .
_:m16 rdf:rest _:k16 .
vin:Merlot owl:intersectionOf _:m16 .
vin:Meritage rdf:type owl:Class .
_:o16 rdf:type owl:Restriction .
_:o16 owl:onProperty vin:hasColor .
_:o16 owl:hasValue vin:Red .
vin:Meritage rdfs:subClassOf _:o16 .
vin:Wine rdf:type owl:Class .
_:q16 rdf:type owl:Restriction .
_:q16 owl:onProperty vin:madeFromGrape .
_:s16 rdf:type owl:Class .
vin:CabernetSauvignonGrape rdf:type owl:Thing .
vin:CabernetFrancGrape rdf:type owl:Thing .
vin:MalbecGrape rdf:type owl:Thing .
vin:PetiteVerdotGrape rdf:type owl:Thing .
vin:MerlotGrape rdf:type owl:Thing .
_:u16 rdf:first vin:MerlotGrape .
_:u16 rdf:rest rdf:nil .
_:w16 rdf:first vin:PetiteVerdotGrape .
_:w16 rdf:rest _:u16 .
_:y16 rdf:first vin:MalbecGrape .
_:y16 rdf:rest _:w16 .
_:a17 rdf:first vin:CabernetFrancGrape .
_:a17 rdf:rest _:y16 .
_:c17 rdf:first vin:CabernetSauvignonGrape .
_:c17 rdf:rest _:a17 .
_:s16 owl:oneOf _:c17 .
_:q16 owl:allValuesFrom _:s16 .
_:e17 rdf:type owl:Restriction .
_:e17 owl:onProperty vin:madeFromGrape .
_:e17 owl:minCardinality "2"^^xsd:nonNegativeInteger .
_:g17 rdf:first _:e17 .
_:g17 rdf:rest rdf:nil .
_:i17 rdf:first _:q16 .
_:i17 rdf:rest _:g17 .
_:k17 rdf:first vin:Wine .
_:k17 rdf:rest _:i17 .
vin:Meritage owl:intersectionOf _:k17 .
vin:MedocRegion rdf:type vin:Region .
vin:MedocRegion vin:locatedIn vin:BordeauxRegion .
vin:Medoc rdf:type owl:Class .
_:m17 rdf:type owl:Restriction .
_:m17 owl:onProperty vin:hasColor .
_:m17 owl:hasValue vin:Red .
vin:Medoc rdfs:subClassOf _:m17 .
_:o17 rdf:type owl:Restriction .
_:o17 owl:onProperty vin:hasSugar .
_:o17 owl:hasValue vin:Dry .
vin:Medoc rdfs:subClassOf _:o17 .
vin:Bordeaux rdf:type owl:Class .
_:q17 rdf:type owl:Restriction .
_:q17 owl:onProperty vin:locatedIn .
_:q17 owl:hasValue vin:MedocRegion .
_:s17 rdf:first _:q17 .
_:s17 rdf:rest rdf:nil .
_:u17 rdf:first vin:Bordeaux .
_:u17 rdf:rest _:s17 .
vin:Medoc owl:intersectionOf _:u17 .
vin:Margaux rdf:type owl:Class .
_:w17 rdf:type owl:Restriction .
_:w17 owl:onProperty vin:hasFlavor .
_:w17 owl:hasValue vin:Delicate .
vin:Margaux rdfs:subClassOf _:w17 .
_:y17 rdf:type owl:Restriction .
_:y17 owl:onProperty vin:madeFromGrape .
_:y17 owl:hasValue vin:MerlotGrape .
vin:Margaux rdfs:subClassOf _:y17 .
_:a18 rdf:type owl:Restriction .
_:a18 owl:onProperty vin:madeFromGrape .
_:a18 owl:maxCardinality "1"^^xsd:nonNegativeInteger .
vin:Margaux rdfs:subClassOf _:a18 .
vin:Medoc rdf:type owl:Class .
_:c18 rdf:type owl:Restriction .
_:c18 owl:onProperty vin:locatedIn .
_:c18 owl:hasValue vin:MargauxRegion .
_:e18 rdf:first _:c18 .
_:e18 rdf:rest rdf:nil .
_:g18 rdf:first vin:Medoc .
_:g18 rdf:rest _:e18 .
vin:Margaux owl:intersectionOf _:g18 .
vin:LoireRegion rdf:type vin:Region .
vin:LoireRegion vin:locatedIn vin:FrenchRegion .
vin:Loire rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:i18 rdf:type owl:Restriction .
_:i18 owl:onProperty vin:locatedIn .
_:i18 owl:hasValue vin:LoireRegion .
_:k18 rdf:first _:i18 .
_:k18 rdf:rest rdf:nil .
_:m18 rdf:first vin:Wine .
_:m18 rdf:rest _:k18 .
vin:Loire owl:intersectionOf _:m18 .
vin:LateHarvest rdf:type owl:Class .
vin:LateHarvest rdfs:subClassOf vin:Wine .
vin:LateHarvest owl:disjointWith vin:EarlyHarvest .
_:o18 rdf:type owl:Restriction .
_:o18 owl:onProperty vin:hasSugar .
_:o18 owl:hasValue vin:Sweet .
vin:LateHarvest rdfs:subClassOf _:o18 .
_:q18 rdf:type owl:Restriction .
_:q18 owl:onProperty vin:hasFlavor .
_:s18 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:u18 rdf:first vin:Strong .
_:u18 rdf:rest rdf:nil .
_:w18 rdf:first vin:Moderate .
_:w18 rdf:rest _:u18 .
_:s18 owl:oneOf _:w18 .
_:q18 owl:allValuesFrom _:s18 .
vin:LateHarvest rdfs:subClassOf _:q18 .
vin:ItalianWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:y18 rdf:type owl:Restriction .
_:y18 owl:onProperty vin:locatedIn .
_:y18 owl:hasValue vin:ItalianRegion .
_:a19 rdf:first _:y18 .
_:a19 rdf:rest rdf:nil .
_:c19 rdf:first vin:Wine .
_:c19 rdf:rest _:a19 .
vin:ItalianWine owl:intersectionOf _:c19 .
vin:ItalianRegion rdf:type vin:Region .
vin:IceWine rdf:type owl:Class .
_:e19 rdf:type owl:Restriction .
_:e19 owl:onProperty vin:hasBody .
_:g19 rdf:type owl:Class .
vin:Medium rdf:type owl:Thing .
vin:Full rdf:type owl:Thing .
_:i19 rdf:first vin:Full .
_:i19 rdf:rest rdf:nil .
_:k19 rdf:first vin:Medium .
_:k19 rdf:rest _:i19 .
_:g19 owl:oneOf _:k19 .
_:e19 owl:allValuesFrom _:g19 .
vin:IceWine rdfs:subClassOf _:e19 .
_:m19 rdf:type owl:Restriction .
_:m19 owl:onProperty vin:hasFlavor .
_:o19 rdf:type owl:Class .
vin:Moderate rdf:type owl:Thing .
vin:Strong rdf:type owl:Thing .
_:q19 rdf:first vin:Strong .
_:q19 rdf:rest rdf:nil .
_:s19 rdf:first vin:Moderate .
_:s19 rdf:rest _:q19 .
_:o19 owl:oneOf _:s19 .
_:m19 owl:allValuesFrom _:o19 .
vin:IceWine rdfs:subClassOf _:m19 .
vin:LateHarvest rdf:type owl:Class .
vin:DessertWine rdf:type owl:Class .
_:u19 rdf:type owl:Restriction .
_:u19 owl:onProperty vin:hasColor .
_:u19 owl:hasValue vin:White .
_:w19 rdf:first _:u19 .
_:w19 rdf:rest rdf:nil .
_:y19 rdf:first vin:DessertWine .
_:y19 rdf:rest _:w19 .
_:a20 rdf:first vin:LateHarvest .
_:a20 rdf:rest _:y19 .
vin:IceWine owl:intersectionOf _:a20 .
vin:GermanWine rdf:type owl:Class .
vin:Wine rdf:type owl:Class .
_:c20 rdf:type owl:Restriction .
_:c20 owl:onProperty vin:locatedIn .
_:c20 owl:hasValue vin:GermanyRegion .
_:e20 | |||