- From: Pat Hayes <phayes@ihmc.us>
- Date: Fri, 25 Mar 2011 13:08:00 -0500
- To: Michael Schneider <schneid@fzi.de>
- Cc: Sandro Hawke <sandro@w3.org>, 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>
On Mar 25, 2011, at 11:15 AM, Michael Schneider wrote: > 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! OK, OK. But look, if we are talking about how your query engine works under the hood, you can of course do whatever you like. You can have blank nodes, quads, quints, data-stamped triples, hash coded arrays, whatever. The RDF standard doesn't impinge on any of that: it is only concerned with RDF that is published on the Web. > 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. ?? Why? The SPARQL query has variables in it. You replace them with (whatever your engine takes to be) blank node IDs and then you run your engine on that. If it is not legal RDF according the spec, nobody gives a damn. > 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 have to *implement* it yourself whatever we decide. All this WG is doing is defining the specs for RDF used as a Web interchange notation, not for what goes on inside inference engines. > 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.) Not in OWL or above, no. > 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. So, plug it in. No problem. Pat > > (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 > ============================================================================== > > ------------------------------------------------------------ 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 19:59:59 UTC