[Pellet-users] N-ary relations

Bijan Parsia bijan at clarkparsia.com
Tue Sep 18 08:17:35 UTC 2007


On Sep 18, 2007, at 9:05 AM, Role Francois wrote:

> Hi Pellet users,
>
> First of all, many thanks to Rob and Bijan for their answers  
> concerning
> how to control debug information.
>
> I have another (unrelated) question. I wonder how n-ary relations  
> (n> 2)
> can be represented in OWL.

Standardly, by reification (i.e., by making the relation an object  
with (binary) relations to each term).

Some DLs have syntactic support for this (i.e., DLR).

There are some special cases.

> For example suppose the temperature of an object depends both on its
> location and the time of the day as in the foillowing :

This could perhaps be modeled using an n-ary datatype predicate,  
which are part of OWL 1.1. If the set of times of day is small, you  
could use a set of unary datatypes (morningTemp, eveningTemp), or, if  
we added lists to the supported datatypes, unary datatypes of pairs.

I don't know that any of the implementations support n-ary datatype  
predicates yet.

> temperature(object1,garden,afternoon,20)
> temperature(object1,garden,morning,20)
> temperature(object1,house,afternoon,18)
> ....
>
> Of course we could use binary relations such as :
>
> gardenAfternoonTemperature(object1,20)
> gardenMorningTemperature(objetc1,10)
> ....

Or, hasTemp [timeOfDay afternoon; degrees 20].

Which is more standard.

> But it seems quite awkward...

Yep. If the values tended to be ground, one could use nary dl safe  
rules (which are not currently supported by anyone; see the AL Log  
papers for an idea of what they could be like).

> I realize this is not a Pellet-specific question but if any one has  
> any
> suggestion I would be grateful,

Yep. public-owl-dev is a better list.

Cheers,
Bijan.


More information about the Pellet-users mailing list