Re: "OWL" Entailment

On 7 May 2009, at 15:12, Chimezie Ogbuji wrote:

> On 5/6/09 1:14 PM, "Bijan Parsia" <bparsia@cs.man.ac.uk> wrote:
[snip]
>> Example (OWL):
>> s rdf:type [a owl:Restriction;
>> owl:onProperty :p;
>> owl:someValuesFrom owl:Thing]
>> entails s p _:g.
>>
>> Should SELECT ?X WHERE {s p ?X} return anything? (I say no)
>
> Hmm.. This is tricky.  Can you elaborate on why you think there  
> shouldn't be
> any answers here.  I understand that the same argument for the  
> first example
> (simple entailment) would apply here, but intuitively it seems to  
> me that a
> user-specified existential restriction in this case is more  
> 'suggestive'
> (for lack of a better word - I really don't have any principled  
> reason other
> than intuition regarding the OWL author's intent) of the s p _:g  
> entailment.

In my experience, no one expects that to entail a bNode. Most people  
(of all sorts of sophistication) just don't get the correspondence  
between bNodes and someValuesFrom. Indeed, between bNodes and  
existential variables. Most people (in my experience) think of bNodes  
as funny singular terms.

Thus, I believe most people would be surprised by that answer.

That's the user side. Technically, I would worry about it because  
it's hard to know how many bnodes to generate. For example, if you  
say P min 4 C, that's the same as 4 someValuesFrom (in some sense).

> For example, consider:
>
> Brain rdfs:subClassOf [
>   a owl:Restriction;
>   owl:onProperty part_of;
>   owl:someValuesFrom CentralNervousSystem
> ]
>
> MyBrain a Brain
>
> If the query,
>
> SELECT ?ANATOMY { MyBrain part_of ?ANATOMY }
>
> Returns nothing (as I understand your suggestion above would  
> sanction),

Require.

> a
> user might interpret this as suggesting that 'my brain' is not part of
> anything even though the OWL axioms say it is necessarily part of the
> central nervous system.


Well, if ?ANATOMY is distinguished, it *will* return nothing, since  
we have no named thing that the brain is part of.

If it  is nondistinguished (in an ask query) then we'd get "yes",  
i.e., the brain is part of something (though we aren't sure what it is).

I agree that ideally, it'd be nice to have semi-distinguished  
variables, but, basically, we don't know how to do it. The likely  
thoughts I've had in this area are really computationally difficult  
(and non-distinguished variables are already computationally  
difficult) so it seems unlikely to be implemented anytime soon. So  
I'd rather train users to deal with *this* funny circumstance since  
it doesn't seem *that* bad. (Not good, but I don't think it's that  
big of a leap to say "well, variables are bound to names or to  
explicit bnodes, but not to implicit bnodes". It's a consistent story.)

Cheers,
Bijan.

Received on Thursday, 7 May 2009 14:55:57 UTC