Re: TEST, SEM: test cases for dark triples

From: jos.deroo.jd@belgium.agfa.com
Subject: Re: TEST, SEM: test cases for dark triples
Date: Sat, 27 Apr 2002 22:08:05 +0200

> 
> > [...]
> >
> > > That worked as such but was meaningless/misleading and is now thrown away.
> > > We now have (as a matter of test) another possible pair of er
> > >
> > > { ?s ?p ?o . ?s a [ owl:restrictionOf ( ?p ?C ) ] } log:implies { ?o a ?C }
> .
> > >
> > > { ?s ?p ?o . ?o a ?C } log:implies { ?s a [ owl:restrictionOf ( ?p ?C ) ] }
> .
> >
> > Well these are a rather strange pair of inference rules.  They certainly
> > are not correct for any of the DAML+OIL constructs, nor for any OWL
> > construct that I have seen proposed.
> >
> > Could you please give me an informal description of what owl:restrictionOf
> > is supposed to mean?
> 
> the ?x is shorthand "for all x elements of the domain of discourse"
> ?s ?p ?o . ?s a [ owl:restrictionOf ( ?p ?C ) ] in the premise is
> actually ?s ?p ?o . ?s a ?x . ?x owl:restrictionOf ( ?p ?C )
> (btw the . is shorthand for logical conjunction)

> owl:restrictionOf is a rdf:Property whose
> rdfs:domain is owl:Class and whose rdfs:range is owl:Seq
> i.e. a sequence of a rdfs:Property followed by an owl:Class
> also owl:restrictionOf is an owl:UnambiguousProperty
> so we don't need a Skolem function in the second consequent
> 
> an example could be something like
>  :Person rdfs:subClassOf [ owl:restrictedBy ( :hasParent :Person ) ] .
> which is btw also an example of :Person circularity
> 
> --
> Jos
> 

This helps me not at all.  I need to know what owl:restrictionOf is
supposed to mean, not what arguments it takes!


Trying to determine what owl:restrictionOf means from your rules leads to
the following reasoning:


Consider the following situation:

i p o .
i a [owl:restrictionOf ( p C ) ] .

From this and application of the rule

{ ?s ?p ?o . ?s a [ owl:restrictionOf ( ?p ?C ) ] } log:implies { ?o a ?C } . 

produces 

o p C .

which is the usual inference from a standard DL value restriction.


However, in the following situation

i p o1.
o1 a C1 .

the rule

{ ?s ?p ?o . ?o a ?C } log:implies { ?s a [ owl:restrictionOf ( ?p ?C ) ] } .

produces

i a  [ owl:restrictionOf ( p C1 ) ] .

This is definitly *not* what would follow from a standard DL value
restriction.


Taken together, the two rules produce truely bizzare situations.

For example

john sibling jake .
jake a Man .
john sibling jill .
jill a Woman .

produces, using two applications of the second rule,

john a [ owl:restrictionOf ( sibling Man ) ] .
john a [ owl:restrictionOf ( sibling Woman ) ] .

Then, from the first rule,

jake a Woman .
jill a Man .

This is why I am totally confused as to what you want owl:restrictionOf to
mean.


Peter F. Patel-Schneider
Bell Labs Research.

Received on Monday, 29 April 2002 08:46:40 UTC