Warning:
This wiki has been archived and is now read-only.
PrimerExampleRDFXML
From OWL
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY owl11 "http://www.w3.org/2006/12/owl11#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY f "http://example.com/owl/families#" >
<!ENTITY g "http://example.com/owl2/families#" >
<!ENTITY dc "http://purl.org/dc/elements/1.1/#" >
]>
<rdf:RDF xml:base="http://example.com/owl/families"
xmlns="http://example.com/owl/families#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:owl11="http://www.w3.org/2006/12/owl11#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:f="http://example.com/owl/families#"
xmlns:g="http://example.com/owl2/families#"
>
<owl:Ontology rdf:about="http://example.com/owl/families">
<owl:imports rdf:resource="http://example.com/owl2/families.owl"/>
</owl:Ontology>
<owl:ObjectProperty rdf:about="#hasAncestor">
<rdf:type rdf:resource="&owl;TransitiveProperty"/>
<rdf:type rdf:resource="&owl11;IrreflexiveProperty"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#hasChild">
<rdfs:subPropertyOf rdf:resource="#hasAncestor"/>
<rdfs:domain rdf:resource="#Person"/>
<rdfs:range rdf:resource="#Person"/>
<owl:equivalentProperty rdf:resource="&g;child"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#hasDaughter">
<rdfs:range>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGender"/>
<owl:hasValue rdf:resource="#female"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</rdfs:range>
<rdfs:range rdf:resource="#Person"/>
<rdfs:domain rdf:resource="#Person"/>
<rdfs:subPropertyOf rdf:resource="#hasChild"/>
<rdfs:domain rdf:resource="#Parent"/>
<owl11:disjointObjectProperties rdf:resource="#hasSon"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#hasGender"/>
<owl:ObjectProperty rdf:about="#hasHusband">
<owl:inverseOf rdf:resource="#hasWife"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#hasSon">
<rdfs:range>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGender"/>
<owl:hasValue rdf:resource="#male"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</rdfs:range>
<rdfs:subPropertyOf rdf:resource="#hasChild"/>
<rdfs:range rdf:resource="#Person"/>
<rdfs:domain rdf:resource="#Person"/>
<rdfs:domain rdf:resource="#Parent"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#hasSpouse">
<rdf:type rdf:resource="&owl;SymmetricProperty"/>
<rdf:type rdf:resource="&owl11;IrreflexiveProperty"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#hasWife">
<rdf:type rdf:resource="&owl;InverseFunctionalProperty"/>
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdf:type rdf:resource="&owl11;AsymmetricProperty"/>
<rdf:type rdf:resource="&owl11;IrreflexiveProperty"/>
<rdfs:domain rdf:resource="#Person"/>
<rdfs:range rdf:resource="#Person"/>
<rdfs:subPropertyOf rdf:resource="#loves"/>
<rdfs:range rdf:resource="#Woman"/>
<rdfs:subPropertyOf rdf:resource="#hasSpouse"/>
<rdfs:domain rdf:resource="#Man"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#loves">
<rdfs:domain rdf:resource="#Person"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:about="#hasAge">
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#Person"/>
<rdfs:range rdf:resource="&xsd;integer"/>
<owl:equivalentProperty rdf:resource="&g;age"/>
</owl:DatatypeProperty>
<owl:Class rdf:about="#Adult">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasAge"/>
<owl:someValuesFrom>
<rdf:Description>
<rdf:type rdf:resource="&owl;DataRange"/>
<owl11:onDataRange rdf:resource="&xsd;integer"/>
<owl11:minInclusive rdf:datatype="&xsd;int">21</owl11:minInclusive>
</rdf:Description>
</owl:someValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
<owl:equivalentClass rdf:resource="&g;Grownup"/>
</owl:Class>
<owl:Class rdf:about="#Child">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Class>
<owl:complementOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasAge"/>
<owl:someValuesFrom>
<rdf:Description>
<rdf:type rdf:resource="&owl;DataRange"/>
<owl11:onDataRange rdf:resource="&xsd;integer"/>
<owl11:minInclusive rdf:datatype="&xsd;int">21</owl11:minInclusive>
</rdf:Description>
</owl:someValuesFrom>
</owl:Restriction>
</owl:complementOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#CivilMarriage" />
<owl:Class rdf:about="#Man">
<rdfs:subClassOf rdf:resource="#Parent"/>
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGender"/>
<owl:hasValue rdf:resource="#male"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#Marriage">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#CivilMarriage"/>
<rdf:Description rdf:about="#ReligiousMarriage"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#Narcissist">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description>
<rdf:type rdf:resource="&owl11;SelfRestriction"/>
<owl:onProperty rdf:resource="#loves"/>
</rdf:Description>
<rdf:Description rdf:about="#Person"/>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#Parent">
<rdfs:subClassOf rdf:resource="#Parent"/>
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="#hasChild"/>
<owl11:onClass rdf:resource="#Person"/>
<owl:minCardinalityQ rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinalityQ>
</owl:Restriction>
<rdf:Description rdf:about="#Person"/>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#Person">
<rdfs:subClassOf>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGender"/>
<owl:allValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<rdf:Description rdf:about="#female"/>
<rdf:Description rdf:about="#male"/>
</owl:oneOf>
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGender"/>
<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasAge"/>
<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:about="#ReligiousMarriage">
<owl:disjointWith rdf:resource="#CivilMarriage"/>
</owl:Class>
<owl:Class rdf:about="#Teenager">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasAge"/>
<owl:someValuesFrom>
<rdf:Description>
<rdf:type rdf:resource="&owl;DataRange"/>
<owl11:minInclusive rdf:datatype="&xsd;int">13</owl11:minInclusive>
<owl11:maxExclusive rdf:datatype="&xsd;int">20</owl11:maxExclusive>
<owl11:onDataRange rdf:resource="&xsd;integer"/>
</rdf:Description>
</owl:someValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#Woman">
<rdfs:subClassOf rdf:resource="#Parent"/>
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGender"/>
<owl:hasValue rdf:resource="#female"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<owl:Class rdf:about="#YoungChild">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Person"/>
<owl:Class>
<owl:complementOf>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="#Adult"/>
<rdf:Description rdf:about="#Teenager"/>
</owl:unionOf>
</owl:Class>
</owl:complementOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
<rdf:Description rdf:about="#Bill">
<rdf:type>
<owl:Class>
<owl:complementOf rdf:resource="#Narcissist"/>
</owl:Class>
</rdf:type>
<hasAge rdf:datatype="&xsd;integer">13</hasAge>
<hasGender rdf:resource="#male"/>
</rdf:Description>
<rdf:Description rdf:about="#Ellen">
<rdf:type>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasAge"/>
<owl:someValuesFrom>
<rdf:Description>
<rdf:type rdf:resource="&owl;DataRange"/>
<owl11:minInclusive rdf:datatype="&xsd;int">15</owl11:minInclusive>
<owl11:onDataRange rdf:resource="&xsd;integer"/>
<owl11:maxInclusive rdf:datatype="&xsd;int">21</owl11:maxInclusive>
</rdf:Description>
</owl:someValuesFrom>
</owl:Restriction>
</rdf:type>
</rdf:Description>
<rdf:Description rdf:about="#Emily">
<rdf:type>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasAge"/>
<owl:someValuesFrom>
<rdf:Description>
<rdf:type rdf:resource="&owl;DataRange"/>
<owl:oneOf>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:first rdf:datatype="&xsd;integer">39</rdf:first>
<rdf:rest>
<rdf:Description>
<rdf:type rdf:resource="&rdf;List"/>
<rdf:rest rdf:resource="&rdf;nil"/>
<rdf:first rdf:datatype="&xsd;integer">49</rdf:first>
</rdf:Description>
</rdf:rest>
</rdf:Description>
</owl:oneOf>
</rdf:Description>
</owl:someValuesFrom>
</owl:Restriction>
</rdf:type>
</rdf:Description>
<owl11:NegativeDataPropertyAssertion>
<rdf:subject rdf:resource="#Jack"/>
<rdf:predicate rdf:resource="#hasAge"/>
<rdf:object rdf:datatype="&xsd;integer">53</rdf:object>
</owl11:NegativeDataPropertyAssertion>
<rdf:Description rdf:about="#Jeff">
<rdf:type>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasChild"/>
<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
</owl:Restriction>
</rdf:type>
<hasAge rdf:datatype="&xsd;integer">77</hasAge>
<hasChild rdf:resource="#Ellen"/>
<hasWife rdf:resource="#Emily"/>
<loves rdf:resource="#Jeff"/>
<hasChild rdf:resource="#Jack"/>
</rdf:Description>
<Person rdf:about="#John">
<hasDaughter rdf:resource="#Susan"/>
<hasGender rdf:resource="#male"/>
<hasWife rdf:resource="#Mary"/>
<hasSon rdf:resource="#Bill"/>
<hasAge rdf:datatype="&xsd;integer">33</hasAge>
<owl:sameAs rdf:resource="#Jack"/>
</Person>
<rdf:Description rdf:about="#Mary">
<hasAge rdf:datatype="&xsd;integer">31</hasAge>
<hasGender rdf:resource="#female"/>
<hasSon rdf:resource="#Bill"/>
<hasDaughter rdf:resource="#Susan"/>
</rdf:Description>
<rdf:Description rdf:about="#Susan">
<hasAge rdf:datatype="&xsd;integer">8</hasAge>
<hasGender rdf:resource="#female"/>
</rdf:Description>
<rdf:Description rdf:about="#female">
<owl:sameAs rdf:resource="&g;feminine"/>
</rdf:Description>
<rdf:Description rdf:about="#male">
<owl:sameAs rdf:resource="&g;masculine"/>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="#John"/>
<rdf:Description rdf:about="#Mary"/>
<rdf:Description rdf:about="#Bill"/>
<rdf:Description rdf:about="#Susan"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="#Jeff"/>
<rdf:Description rdf:about="#Emily"/>
<rdf:Description rdf:about="#Jack"/>
<rdf:Description rdf:about="#Ellen"/>
<rdf:Description rdf:about="#Susan"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<rdf:type rdf:resource="&owl;AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:about="#male"/>
<rdf:Description rdf:about="#female"/>
</owl:distinctMembers>
</rdf:Description>
<rdf:Description>
<owl:propertyChain rdf:parseType="Collection">
<rdf:Description rdf:about="#hasSpouse"/>
<rdf:Description rdf:about="#hasSon"/>
</owl:propertyChain>
<rdfs:subPropertyOf rdf:resource="#hasSon"/>
</rdf:Description>
<rdf:Description>
<owl:propertyChain rdf:parseType="Collection">
<rdf:Description rdf:about="#hasSpouse"/>
<rdf:Description rdf:about="#hasDaughter"/>
</owl:propertyChain>
<rdfs:subPropertyOf rdf:resource="#hasDaughter"/>
</rdf:Description>
</rdf:RDF>