- From: Ross Horne <ross.horne@gmail.com>
- Date: Tue, 4 Dec 2018 10:43:48 +0100
- To: Pat Hayes <phayes@ihmc.us>
- Cc: Semantic Web <semantic-web@w3.org>
- Message-ID: <CAHBrK_hJRYuzav42RzpYxo+WyYTFjZp9G_Rq+mBR2K=rfmYcMg@mail.gmail.com>
Dear Pat, Open question: why can the scope of quantification not be the edge of the RDF Graph > Where is that edge? The RDF specs say that an RDF graph is a /set/ of triples. What > determines the ‘edge’ of a set? If you mean the document describing the graph, then yes, > that is a natural default assumption, I agree, but as soon as you start taking bits of RDF from > many sources and combining them, those boundaries get lost. And that was the intended > purpose of RDF, to allow information from many sources to be combined and used together. , what is the use case / requirement for blank nodes to be shared between graphs? > The issue is not so much a use case for sharing, as how to even know when bnodes are NOT > being shared. For one example, many users expect to be able to use bnodeIDs in the result > of a query ‘outside’ the graph being queried, e.g., in subsequent queries. This is a convincing argument, thank you for explaining. Since you mention queries, may I ask whether scoping should be explicit in SPARQL as well as RDF? Let me elaborate. I believe query ask { _:b :p :c } is not satisfied by data _:b :p :c _:b :q :d This is due to implicit scoping at the edge of the dataset and query. Blank node _:b is different in the data and query. In contrast, if we permit *mobility* of scoping, (i.e., when you consume a blank node it comes into your scope, allowing you to directly refer to it), then we can refer to _:b in the data from a query. To see this, suppose a program chains queries together (in this pseudo-code, assume ?x from the first query binds ?x in the second): select ?x where { ?x :q :d } ; ask { ?x :p :c } In the above, it is reasonable to assume, after the first query executes, the second query should be satisfied. An explanation is the scope of _:b in the data expands, encompassing the second query. Would it be worth considering a holistic view, of blank node scoping, taking into account the implications for SPARQL? Note the above examples can be given a very precise semantics. Kind regards, Ross
Received on Tuesday, 4 December 2018 09:44:21 UTC