- From: Jorge Pérez <jperez@utalca.cl>
- Date: Wed, 19 Apr 2006 10:28:44 -0400
- To: public-rdf-dawg-comments@w3.org
Hi! I think that the following query is problematic too. I tried it in SPARQLer and gave me strange results and in the SPARQL last draft I cannot find a precise answer: The data is: ++++++++++++++++++++++++++++++++++++++++++++++++++++++ @prefix : <http://ing.utalca.cl/~jperez/research/rdf/> . _:b1 :titlename "book1" . _:b1 :authorname "author1" . _:b1 :year "2006" . ++++++++++++++++++++++++++++++++++++++++++++++++++++++ The query: PREFIX : <http://ing.utalca.cl/~jperez/research/rdf/> SELECT * FROM :sample2.rdf WHERE { ?B :titlename ?N . ?B :year ?Y . OPTIONAL { ?B :authorname ?N } } What is the answer? Again at least two possibilities according to the "scope" of optional 1) B=_:b1, N="book1", if one assume that the optional "is applied to" the two triple patterns. 2) nothing, if one assume that the optonal "is applied to" the second triple pattern. The ambiguitie starts again in the formal definition of optional, it reads "...the second pattern modifies pattern solutions of the first pattern..." but here there is no clear what the "first pattern" is. SPARQLer gave me solution 1) but I cannot find a rule in the draft that validate this behavior. If one consider the following query (I put just the WHERE part) WHERE { ?B :year ?Y . OPTIONAL { ?B :authorname ?N } ?B :titlename ?N . } the solution is not clear... one may assume here that the optional "is applied to" just the triple pattern above but again there is no formal validation of this in the draft. Here the left associativity rule of the optional keyword included in the last draft do not applied because it states that optional is left associative considering other optional patterns but nothing about triple patters. In this case SPARQLer gave me solution 2). How can one solve the problem? * One posibility is to add a complete set of associative rules: "." keyword is left associative, "optional" keyword is left associative, etc. from my point of view it may make the specification less readable. * Other posibility is to think that each complex graph pattern (group graph pattern) has a "mandatory part" and several "optional parts". A solution must match the complete manatory part, and optional parts only add "information" to the solution of the mandatory part if the information exists. The evaluation of optional parts is made resursively in the same way. * Other? - Jorge ------------------------------------------------- Este mensaje fue enviado por: http://webmail.utalca.cl
Received on Wednesday, 19 April 2006 14:33:16 UTC