CARVIEW |
Select Language
HTTP/2 200
date: Fri, 10 Oct 2025 19:32:53 GMT
content-type: text/html
content-encoding: gzip
last-modified: Thu, 13 Jul 2023 17:27:28 GMT
cache-control: max-age=2592000, public
expires: Sun, 09 Nov 2025 19:32:52 GMT
vary: Accept-Encoding
access-control-allow-origin: *
x-request-id: 98c88bd2ab7bccbb
strict-transport-security: max-age=15552015; preload
x-frame-options: deny
x-xss-protection: 1; mode=block
cf-cache-status: EXPIRED
set-cookie: __cf_bm=zkhoYWLblzfCTYWV62gcvQuUT..OeyS8Wt_rWD9j6oI-1760124773-1.0.1.1-QLZhxs0_EItB2u3sDRhWyAqoWn9HXsnyY6EE1tH3oGD6_1ciW_QEYCNJ2jNoq6bKEnDK5_V7wPuMhud9zBXNFbHBUP0CUNnZvShv4XM5SOQ; path=/; expires=Fri, 10-Oct-25 20:02:53 GMT; domain=.w3.org; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 98c88bd2ab7bccbb-BLR
alt-svc: h3=":443"; ma=86400
Pattern involving BIND from 18.2.3 Examples of Mapped Graph Patterns from Rory Rother on 2014-10-02 (public-sparql-dev@w3.org from October to December 2014)
Pattern involving BIND from 18.2.3 Examples of Mapped Graph Patterns
- From: Rory Rother <rrother@algebraixdata.com>
- Date: Thu, 2 Oct 2014 23:41:43 +0000
- To: "public-sparql-dev@w3.org" <public-sparql-dev@w3.org>
- Message-ID: <8EDCF559E852FB45A9C0F6991C67BAA81FABBA@EXCHANGE8.win.zerolag.com>
Hello, I was working through some of the spec to get a better understanding of translating queries to SPARQL algebra and had a question about the eleventh example in section 18.2.3 (https://www.w3.org/TR/2013/REC-sparql11-query-20130321/#sparqlAlgebraExamples). The example is { ?s :p ?v . {} BIND (2*?v AS ?v2) } and the given translation to SPARQL algebra is Join( BGP(?s :p ?v), ?v2, 2*?v) , Extend({}, ?v2, 2*?v) ) I am having a hard time seeing how to get that translation. From my understanding, I am starting with a GroupGraphPattern so I look to the relevant box in section 18.2.2.6. I believe my GroupGraphPattern has three elements: the triple pattern, the empty GroupGraphPattern, and the BIND clause. I set G equal to the Join identity. Now I enter the For loop by first setting E equal to the triple pattern. At the end of the first loop, I just have G=BGP(?s :p ?v). At the start of the second loop, I set E equal to {}. That satisfies the last If statement so I set A equal to Translate({}). That should give me A equal to the Join identity. Then G=Join( BGP(?s :p ?v, (the join identity) ). So, at the end of the second loop, I just have G=BGP(?s :p ?v). At the start of the third loop, I set E equal to the BIND clause. That satisfies the third If statement, so I set G equal to Extend(BGP(?s :p ?v), ?v2, 2*?v). That's the end of the For loop so I end up with Extend( BGP(?s :p ?v), ?v2, 2*?v ) as the result. I believe the above translation gives solution mappings different from those coming from the translation provided in the spec. In fact, I believe the translation found in the spec would give solution mappings to the pattern { {} BIND(2*?v AS ?v2) ?s :p ?v } Any insight you can provide is much appreciated. If this is not the proper forum for such a question, then please accept my apologies (and maybe let me know where I should be asking :)). Rory
Received on Friday, 3 October 2014 07:52:58 UTC