[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