Re: Order on individuals in OWL

Dear Natalya,

this is an interesting question, with a tricky answer:

- if you want to write an axiom so that  all "Person"s are  
automatically related by/inferred to be related by "elder" or  
"younger", you can't. This is because dealing with 'concrete  
domains' [1,2] is problematic and easily leads to undecidability  
and .... OWL provides datatypes (such as integer, string, etc) and  
some predicates on them, but they can't be used to compare one  
person's age with another person's age.

- if you only want to order *known* persons (and are happy to ignore  
the "elder" relationship on those persons whose existence is  
inferred), you can make use of, say DL-safe rules.

- if you want to use "elder" in a *query*, things become even a bit  
easier if you use conjunctive queries, SPARQL, or a query language  
such as NRQL.

Cheers, Uli


[1] F. Baader and P. Hanschke.  A Scheme for Integrating Concrete  
Domains into Concept Languages. In  Proceedings of the 12th  
International Joint Conference on Artificial Intelligence, IJCAI-91,  
pages 452–457, Sydney (Australia), 1991.

[2] Carsten Lutz. Description Logics with Concrete Domains - A Survey.  
In Philippe Balbiani, Nobu-Yuki Suzuki, Frank Wolter, and Michael  
Zakharyaschev, editors, Advances in Modal Logics Volume 4. King's  
College Publications, 2003.

On 19 May 2009, at 08:23, Natalya Keberle wrote:

> Hello,
>
> OWL 2 primer describes a Family ontology, where one property to  
> describe a "Person" is DataProperty "hasAge" ranging in integers.
> How to define a relationships "elder"/"younger" on individuals of  
> Persons, such that setting hasAge values to all persons in a family  
> I can deduce the seniority order in this family.
>
> Looking broader, the question might be like: how to define orders on  
> individuals basing on their particular data property values?
>
> Natalya Keberle
> ZNU, Ukraine

Received on Tuesday, 19 May 2009 10:01:59 UTC