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>