Skip to content

Instantly share code, notes, and snippets.

@krisalexander200
Created November 17, 2015 21:16
Show Gist options
  • Save krisalexander200/0578272c437cc250443c to your computer and use it in GitHub Desktop.
Save krisalexander200/0578272c437cc250443c to your computer and use it in GitHub Desktop.
Einstein's Riddle with OWL
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY riddle "http://www.solulos.com/riddle#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<rdf:RDF xmlns="http://www.solulos.com/riddle#"
xml:base="http://www.solulos.com/riddle"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:riddle="http://www.solulos.com/riddle#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:Ontology rdf:about="http://www.solulos.com/riddle"/>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Object Properties
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.solulos.com/riddle#drinks -->
<owl:ObjectProperty rdf:about="&riddle;drinks">
<rdf:type rdf:resource="&owl;AsymmetricProperty"/>
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:range rdf:resource="&riddle;Beverage"/>
<rdfs:domain rdf:resource="&riddle;Person"/>
</owl:ObjectProperty>
<!-- http://www.solulos.com/riddle#hasPet -->
<owl:ObjectProperty rdf:about="&riddle;hasPet">
<rdf:type rdf:resource="&owl;AsymmetricProperty"/>
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:domain rdf:resource="&riddle;Person"/>
<rdfs:range rdf:resource="&riddle;Pet"/>
</owl:ObjectProperty>
<!-- http://www.solulos.com/riddle#immediatelyLeftOf -->
<owl:ObjectProperty rdf:about="&riddle;immediatelyLeftOf">
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:domain rdf:resource="&riddle;House"/>
<rdfs:range rdf:resource="&riddle;House"/>
<owl:propertyDisjointWith rdf:resource="&riddle;immediatelyRightOf"/>
<rdfs:subPropertyOf rdf:resource="&riddle;nextTo"/>
</owl:ObjectProperty>
<!-- http://www.solulos.com/riddle#immediatelyRightOf -->
<owl:ObjectProperty rdf:about="&riddle;immediatelyRightOf">
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:domain rdf:resource="&riddle;House"/>
<rdfs:range rdf:resource="&riddle;House"/>
<owl:inverseOf rdf:resource="&riddle;immediatelyLeftOf"/>
<rdfs:subPropertyOf rdf:resource="&riddle;nextTo"/>
</owl:ObjectProperty>
<!-- http://www.solulos.com/riddle#livesIn -->
<owl:ObjectProperty rdf:about="&riddle;livesIn">
<rdf:type rdf:resource="&owl;AsymmetricProperty"/>
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:range rdf:resource="&riddle;House"/>
<rdfs:domain rdf:resource="&riddle;Person"/>
</owl:ObjectProperty>
<!-- http://www.solulos.com/riddle#nextTo -->
<owl:ObjectProperty rdf:about="&riddle;nextTo">
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdf:type rdf:resource="&owl;SymmetricProperty"/>
<rdfs:domain rdf:resource="&riddle;House"/>
<rdfs:range rdf:resource="&riddle;House"/>
</owl:ObjectProperty>
<!-- http://www.solulos.com/riddle#smokes -->
<owl:ObjectProperty rdf:about="&riddle;smokes">
<rdf:type rdf:resource="&owl;AsymmetricProperty"/>
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:range rdf:resource="&riddle;Cigar"/>
<rdfs:domain rdf:resource="&riddle;Person"/>
</owl:ObjectProperty>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Classes
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.solulos.com/riddle#Beverage -->
<owl:Class rdf:about="&riddle;Beverage">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;milk"/>
<rdf:Description rdf:about="&riddle;tea"/>
<rdf:Description rdf:about="&riddle;coffee"/>
<rdf:Description rdf:about="&riddle;beer"/>
<rdf:Description rdf:about="&riddle;water"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<owl:disjointWith rdf:resource="&riddle;Cigar"/>
<owl:disjointWith rdf:resource="&riddle;House"/>
<owl:disjointWith rdf:resource="&riddle;Person"/>
<owl:disjointWith rdf:resource="&riddle;Pet"/>
</owl:Class>
<!-- http://www.solulos.com/riddle#Cigar -->
<owl:Class rdf:about="&riddle;Cigar">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;prince"/>
<rdf:Description rdf:about="&riddle;blueMaster"/>
<rdf:Description rdf:about="&riddle;pallMall"/>
<rdf:Description rdf:about="&riddle;blends"/>
<rdf:Description rdf:about="&riddle;dunhill"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<owl:disjointWith rdf:resource="&riddle;House"/>
<owl:disjointWith rdf:resource="&riddle;Person"/>
<owl:disjointWith rdf:resource="&riddle;Pet"/>
</owl:Class>
<!-- http://www.solulos.com/riddle#FirstHouse -->
<owl:Class rdf:about="&riddle;FirstHouse">
<rdfs:subClassOf rdf:resource="&riddle;House"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;nextTo"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;immediatelyLeftOf"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;immediatelyRightOf"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith rdf:resource="&riddle;LastHouse"/>
<owl:disjointWith rdf:resource="&riddle;MiddleHouse"/>
</owl:Class>
<!-- http://www.solulos.com/riddle#House -->
<owl:Class rdf:about="&riddle;House">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;white"/>
<rdf:Description rdf:about="&riddle;green"/>
<rdf:Description rdf:about="&riddle;yellow"/>
<rdf:Description rdf:about="&riddle;blue"/>
<rdf:Description rdf:about="&riddle;red"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<owl:disjointWith rdf:resource="&riddle;Person"/>
<owl:disjointWith rdf:resource="&riddle;Pet"/>
</owl:Class>
<!-- http://www.solulos.com/riddle#LastHouse -->
<owl:Class rdf:about="&riddle;LastHouse">
<rdfs:subClassOf rdf:resource="&riddle;House"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;immediatelyRightOf"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;immediatelyLeftOf"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;nextTo"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith rdf:resource="&riddle;MiddleHouse"/>
</owl:Class>
<!-- http://www.solulos.com/riddle#MiddleHouse -->
<owl:Class rdf:about="&riddle;MiddleHouse">
<rdfs:subClassOf rdf:resource="&riddle;House"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;immediatelyRightOf"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;nextTo"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;immediatelyLeftOf"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
<!-- http://www.solulos.com/riddle#Person -->
<owl:Class rdf:about="&riddle;Person">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;norwegian"/>
<rdf:Description rdf:about="&riddle;dane"/>
<rdf:Description rdf:about="&riddle;brit"/>
<rdf:Description rdf:about="&riddle;german"/>
<rdf:Description rdf:about="&riddle;swede"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;drinks"/>
<owl:onClass rdf:resource="&riddle;Beverage"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;hasPet"/>
<owl:onClass rdf:resource="&riddle;Pet"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;smokes"/>
<owl:onClass rdf:resource="&riddle;Cigar"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&riddle;livesIn"/>
<owl:onClass rdf:resource="&riddle;House"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<owl:disjointWith rdf:resource="&riddle;Pet"/>
</owl:Class>
<!-- http://www.solulos.com/riddle#Pet -->
<owl:Class rdf:about="&riddle;Pet">
<owl:equivalentClass>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;cat"/>
<rdf:Description rdf:about="&riddle;horse"/>
<rdf:Description rdf:about="&riddle;bird"/>
<rdf:Description rdf:about="&riddle;dog"/>
<rdf:Description rdf:about="&riddle;fish"/>
</owl:oneOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// Individuals
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<!-- http://www.solulos.com/riddle#beer -->
<owl:NamedIndividual rdf:about="&riddle;beer">
<rdf:type rdf:resource="&riddle;Beverage"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#bird -->
<owl:NamedIndividual rdf:about="&riddle;bird">
<rdf:type rdf:resource="&riddle;Pet"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#blends -->
<owl:NamedIndividual rdf:about="&riddle;blends">
<rdf:type rdf:resource="&riddle;Cigar"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#blue -->
<owl:NamedIndividual rdf:about="&riddle;blue">
<rdf:type rdf:resource="&riddle;House"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#blueMaster -->
<owl:NamedIndividual rdf:about="&riddle;blueMaster">
<rdf:type rdf:resource="&riddle;Cigar"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#brit -->
<owl:NamedIndividual rdf:about="&riddle;brit">
<rdf:type rdf:resource="&riddle;Person"/>
<livesIn rdf:resource="&riddle;red"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#cat -->
<owl:NamedIndividual rdf:about="&riddle;cat">
<rdf:type rdf:resource="&riddle;Pet"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#coffee -->
<owl:NamedIndividual rdf:about="&riddle;coffee">
<rdf:type rdf:resource="&riddle;Beverage"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#dane -->
<owl:NamedIndividual rdf:about="&riddle;dane">
<rdf:type rdf:resource="&riddle;Person"/>
<drinks rdf:resource="&riddle;tea"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#dog -->
<owl:NamedIndividual rdf:about="&riddle;dog">
<rdf:type rdf:resource="&riddle;Pet"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#dunhill -->
<owl:NamedIndividual rdf:about="&riddle;dunhill">
<rdf:type rdf:resource="&riddle;Cigar"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#fifth -->
<owl:NamedIndividual rdf:about="&riddle;fifth">
<rdf:type rdf:resource="&riddle;LastHouse"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#first -->
<owl:NamedIndividual rdf:about="&riddle;first">
<rdf:type rdf:resource="&riddle;FirstHouse"/>
<immediatelyLeftOf rdf:resource="&riddle;second"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#fish -->
<owl:NamedIndividual rdf:about="&riddle;fish">
<rdf:type rdf:resource="&riddle;Pet"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#fourth -->
<owl:NamedIndividual rdf:about="&riddle;fourth">
<rdf:type rdf:resource="&riddle;MiddleHouse"/>
<immediatelyLeftOf rdf:resource="&riddle;fifth"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#german -->
<owl:NamedIndividual rdf:about="&riddle;german">
<rdf:type rdf:resource="&riddle;Person"/>
<smokes rdf:resource="&riddle;prince"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#green -->
<owl:NamedIndividual rdf:about="&riddle;green">
<rdf:type rdf:resource="&riddle;House"/>
<immediatelyLeftOf rdf:resource="&riddle;white"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#horse -->
<owl:NamedIndividual rdf:about="&riddle;horse">
<rdf:type rdf:resource="&riddle;Pet"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#houseNorwegian -->
<owl:NamedIndividual rdf:about="&riddle;houseNorwegian">
<rdf:type rdf:resource="&riddle;House"/>
<nextTo rdf:resource="&riddle;blue"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#houseWithBlends -->
<owl:NamedIndividual rdf:about="&riddle;houseWithBlends">
<rdf:type rdf:resource="&riddle;House"/>
<nextTo rdf:resource="&riddle;houseWithCats"/>
<nextTo rdf:resource="&riddle;houseWithWater"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#houseWithCats -->
<owl:NamedIndividual rdf:about="&riddle;houseWithCats">
<rdf:type rdf:resource="&riddle;House"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#houseWithHorses -->
<owl:NamedIndividual rdf:about="&riddle;houseWithHorses">
<rdf:type rdf:resource="&riddle;House"/>
<nextTo rdf:resource="&riddle;yellow"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#houseWithWater -->
<owl:NamedIndividual rdf:about="&riddle;houseWithWater">
<rdf:type rdf:resource="&riddle;House"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#milk -->
<owl:NamedIndividual rdf:about="&riddle;milk">
<rdf:type rdf:resource="&riddle;Beverage"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#norwegian -->
<owl:NamedIndividual rdf:about="&riddle;norwegian">
<rdf:type rdf:resource="&riddle;Person"/>
<livesIn rdf:resource="&riddle;first"/>
<livesIn rdf:resource="&riddle;houseNorwegian"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#pallMall -->
<owl:NamedIndividual rdf:about="&riddle;pallMall">
<rdf:type rdf:resource="&riddle;Cigar"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personA -->
<owl:NamedIndividual rdf:about="&riddle;personA">
<rdf:type rdf:resource="&riddle;Person"/>
<drinks rdf:resource="&riddle;coffee"/>
<livesIn rdf:resource="&riddle;green"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personB -->
<owl:NamedIndividual rdf:about="&riddle;personB">
<rdf:type rdf:resource="&riddle;Person"/>
<hasPet rdf:resource="&riddle;bird"/>
<smokes rdf:resource="&riddle;pallMall"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personC -->
<owl:NamedIndividual rdf:about="&riddle;personC">
<rdf:type rdf:resource="&riddle;Person"/>
<smokes rdf:resource="&riddle;dunhill"/>
<livesIn rdf:resource="&riddle;yellow"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personD -->
<owl:NamedIndividual rdf:about="&riddle;personD">
<rdf:type rdf:resource="&riddle;Person"/>
<drinks rdf:resource="&riddle;milk"/>
<livesIn rdf:resource="&riddle;third"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personE -->
<owl:NamedIndividual rdf:about="&riddle;personE">
<rdf:type rdf:resource="&riddle;Person"/>
<smokes rdf:resource="&riddle;blends"/>
<livesIn rdf:resource="&riddle;houseWithBlends"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personF -->
<owl:NamedIndividual rdf:about="&riddle;personF">
<rdf:type rdf:resource="&riddle;Person"/>
<hasPet rdf:resource="&riddle;cat"/>
<livesIn rdf:resource="&riddle;houseWithCats"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personG -->
<owl:NamedIndividual rdf:about="&riddle;personG">
<rdf:type rdf:resource="&riddle;Person"/>
<hasPet rdf:resource="&riddle;horse"/>
<livesIn rdf:resource="&riddle;houseWithHorses"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personH -->
<owl:NamedIndividual rdf:about="&riddle;personH">
<rdf:type rdf:resource="&riddle;Person"/>
<drinks rdf:resource="&riddle;beer"/>
<smokes rdf:resource="&riddle;blueMaster"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#personJ -->
<owl:NamedIndividual rdf:about="&riddle;personJ">
<rdf:type rdf:resource="&riddle;Person"/>
<livesIn rdf:resource="&riddle;houseWithWater"/>
<drinks rdf:resource="&riddle;water"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#prince -->
<owl:NamedIndividual rdf:about="&riddle;prince">
<rdf:type rdf:resource="&riddle;Cigar"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#red -->
<owl:NamedIndividual rdf:about="&riddle;red">
<rdf:type rdf:resource="&riddle;House"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#second -->
<owl:NamedIndividual rdf:about="&riddle;second">
<rdf:type rdf:resource="&riddle;MiddleHouse"/>
<immediatelyLeftOf rdf:resource="&riddle;third"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#swede -->
<owl:NamedIndividual rdf:about="&riddle;swede">
<rdf:type rdf:resource="&riddle;Person"/>
<hasPet rdf:resource="&riddle;dog"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#tea -->
<owl:NamedIndividual rdf:about="&riddle;tea">
<rdf:type rdf:resource="&riddle;Beverage"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#third -->
<owl:NamedIndividual rdf:about="&riddle;third">
<rdf:type rdf:resource="&riddle;MiddleHouse"/>
<immediatelyLeftOf rdf:resource="&riddle;fourth"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#water -->
<owl:NamedIndividual rdf:about="&riddle;water">
<rdf:type rdf:resource="&riddle;Beverage"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#white -->
<owl:NamedIndividual rdf:about="&riddle;white">
<rdf:type rdf:resource="&riddle;House"/>
</owl:NamedIndividual>
<!-- http://www.solulos.com/riddle#yellow -->
<owl:NamedIndividual rdf:about="&riddle;yellow">
<rdf:type rdf:resource="&riddle;House"/>
</owl:NamedIndividual>
<!--
///////////////////////////////////////////////////////////////////////////////////////
//
// General axioms
//
///////////////////////////////////////////////////////////////////////////////////////
-->
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;blends"/>
<rdf:Description rdf:about="&riddle;blueMaster"/>
<rdf:Description rdf:about="&riddle;dunhill"/>
<rdf:Description rdf:about="&riddle;pallMall"/>
<rdf:Description rdf:about="&riddle;prince"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;brit"/>
<rdf:Description rdf:about="&riddle;dane"/>
<rdf:Description rdf:about="&riddle;german"/>
<rdf:Description rdf:about="&riddle;norwegian"/>
<rdf:Description rdf:about="&riddle;swede"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;blue"/>
<rdf:Description rdf:about="&riddle;green"/>
<rdf:Description rdf:about="&riddle;red"/>
<rdf:Description rdf:about="&riddle;white"/>
<rdf:Description rdf:about="&riddle;yellow"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;fifth"/>
<rdf:Description rdf:about="&riddle;first"/>
<rdf:Description rdf:about="&riddle;fourth"/>
<rdf:Description rdf:about="&riddle;second"/>
<rdf:Description rdf:about="&riddle;third"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;beer"/>
<rdf:Description rdf:about="&riddle;coffee"/>
<rdf:Description rdf:about="&riddle;milk"/>
<rdf:Description rdf:about="&riddle;tea"/>
<rdf:Description rdf:about="&riddle;water"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="&riddle;bird"/>
<rdf:Description rdf:about="&riddle;cat"/>
<rdf:Description rdf:about="&riddle;dog"/>
<rdf:Description rdf:about="&riddle;fish"/>
<rdf:Description rdf:about="&riddle;horse"/>
</owl:distinctMembers>
</rdf:Description>
</rdf:RDF>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment