W3C home > Mailing lists > Public > semantic-web@w3.org > March 2011

Re: AW: {Disarmed} Re: blank nodes (once again)

From: Pat Hayes <phayes@ihmc.us>
Date: Fri, 25 Mar 2011 10:41:32 -0500
Cc: Michael Schneider <schneid@fzi.de>, Graham Klyne <GK-lists@ninebynine.org>, Dieter Fensel <dieter.fensel@sti2.at>, Enrico Franconi <franconi@inf.unibz.it>, Hugh Glaser <hg@ecs.soton.ac.uk>, Mark Wallace <mwallace@modusoperandi.com>, Alan Ruttenberg <alanruttenberg@gmail.com>, Reto Bachmann-Gmuer <reto.bachmann@trialox.org>, Ivan Shmakov <oneingray@gmail.com>, Ivan Shmakov <ivan@main.uusia.org>, "<semantic-web@w3.org>" <semantic-web@w3.org>
Message-Id: <A2EAFE88-650A-4615-A1D2-1AD8CCA93EE0@ihmc.us>
To: Sandro Hawke <sandro@w3.org>

On Mar 25, 2011, at 10:05 AM, Sandro Hawke wrote:

> Thanks for the detailed answer, but I'm pretty sure you're answering a
> different question than I meant.   (Sorry for not being more clear.)
> What I meant was: is OWL 2 Full okay with people Skolemizing ontologies
> they are asserting?
> 
> I might be misunderstanding, but it seems like all the problems you
> point out only arise during the entailment check.  And yes, I know you
> can't Skolemize a query.   I would never even think about doing that.
> I'm just talking about Skolemizing assertions.
> 
> I think its general best to do queries in a query language and/or a rule
> language, but maybe that's a matter of taste.
> 
> You say, "you never know how someone will use your graph", so I guess
> the point is that Alice might publish an ontology that gets Skolemized
> by her system, and then Bob publishes an identical ontology, and then
> when Charlie comes along and wants to find out whether Bob and Alice's
> ontologies entail each other, he's going to get a false negative because
> of the Skolemization.

We can probably even fix this, in fact. If we can reliably distinguish 'bnode URIs' from other URis, eg if they all use a common namespace, then there is an obvious notion of graph equivalence which allows a 1:1 replacement of the skolem URIs.  And then Charlie can discover that, though not logically equivalent, Alice and Bob's graphs are graph-equivalent. People will write code to check things like this if it ever starts to matter to anyone. The cost of testing this is identical to the cost of checking graph equivalence right now (its the same algorithm.)

Pat

> 
> If that's the worst problem we have, I think it's still totally worth it
> Skolemize at publication....   (because of all the other benefits, cf
> linked data).
> 
>   -- Sandro
> 
> On Fri, 2011-03-25 at 12:19 +0000, Michael Schneider wrote:
>> Hi Sandro!
>> 
>> Sandro Hawke wrote:
>> 
>>> I guess the important question: is OWL 2 Full okay with people
>>> Skolemizing the ontology?
>> 
>> Short answer: NO, OWL 2 Full would NOT be ok with people doing this.
>> 
>> Longer answer: I think I have already made clear in general that "blindly skolemizing" RDF graphs may be a bad idea, at least when they may later be used as the conclusion part of an entailment check (and you never know for what your graphs are being used by people, right?). The problem is that what originally was a positive entailment might not be an entailment anymore after skolemizing the conclusion graph. Specifically for OWL 2 Full, I can give a few examples of entailments that would not hold anymore, as they inherently depend on blank nodes being seen as existentially quantified variables. I am starting with two examples which show that blank nodes in the conclusion part  can already be useful for RDFS entailment (which is part of OWL 2 Full entailment) and will later extend the taken approach to OWL 2 Full, where I will show that blank nodes in the conclusion can be *very useful*. I will also give a specific example of an OWL 2 Full entailment where the OWL 2 Full semantics of a certain language feature depends on existential blank node semantics.
>> 
>> RDFS allows you to create "ASK queries", e.g. whether a given named class ex:C is non-empty:
>> 
>>    _:x rdf:type ex:C .
>> 
>> If there is /any/ resource in the queried knowledge base (actually the left hand side graph of an entailment check, which may be the content of a large triple store) that is an instance of ex:C, then the entailment will hold. You don't need to check through all possible individuals, there just needs to /exist/ an individual with this feature. And this is more than pure data querying, since it takes the full RDFS semantics into account, e.g. making use of sub classes and the domains and ranges of properties. So this is actually an implementation of SPARQL 1.1 ASK with the RDFS entailment regime that you get for free from every compliant RDFS reasoner that implements existential blank nodes. Cool, isn't it?
>> 
>> Another example would be to check whether Bob has any friends at all:
>> 
>>    ex:bob foaf:knows _:x .
>>    _:x foaf:knows ex:bob .
>> 
>> Note that, unlike the example above, this simple query cannot even be stated in OWL 2 DL (non-tree-like use of blank nodes). But it's possible to get a positive answer in RDFS, if there /exists/ any friend of bob (someone who bob knows who knows bob).
>> 
>> In OWL 2 Full, this ASK query method can be used for much more sophisticated queries, such as
>> 
>>    Is there any property with a domain and a range 
>>    being both sub classes of the named class ex:C 
>>    while being mutually disjoint from each other?
>> 
>> This can be written as
>> 
>>    _:p rdfs:domain _:d .
>>    _:p rdfs:range _:r .
>>    _:d rdfs:subClassOf ex:C .
>>    _:r rdfs:subClassOf ex:C .
>>    _:d owl:disjointWith _:r .
>> 
>> With the many language features of OWL 2 compared to RDFS, it should become clear how powerful this method can become, provided that there is a compliant OWL 2 Full reasoner that supports entailment checking.
>> 
>> This method would not (properly) work without existential semantics of blank nodes. More drastically, if you skolemize the conclusion graph /in advance/, as you have proposed in another mail, then you will /never/ get a positive result from these ASK queries.
>> 
>> So far, all examples only depend on the existential blank node semantics as it is already defined by RDF Simple entailment. The larger flexibility and expressive power in OWL 2 Full queries compared to RDFS only stems from the additional language features provided by OWL 2 Full. However, as said, the semantics specification of OWL 2 Full itself has some language features that provide certain entailments only under existential blank node semantics. One of these features is the semantics of /negative property assertions/. Here is an example: 
>> 
>>    If Alice is married with Bob, then she cannot also be married with Charly,
>>    provided that one can be married with at most one person 
>>    and that Bob is distinct from Charly.
>> 
>>    Premise:
>>        ex:isMarriedWith rdf:type owl:FunctionalProperty .
>>        ex:alice ex:isMarriedWith ex:bob .
>>        ex:charly owl:differentFrom ex:bob .
>> 
>>    Conclusion:
>>        _:x rdf:type owl:NegativePropertyAssertion .
>>        _:x owl:sourceIndividual ex:alice .
>>        _:x owl:assertionProperty ex:isMarriedWith .
>>        _:x owl:targetIndividual ex:charly .
>> 
>> Here, the new blank node "_:x" is introduced in the conclusion, corresponding to an existential variable, following the semantics given in
>> 
>>    <http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/#Semantic_Conditions_for_Negative_Property_Assertions>
>> 
>> So, even if one would dismiss my claim that the above ASK queries are useful, then dropping existential blank node semantics would most probably break some of the functionality of OWL 2 Full, and would make it weaker in expressivity than OWL 2 DL, since the above example is also a valid OWL 2 DL entailment.
>> 
>> Cheers,
>> Michael
>> 
>> --
>> Dipl.-Inform. Michael Schneider
>> Research Scientist, Information Process Engineering (IPE)
>> Tel  : +49-721-9654-726
>> Fax  : +49-721-9654-727
>> Email: michael.schneider@fzi.de
>> WWW  : http://www.fzi.de/michael.schneider
>> ==============================================================================
>> FZI Forschungszentrum Informatik an der Universität Karlsruhe
>> Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
>> Tel.: +49-721-9654-0, Fax: +49-721-9654-959
>> Stiftung des bürgerlichen Rechts
>> Stiftung Az: 14-0563.1 Regierungspräsidium Karlsruhe
>> Vorstand: Dipl. Wi.-Ing. Michael Flor, Prof. Dr. rer. nat. Ralf Reussner,
>> Prof. Dr. rer. nat. Dr. h.c. Wolffried Stucky, Prof. Dr. rer. nat. Rudi Studer
>> Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
>> ==============================================================================
>> 
> 
> 
> 
> 

------------------------------------------------------------
IHMC                                     (850)434 8903 or (650)494 3973   
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
Received on Friday, 25 March 2011 15:42:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:42:26 UTC