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

Pat, 

you misunderstand me! I /am/ talking about SPARQL here. More precisely: I am talking about /implementing/ SPARQL /entailment regimes/ here. When you say that one can have this all with SPARQL, then I am perfectly fine with this answer but am asking you how do you implement, say, the SPARQL 1.1 RDFS entailment regime? Or the SPARQL 1.1 OWL 2 RDF-Based Semantics entailment regime? These are currently specified as part of SPARQL 1.1 (whether you like it and believe in its usefulness or not :-)):

    <http://www.w3.org/TR/2010/WD-sparql11-entailment-20101014/#id35807668>
    <http://www.w3.org/TR/2010/WD-sparql11-entailment-20101014/#id35809206>

The implementations of these entailment regimes do not grow on trees. Actually, I haven't seen much endeavor in implementing them so far at all, including the entailment regime for OWL 2 DL. 

Now, what I am talking about here is not the whole entailment regimes, since my approach doesn't provide answer sets. Also, I am only talking about basic graph patterns, not all of SPARQL. But, at least, entailment regime-based /ASK/ queries can be implemented immediately in terms of blank nodes as existentially quantified variables. That's a step forward, and it comes basically for free, provided that you have an entailment checker for the respective entailment regime. Just translate the SPARQL ASK query into a call to the reasoner, replacing all query variables by fresh blank nodes (i.e. making the basic graph pattern into a normal RDF graph), and you are basically done!

Just to compare: Without existentially quantified blank nodes in RDF, you cannot simply use an RDFS or OWL 2 Full "off-the-shelf" entailment checker but have to come up with some other means to implement the query matching. The query variables essentially correspond to outermost existential variables of the FOL formula representing the graph pattern, and without existentially interpreted blank nodes in RDF, you have to implement the existential semantics yourself somehow. You will probably not want to successively instantiate the query pattern by all possible combinations of named individuals and do an entailment check until one result is "true"? (Btw, this approach would not necessarily be complete, AFAICS.) Maybe (hopefully) there are more effective ways to do it, but it will certainly be much more development work than simply "pluging in" an existing entailment checker.

(Of course, this whole discussion will only be interesting to people who care about query answering based on entailment regimes...)

Cheers,
Michael

________________________________________
Von: Pat Hayes [phayes@ihmc.us]
Gesendet: Freitag, 25. März 2011 16:13
Bis: Michael Schneider
Cc: Sandro Hawke; Graham Klyne; Dieter Fensel; Enrico Franconi; Hugh Glaser; Mark Wallace; Alan Ruttenberg; Reto Bachmann-Gmuer; Ivan Shmakov; Ivan Shmakov; <semantic-web@w3.org>
Betreff: 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.

--
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
==============================================================================

Received on Friday, 25 March 2011 16:16:05 UTC