- From: Chris Catton <chris.catton@zoology.oxford.ac.uk>
- Date: Tue, 24 Jun 2003 19:30:49 +0100
- To: <www-rdf-interest@w3.org>
Hi there, I'm trying to put together a simple ontology of family relationships as part of a larger ontology of animal behaviour, and I'd appreciate some advice on the best way to describe the concepts around 'cousin'. I'd like to define a class of first_cousins as the class of individuals that share the same grandparents with another individual who is not also their sibling. I can't really see how to do this. I can get around the problem by saying something like 'cousins are the class of individuals whose parents are either aunts or uncles'. In itself this is ugly, and it gets even worse when I want to describe second cousins - individuals who share the same great-grandparents. I've seen the work by Jos De Roo at http://www.agfa.com/w3c/euler/gedcom-relations.n3 which gives {: rdfs:fyi :rule22. ?S gc:sibling ?S2. ?S gc:descendent ?D. ?S2 gc:descendent ?D2} => {?D gc:cousin ?D2}. but I don't see how to write the same in daml/owl I feel I must be missing something - can anyone point me in the right direction please? (For what it's worth, my first hack at first_cousin is appended below - namespaces removed for brevity) <daml:Class rdf:about="#First_Cousin"> <rdfs:label>First Cousin</rdfs:label> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#has_parent"/> <daml:hasClass> <daml:Class> <daml:unionOf> <daml:List> <daml:first> <daml:#Aunt"/> </daml:first> <daml:rest> <daml:List> <daml:first> <daml:#Uncle"/> </daml:first> <daml:rest> <daml:nil/> </daml:rest> </daml:List> </daml:rest> </daml:List> </daml:unionOf> </daml:Class> </daml:hasClass> </daml:Restriction> </rdfs:subClassOf> </daml:Class>
Received on Tuesday, 24 June 2003 14:31:47 UTC