- From: Sebastián Conca <sconca87@gmail.com>
- Date: Fri, 18 Mar 2011 16:04:35 -0400
- To: public-rdf-dawg-comments@w3.org
- Message-ID: <AANLkTincZ8U-xcfpn7TGmn8Bv1y-8YA6pfr7UgbosSQk@mail.gmail.com>
Dear All, I have been trying some examples of SPARQL 1.1 property paths, and I have gotten some results that seem to be counterintuitive. For instance, consider a graph G: :a :p :b :b :p :c :c :p :a and the following query Q1: SELECT * WHERE { :a (:p+) ?x } According to the semantics proposed in the Working Draft document, the result of the query Q1 over G is: ?x = :b, :c, :a Now, consider a query Q2: SELECT * WHERE { :a :p/(:p*) ?x } According to the semantics proposed in the Working Draft document, the result of the query Q2 over G is: ?x = :b, :c, :a, :b I tested both queries in ARQ, getting the same results shown above. The paths used in the queries are equivalent regular expressions (the regular languages represented by (:p+) and :p/(:p*) are the same), so the results of these queries over G should be the same. Am I missing something? I also executed in ARQ a third query Q3 containing a regular expression that is equivalent to (:p+) and :p/(:p*): SELECT * WHERE { :a (:p+)+ ?x } But this time I got the result: ?x = :b, :c, :a, :b, :c, :a, :b, :c, :a, :b, :c, :a, :b, :c, :a What should be the interpretation of this result? I would really appreciate it if you could let me know whether I am missing something. Thank you very much. With best regards, Sebastián Conca
Received on Monday, 21 March 2011 08:22:02 UTC