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

Michael is spot on, as usual. Existentials *in a conclusion of an entailment* are more similar to a universally quantified variable in data, in fact.  Doing without those would severely restrict the expressivity of rich entailment schemes like OWL. 

However, that said, I think one can respond. Apart from the last example of negative properties (which is new to me, I confess, and seems like a truly horrible way to sneak negation into a positive logic; so horrible indeed that I might feel good about finding a way to make it illegal), all of these cases are handled by the use of variables in SPARQL, and do not require that the RDF *being queried* (as opposed to the query itself) contain blank nodes. 

One can think of a query in two ways. In one view, it is a 'pattern' which gets 'matched' against the data, and the resulting bindings to the variables in the pattern are the answers. In another, it is a sentence which is posed as a goal to be proved, and the answers are the bindings to (some of) the existential variables in the goal sentence. One might call these respectively the syntactic and entailment views of querying. Clearly, Michael views querying from the entailment standpoint. (FWIW, I prefer the syntactic one.) This means however that what counts as an answer depends upon what entailment regime one is presuming to be in use. I do not, myself, believe that querying RDF data under an OWL 2 entailment regime is likely to be a widely used option in the forseeable future; but even if it is, it will surely be done using SPARQL, and SPARQL syntax itself provides variables to play the role of existential variables in examples like this. So I remain unconvinced by all these examples. We can get all the querying anyone needs done using SPARQL, without needing to use blank nodes to be the existential variables. RDF should not be used as a query language: it is a language for transmitting data across the Web. 


On Mar 25, 2011, at 7:19 AM, 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
>    <>
> 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:
> WWW  :
> ==============================================================================
> 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

Received on Friday, 25 March 2011 15:13:52 UTC