test2.rdf revision 2934b482a63f53d8cac16b82a1a7e7284a1261bd
10139N/A<!DOCTYPE owl [
10139N/A <!ENTITY vin "http://www.w3.org/2002/03owlt/miscellaneous/consistent001#" >
10139N/A <!ENTITY food "http://www.w3.org/2002/03owlt/miscellaneous/consistent002#" >
20374N/A <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
10139N/A ]>
10139N/A
10139N/A<rdf:RDF
17185N/A xmlns = "&food;"
10139N/A xmlns:food= "&food;"
17177N/A xml:base = "&food;"
18603N/A xmlns:vin = "&vin;"
17177N/A xmlns:owl = "http://www.w3.org/2002/07/owl#"
10139N/A xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
10139N/A xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#">
19981N/A
10139N/A <owl:Ontology rdf:about="">
18909N/A <rdfs:comment>
10139N/A Derived from the DAML Wine ontology at
10139N/A http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml
18615N/A Substantially modified.
10139N/A </rdfs:comment>
18579N/A <owl:imports rdf:resource="http://www.w3.org/2002/03owlt/miscellaneous/consistent001"/>
10142N/A </owl:Ontology>
12773N/A
12773N/A <owl:Class rdf:ID="ConsumableThing" />
12773N/A
10139N/A <owl:Class rdf:ID="NonConsumableThing">
10139N/A <owl:complementOf rdf:resource="#ConsumableThing" />
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="EdibleThing">
18579N/A <rdfs:subClassOf rdf:resource="#ConsumableThing" />
20374N/A </owl:Class>
20374N/A
18579N/A <owl:Class rdf:ID="PotableLiquid">
10139N/A <rdfs:subClassOf rdf:resource="#ConsumableThing" />
10139N/A <owl:disjointWith rdf:resource="#EdibleThing" />
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="Wine">
10139N/A <owl:equivalentClass rdf:resource="&vin;Wine"/>
10139N/A </owl:Class>
10139N/A
10139N/A <owl:ObjectProperty rdf:ID="madeFromFruit">
10139N/A <rdfs:domain rdf:resource="#ConsumableThing" />
10139N/A <rdfs:range rdf:resource="#Fruit" />
10139N/A </owl:ObjectProperty>
10139N/A
10139N/A <owl:Class rdf:ID="Juice">
10139N/A <rdfs:subClassOf rdf:resource="#PotableLiquid" />
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#madeFromFruit" />
10139N/A <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A </owl:Class>
10139N/A
10139N/A <owl:ObjectProperty rdf:ID="hasDrink">
10139N/A <rdfs:domain rdf:resource="#MealCourse" />
18579N/A <rdfs:range rdf:resource="#PotableLiquid" />
20374N/A </owl:ObjectProperty>
10139N/A
10142N/A <owl:Thing rdf:ID="White">
10139N/A <owl:sameAs rdf:resource="&vin;White"/>
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Rose">
10139N/A <owl:sameAs rdf:resource="&vin;Rose" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Red">
10139N/A <owl:sameAs rdf:resource="&vin;Red" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Sweet">
10139N/A <owl:sameAs rdf:resource="&vin;Sweet" />
10139N/A </owl:Thing>
10139N/A
11288N/A <owl:Thing rdf:ID="OffDry">
12773N/A <owl:sameAs rdf:resource="&vin;OffDry" />
12773N/A </owl:Thing>
12773N/A
12773N/A <owl:Thing rdf:ID="Dry">
12773N/A <owl:sameAs rdf:resource="&vin;Dry" />
16805N/A </owl:Thing>
18579N/A
11288N/A <owl:Thing rdf:ID="Delicate">
11288N/A <owl:sameAs rdf:resource="&vin;Delicate" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Moderate">
10139N/A <owl:sameAs rdf:resource="&vin;Moderate" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Strong">
10139N/A <owl:sameAs rdf:resource="&vin;Strong" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Light">
10139N/A <owl:sameAs rdf:resource="&vin;Light" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Medium">
11092N/A <owl:sameAs rdf:resource="&vin;Medium" />
11092N/A </owl:Thing>
10139N/A
10139N/A <owl:Thing rdf:ID="Full">
10139N/A <owl:sameAs rdf:resource="&vin;Full" />
10139N/A </owl:Thing>
10139N/A
10139N/A <owl:ObjectProperty rdf:ID="course">
10139N/A <rdfs:domain rdf:resource="#Meal" />
10139N/A <rdfs:range rdf:resource="#MealCourse" />
10139N/A </owl:ObjectProperty>
10139N/A
10139N/A <owl:Class rdf:ID="Grape">
10139N/A <rdfs:subClassOf rdf:resource="#SweetFruit" />
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="Pasta">
10139N/A <rdfs:subClassOf rdf:resource="#EdibleThing" />
10139N/A <owl:disjointWith rdf:resource="#Meat" />
10139N/A <owl:disjointWith rdf:resource="#Fowl" />
10139N/A <owl:disjointWith rdf:resource="#Seafood" />
10139N/A <owl:disjointWith rdf:resource="#Dessert" />
10139N/A <owl:disjointWith rdf:resource="#Fruit" />
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="PastaWithWhiteSauce">
10139N/A <rdfs:subClassOf rdf:resource="#Pasta" />
10139N/A <owl:disjointWith rdf:resource="#PastaWithRedSauce" />
10139N/A </owl:Class>
18909N/A
18909N/A <owl:Class rdf:ID="PastaWithSpicyRedSauceCourse">
18685N/A <owl:intersectionOf rdf:parseType="Collection">
18685N/A <owl:Class rdf:about="#MealCourse" />
17557N/A <owl:Restriction>
17557N/A <owl:onProperty rdf:resource="#hasFood" />
17397N/A <owl:allValuesFrom rdf:resource="#PastaWithSpicyRedSauce" />
17397N/A </owl:Restriction>
17301N/A </owl:intersectionOf>
17301N/A <rdfs:subClassOf>
17151N/A <owl:Restriction>
17151N/A <owl:onProperty rdf:resource="#hasDrink" />
17001N/A <owl:allValuesFrom>
17001N/A <owl:Restriction>
16906N/A <owl:onProperty rdf:resource="&vin;hasColor" />
16906N/A <owl:hasValue rdf:resource="#Red" />
16805N/A </owl:Restriction>
16805N/A </owl:allValuesFrom>
16379N/A </owl:Restriction>
16379N/A </rdfs:subClassOf>
16160N/A <rdfs:subClassOf>
16160N/A <owl:Restriction>
16149N/A <owl:onProperty rdf:resource="#hasDrink" />
16149N/A <owl:allValuesFrom>
15866N/A <owl:Restriction>
15866N/A <owl:onProperty rdf:resource="&vin;hasBody" />
15780N/A <owl:hasValue rdf:resource="#Full" />
15780N/A </owl:Restriction>
15448N/A </owl:allValuesFrom>
15448N/A </owl:Restriction>
14485N/A </rdfs:subClassOf>
14485N/A <rdfs:subClassOf>
14207N/A <owl:Restriction>
14485N/A <owl:onProperty rdf:resource="#hasDrink" />
14101N/A <owl:allValuesFrom>
14101N/A <owl:Restriction>
13937N/A <owl:onProperty rdf:resource="&vin;hasFlavor" />
13937N/A <owl:hasValue rdf:resource="#Strong" />
13769N/A </owl:Restriction>
13769N/A </owl:allValuesFrom>
13769N/A </owl:Restriction>
13624N/A </rdfs:subClassOf>
13624N/A <rdfs:subClassOf>
13624N/A <owl:Restriction>
13426N/A <owl:onProperty rdf:resource="#hasDrink" />
13426N/A <owl:allValuesFrom>
13426N/A <owl:Restriction>
13314N/A <owl:onProperty rdf:resource="&vin;hasSugar" />
13314N/A <owl:hasValue rdf:resource="#Dry" />
13314N/A </owl:Restriction>
13258N/A </owl:allValuesFrom>
13260N/A </owl:Restriction>
13260N/A </rdfs:subClassOf>
13260N/A </owl:Class>
13258N/A
13258N/A <owl:Class rdf:ID="PastaWithSpicyRedSauce">
12574N/A <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
12574N/A </owl:Class>
12574N/A
12451N/A <owl:Class rdf:ID="PastaWithRedSauce">
12451N/A <rdfs:subClassOf rdf:resource="#Pasta" />
12451N/A </owl:Class>
12369N/A
12369N/A <owl:Class rdf:ID="PastaWithNonSpicyRedSauceCourse">
12369N/A <owl:intersectionOf rdf:parseType="Collection">
12279N/A <owl:Class rdf:about="#MealCourse" />
12279N/A <owl:Restriction>
12279N/A <owl:onProperty rdf:resource="#hasFood" />
12189N/A <owl:allValuesFrom rdf:resource="#PastaWithNonSpicyRedSauce" />
12189N/A </owl:Restriction>
12189N/A </owl:intersectionOf>
12071N/A <rdfs:subClassOf>
12071N/A <owl:Restriction>
12071N/A <owl:onProperty rdf:resource="#hasDrink" />
12022N/A <owl:allValuesFrom>
12022N/A <owl:Restriction>
12022N/A <owl:onProperty rdf:resource="&vin;hasColor" />
11922N/A <owl:hasValue rdf:resource="#Red" />
11922N/A </owl:Restriction>
11922N/A </owl:allValuesFrom>
11819N/A </owl:Restriction>
11819N/A </rdfs:subClassOf>
11819N/A <rdfs:subClassOf>
11416N/A <owl:Restriction>
11416N/A <owl:onProperty rdf:resource="#hasDrink" />
11416N/A <owl:allValuesFrom>
11333N/A <owl:Restriction>
11333N/A <owl:onProperty rdf:resource="&vin;hasBody" />
11333N/A <owl:hasValue rdf:resource="#Medium" />
11288N/A </owl:Restriction>
11288N/A </owl:allValuesFrom>
11288N/A </owl:Restriction>
11288N/A </rdfs:subClassOf>
11288N/A <rdfs:subClassOf>
11256N/A <owl:Restriction>
11256N/A <owl:onProperty rdf:resource="#hasDrink" />
11256N/A <owl:allValuesFrom>
11172N/A <owl:Restriction>
11172N/A <owl:onProperty rdf:resource="&vin;hasFlavor" />
11172N/A <owl:hasValue rdf:resource="#Moderate" />
11118N/A </owl:Restriction>
11118N/A </owl:allValuesFrom>
11118N/A </owl:Restriction>
11092N/A </rdfs:subClassOf>
11092N/A <rdfs:subClassOf>
11092N/A <owl:Restriction>
11092N/A <owl:onProperty rdf:resource="#hasDrink" />
11066N/A <owl:allValuesFrom>
11066N/A <owl:Restriction>
11066N/A <owl:onProperty rdf:resource="&vin;hasSugar" />
10973N/A <owl:hasValue rdf:resource="#Dry" />
10973N/A </owl:Restriction>
10973N/A </owl:allValuesFrom>
10955N/A </owl:Restriction>
10955N/A </rdfs:subClassOf>
10955N/A </owl:Class>
10911N/A
10911N/A <owl:Class rdf:ID="PastaWithNonSpicyRedSauce">
10911N/A <rdfs:subClassOf rdf:resource="#PastaWithRedSauce" />
10812N/A <owl:disjointWith rdf:resource="#PastaWithSpicyRedSauce" />
10812N/A </owl:Class>
10812N/A
10746N/A <owl:Class rdf:ID="PastaWithLightCreamSauce">
10746N/A <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
10746N/A <owl:disjointWith rdf:resource="#PastaWithHeavyCreamSauce" />
10628N/A </owl:Class>
10628N/A
10628N/A <owl:Class rdf:ID="PastaWithLightCreamCourse">
10608N/A <owl:intersectionOf rdf:parseType="Collection">
10608N/A <owl:Class rdf:about="#MealCourse" />
10608N/A <owl:Restriction>
10267N/A <owl:onProperty rdf:resource="#hasFood" />
10267N/A <owl:allValuesFrom rdf:resource="#PastaWithLightCreamSauce" />
10267N/A </owl:Restriction>
10180N/A </owl:intersectionOf>
10180N/A <rdfs:subClassOf>
10180N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasColor" />
10139N/A <owl:hasValue rdf:resource="#White" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasBody" />
10139N/A <owl:hasValue rdf:resource="#Light" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasFlavor" />
10139N/A <owl:hasValue rdf:resource="#Delicate" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasSugar" />
10139N/A <owl:hasValue rdf:resource="#Dry" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="PastaWithHeavyCreamSauce">
10139N/A <rdfs:subClassOf rdf:resource="#PastaWithWhiteSauce" />
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="PastaWithHeavyCreamCourse">
10139N/A <owl:intersectionOf rdf:parseType="Collection">
10139N/A <owl:Class rdf:about="#MealCourse" />
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasFood" />
10139N/A <owl:allValuesFrom rdf:resource="#PastaWithHeavyCreamSauce" />
10139N/A </owl:Restriction>
10139N/A </owl:intersectionOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasColor" />
10139N/A <owl:hasValue rdf:resource="#White" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasBody" />
10139N/A <owl:hasValue rdf:resource="#Medium" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasFlavor" />
10139N/A <owl:hasValue rdf:resource="#Moderate" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasSugar" />
10139N/A <owl:hasValue rdf:resource="#Dry" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="OysterShellfishCourse">
10139N/A <owl:intersectionOf rdf:parseType="Collection">
10139N/A <owl:Class rdf:about="#MealCourse" />
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasFood" />
10139N/A <owl:allValuesFrom rdf:resource="#OysterShellfish" />
10139N/A </owl:Restriction>
10139N/A </owl:intersectionOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasSugar" />
10139N/A <owl:hasValue rdf:resource="#Sweet" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="OysterShellfish">
10139N/A <rdfs:subClassOf rdf:resource="#Shellfish" />
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="OtherTomatoBasedFoodCourse">
10139N/A <owl:intersectionOf rdf:parseType="Collection">
10139N/A <owl:Class rdf:about="#MealCourse" />
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasFood" />
10139N/A <owl:allValuesFrom rdf:resource="#OtherTomatoBasedFood" />
10139N/A </owl:Restriction>
10139N/A </owl:intersectionOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasColor" />
10139N/A <owl:hasValue rdf:resource="#Red" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasBody" />
10139N/A <owl:hasValue rdf:resource="#Medium" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasFlavor" />
10139N/A <owl:hasValue rdf:resource="#Moderate" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A <rdfs:subClassOf>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="#hasDrink" />
10139N/A <owl:allValuesFrom>
10139N/A <owl:Restriction>
10139N/A <owl:onProperty rdf:resource="&vin;hasSugar" />
10139N/A <owl:hasValue rdf:resource="#Dry" />
10139N/A </owl:Restriction>
10139N/A </owl:allValuesFrom>
10139N/A </owl:Restriction>
10139N/A </rdfs:subClassOf>
10139N/A </owl:Class>
10139N/A
10139N/A <owl:Class rdf:ID="OtherTomatoBasedFood">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#Pasta" />
<owl:disjointWith rdf:resource="#Meat" />
<owl:disjointWith rdf:resource="#Fowl" />
<owl:disjointWith rdf:resource="#Seafood" />
<owl:disjointWith rdf:resource="#Dessert" />
<owl:disjointWith rdf:resource="#Fruit" />
</owl:Class>
<owl:Class rdf:ID="NonSweetFruitCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#NonSweetFruit" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#OffDry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="SweetFruitCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#SweetFruit" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Sweet" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="NonSweetFruit">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#SweetFruit" />
</owl:Class>
<owl:Class rdf:ID="NonSpicyRedMeatCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#NonSpicyRedMeat" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;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>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="NonSpicyRedMeat">
<rdfs:subClassOf rdf:resource="#RedMeat" />
<owl:disjointWith rdf:resource="#SpicyRedMeat" />
</owl:Class>
<owl:Class rdf:ID="NonRedMeatCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#NonRedMeat" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Strong" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="NonRedMeat">
<rdfs:subClassOf rdf:resource="#Meat" />
<owl:disjointWith rdf:resource="#RedMeat" />
</owl:Class>
<owl:Class rdf:ID="NonOysterShellfishCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#NonOysterShellfish" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="NonOysterShellfish">
<rdfs:subClassOf rdf:resource="#Shellfish" />
<owl:disjointWith rdf:resource="#OysterShellfish" />
</owl:Class>
<owl:Class rdf:ID="NonBlandFishCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#NonBlandFish" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="NonBlandFish">
<rdfs:subClassOf rdf:resource="#Fish" />
</owl:Class>
<owl:Class rdf:ID="Meat">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#Fowl" />
<owl:disjointWith rdf:resource="#Seafood" />
<owl:disjointWith rdf:resource="#Dessert" />
<owl:disjointWith rdf:resource="#Fruit" />
</owl:Class>
<owl:Class rdf:ID="MealCourse">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom rdf:resource="#Wine" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith rdf:resource="#PotableLiquid" />
<owl:disjointWith rdf:resource="#EdibleThing" />
</owl:Class>
<owl:Class rdf:ID="Meal">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#course" />
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#course" />
<owl:allValuesFrom rdf:resource="#MealCourse" />
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith rdf:resource="#MealCourse" />
<owl:disjointWith rdf:resource="#PotableLiquid" />
<owl:disjointWith rdf:resource="#EdibleThing" />
</owl:Class>
<owl:Class rdf:ID="LightMeatFowlCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#LightMeatFowl" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="LightMeatFowl">
<rdfs:subClassOf rdf:resource="#Fowl" />
</owl:Class>
<owl:Class rdf:ID="FruitCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#Fruit" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Fruit">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#SweetFruit" />
<owl:Class rdf:about="#NonSweetFruit" />
</owl:unionOf>
</owl:Class>
<owl:Class rdf:ID="Fowl">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#Seafood" />
<owl:disjointWith rdf:resource="#Dessert" />
<owl:disjointWith rdf:resource="#Fruit" />
</owl:Class>
<owl:Class rdf:ID="FishCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#Fish" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Medium" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="DessertCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#Dessert" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Strong" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Sweet" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Dessert">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#Fruit" />
</owl:Class>
<owl:Class rdf:ID="SweetFruit">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
</owl:Class>
<owl:Class rdf:ID="SweetDessertCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#SweetDessert" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="SweetDessert">
<rdfs:subClassOf rdf:resource="#Dessert" />
</owl:Class>
<owl:Class rdf:ID="DarkMeatFowlCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#DarkMeatFowl" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Light" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="DarkMeatFowl">
<rdfs:subClassOf rdf:resource="#Fowl" />
<owl:disjointWith rdf:resource="#LightMeatFowl" />
</owl:Class>
<owl:Class rdf:ID="CheeseNutsDessertCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#CheeseNutsDessert" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="CheeseNutsDessert">
<rdfs:subClassOf rdf:resource="#Dessert" />
<owl:disjointWith rdf:resource="#SweetDessert" />
</owl:Class>
<owl:Class rdf:ID="BlandFishCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#BlandFish" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Delicate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="BlandFish">
<rdfs:subClassOf rdf:resource="#Fish" />
<owl:disjointWith rdf:resource="#NonBlandFish" />
</owl:Class>
<owl:ObjectProperty rdf:ID="hasFood">
<rdfs:domain rdf:resource="#MealCourse" />
<rdfs:range rdf:resource="#EdibleThing" />
</owl:ObjectProperty>
<owl:Class rdf:ID="Fish">
<rdfs:subClassOf rdf:resource="#Seafood" />
<owl:disjointWith rdf:resource="#Shellfish" />
</owl:Class>
<owl:Class rdf:ID="SpicyRedMeat">
<rdfs:subClassOf rdf:resource="#RedMeat" />
</owl:Class>
<owl:Class rdf:ID="ShellfishCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#Shellfish" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;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>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Shellfish">
<rdfs:subClassOf rdf:resource="#Seafood" />
</owl:Class>
<owl:Class rdf:ID="SeafoodCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#Seafood" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#White" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="Seafood">
<rdfs:subClassOf rdf:resource="#EdibleThing" />
<owl:disjointWith rdf:resource="#Dessert" />
<owl:disjointWith rdf:resource="#Fruit" />
</owl:Class>
<owl:Class rdf:ID="RedMeatCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#RedMeat" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="RedMeat">
<rdfs:subClassOf rdf:resource="#Meat" />
</owl:Class>
<SweetDessert rdf:ID="Cake" />
<SweetFruit rdf:ID="Bananas" />
<SweetFruit rdf:ID="MixedFruit" />
<NonOysterShellfish rdf:ID="Mussels" />
<CheeseNutsDessert rdf:ID="Nuts" />
<OysterShellfish rdf:ID="Oysters" />
<PastaWithLightCreamSauce rdf:ID="PastaWithWhiteClamSauce" />
<SweetFruit rdf:ID="Peaches" />
<SweetDessert rdf:ID="Pie" />
<OtherTomatoBasedFood rdf:ID="Pizza" />
<NonRedMeat rdf:ID="Pork" />
<NonSpicyRedMeat rdf:ID="RoastBeef" />
<BlandFish rdf:ID="Scrod" />
<PastaWithNonSpicyRedSauce rdf:ID="SpaghettiWithTomatoSauce" />
<NonSpicyRedMeat rdf:ID="Steak" />
<NonBlandFish rdf:ID="Swordfish" />
<EatingGrape rdf:ID="ThompsonSeedless" />
<owl:Class rdf:ID="EatingGrape">
<rdfs:subClassOf rdf:resource="#Grape" />
</owl:Class>
<NonBlandFish rdf:ID="Tuna" />
<LightMeatFowl rdf:ID="Turkey" />
<NonSpicyRedMeat rdf:ID="Veal" />
<owl:Class rdf:ID="SpicyRedMeatCourse">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#MealCourse" />
<owl:Restriction>
<owl:onProperty rdf:resource="#hasFood" />
<owl:allValuesFrom rdf:resource="#SpicyRedMeat" />
</owl:Restriction>
</owl:intersectionOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasColor" />
<owl:hasValue rdf:resource="#Red" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasBody" />
<owl:hasValue rdf:resource="#Full" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasFlavor" />
<owl:hasValue rdf:resource="#Moderate" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasDrink" />
<owl:allValuesFrom>
<owl:Restriction>
<owl:onProperty rdf:resource="&vin;hasSugar" />
<owl:hasValue rdf:resource="#Dry" />
</owl:Restriction>
</owl:allValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<SpicyRedMeat rdf:ID="BeefCurry" />
<LightMeatFowl rdf:ID="Chicken" />
<NonOysterShellfish rdf:ID="Clams" />
<DarkMeatFowl rdf:ID="Duck" />
<SpicyRedMeat rdf:ID="GarlickyRoast" />
<DarkMeatFowl rdf:ID="Goose" />
<BlandFish rdf:ID="Halibut" />
<NonOysterShellfish rdf:ID="Crab" />
<BlandFish rdf:ID="Flounder" />
<NonOysterShellfish rdf:ID="Lobster" />
<PastaWithHeavyCreamSauce rdf:ID="FettucineAlfRedo" />
<PastaWithSpicyRedSauce rdf:ID="FraDiavolo" />
<CheeseNutsDessert rdf:ID="Cheese" />
</rdf:RDF>