# baseURI: http://www.workingontologist.org/Examples/Chapter7/Ancestry

@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix daml:    <http://www.daml.org/2001/03/daml+oil#> .
@prefix anc:        <http://www.workingontologist.org/Examples/Chapter7/Ancestry#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .

<http://www.workingontologist.org/Examples/Chapter7/Ancestry>
      a       owl:Ontology .

anc:Alexia rdfs:label "Alexia" ;
      a       anc:Person ;
      anc:hasParent anc:WillemAlexander .

anc:Beatrix rdfs:label "Beatrix" ;
      a       anc:Person ;
      anc:hasParent anc:Wilhelmina .

anc:Person rdfs:label "Person" ;
      a       owl:Class ;
      rdfs:subClassOf owl:Thing .

anc:Wilhelmina rdfs:label "Wilhelmina" ;
      a       anc:Person .

anc:WillemAlexander rdfs:label "WillemAlexander" ;
      a       anc:Person ;
      anc:hasParent anc:Beatrix .

anc:hasAncestor rdfs:label "hasAncestor" ;
      a       owl:ObjectProperty , owl:TransitiveProperty ;
      rdfs:domain anc:Person ;
      rdfs:range anc:Person .

anc:hasParent rdfs:label "hasParent" ;
      a       owl:ObjectProperty ;
      rdfs:domain anc:Person ;
      rdfs:range anc:Person ;
      rdfs:subPropertyOf anc:hasAncestor .


anc:DescendantOfWillemAlexander a owl:Class ; rdfs:label "Desc of Willem" ;
    owl:equivalentClass [ a owl:Restriction ; rdfs:label "hasAncestor = WillemAlexander" ;
                          owl:onProperty anc:hasAncestor ;
                          owl:hasValue anc:WillemAlexander
                        ] .


anc:DescendantOfBeatrix a owl:Class ; rdfs:label "Desc of Beatrix" ;
     owl:equivalentClass [ a owl:Restriction ;  rdfs:label "hasAncestor=Beatrix" ;
                           owl:onProperty anc:hasAncestor ;
                           owl:hasValue anc:Beatrix
                         ] .


anc:DescendantOfWilhelmina a owl:Class ; rdfs:label "Desc of Wilhelmina" ;
        owl:equivalentClass [ a owl:Restriction ;  rdfs:label "hasAncestor = Wilhelmina" ;
                              owl:onProperty anc:hasAncestor ;
                              owl:hasValue anc:Wilhelmina
                            ] .
