Re: Question on special class description

I figured out that the description I need is a so-called role-value-map, 
which quickly leads to undecidability when combined with other 
constructs. So it should not be surprising that it cannot be expressed 
in OWL-DL...

 > I would think that getting a complete definition for GoodParent would
 > be difficult due to the open world assumption, unless techniques are
 > applied to close the hasChild and loves relations. Otherwise, the OWA
 > would say that there might be children we don't know about, which
 > aren't loved. Or, for the negative (not GoodParent), a child that is
 > known, but not known to be loved, might be loved.

OWA is a good point, I didn't yet think about it in this context. But it 
ensures exactly the behaviour I need.

 > That said, a partial definition would be possible in OWL 2:
 >
 > GoodParent => isGoodParent some Self
 > isGoodParent o hasChild => loves

This definition works only the other way round (GoodParent -> loves his 
Children), right? This is what you meant by "partial", I guess.


 > > I can only see two ways, and they lead out of OWL-DL, but perhaps 
someone
 > > else here has a better idea?
 > >
 > > (1) If you use Boolean operators on roles, you can define a new role
 > > hasChildButDoesNotLoveIt to be "hasChild and not loves". You can 
then define
 > > the desired class as GoodParent = hasChildButDoesNotLoveIt only 
Nothing.

I remember I had a similar idea earlier but dropped it because there is 
no way to build role intersections in OWL-DL (and something like "r3 
subPropertyOf r1, r3 subPropertyOf r2" doesn't do the job).

 > > (2) If you define a new property p to be a superproperty of the chain
 > > "hasChild o inv(loves)", then you can define a GoodParent to be 
equivalent
 > > to not p some Self. Unfortunately, only simple object property 
expressions
 > > are allowed in hasSelf restrictions and p is composite due to the first
 > > statement.

This is also a nice idea, I think I will use it at least as a suggestion.

 > > I suppose this doesn't really help ... :-S

It does, being comfirmed that it doesn't work in DL is also a step forward!


Thanks a lot,
Lennart



 > >>
 > >> I am developing an ontology for a linguistic typological database, 
where I
 > >> need to describe a class of the form:
 > >> { x | ∀y( r1(x,y) -> r2(x,y) ) }
 > >> As explaining the real use of this would be to complicated, imagine a
 > >> class denoting e.g. "people who love (r2: loves) all their 
children (r1:
 > >> hasChild) (or haven't any)".
 > >>
 > >> In prose it doesn't seem to be too complex, but I didn't find a 
way to do
 > >> it..
 > >> CAN this be expressed in OWL-DL? and if, how? (and if not, in 
OWL-FULL?)
 > >>
 > >> Kind regards,
 > >> Lennart Bierkandt
 > >>

Received on Wednesday, 24 February 2010 20:31:06 UTC