On 17/12/17 16:35, ajs6f wrote:
It's certainly a long-running discussion. I.e., there are sound reasons that 
bnodes are treated as they are in the recommendations, and as Andy remarked 
(and Claude and Andy prove with their use cases), there are sound reasons that 
one might like to enlarge the scope for identity just a bit, now and then.

I think offering configurability is a good middle ground. Claude-- does that 
ARQ option meet your needs?

Andy-- do you think pulling all the related config into Context Symbols would be a good way to "pull together" the API?, as you suggest?

It is the end-to-end coordination of a number of steps in different places. Graphs haven't even been mentioned so far. I think exposing the machinery piecemeal is bad (= unhelpful; encourages misuse; does not work in the system as a whole where other things are going on). We have the right architecture, let's use it.

    Andy

Context values are a little more "fine-grained" than static settings, and can 
vary within an app more easily.

ajs6f

On Dec 17, 2017, at 11:29 AM, Adam Jacobs <[email protected]> wrote:

You're right, that section does seem conclusive, at least insofar as SPARQL is 
concerned.


________________________________________
From: ajs6f <[email protected]>
Sent: Sunday, December 17, 2017 10:19 AM
To: [email protected]
Subject: Re: consistent blank id values from RDFConnection

That's not how I understand:

https://www.w3.org/TR/sparql11-query/#BlankNodesInResults

"Blank node labels are scoped to a result set (see "SPARQL Query Results XML Format" and 
"SPARQL 1.1 Query Results JSON Format") or, for the CONSTRUCT query form, the result graph."

Multiple calls to a single graph => multiple queries => multiple result sets (or 
result graphs) => multiple scopes.

ajs6f

On Dec 17, 2017, at 11:15 AM, Adam Jacobs <[email protected]> wrote:

My understanding is there's nothing wrong with maintaining labels among 
multiple calls to a single graph.
The danger would be the risk of maintaining labels among calls to multiple 
graphs.
At least, that's what I get out of this SO answer: 
https://stackoverflow.com/questions/44477876/grouping-by-blank-nodes/44498034#44498034

________________________________________
From: ajs6f <[email protected]>
Sent: Sunday, December 17, 2017 10:11 AM
To: [email protected]
Subject: Re: consistent blank id values from RDFConnection

On Dec 17, 2017, at 11:08 AM, Andy Seaborne <[email protected]> wrote:

Why would it be dangerous?

As I wrote:

(in the sense in which you used the phrase "dubious in terms of spec 
compliance")

It might confuse people into thinking that maintaining bnode labeling is a 
normal part of using SPARQL, when it isn't-- it's something extra that Jena 
provides.

If there's no reason this is an undocumented feature, I'm going to document it 
at:

https://jena.apache.org/documentation/query/app_api.html

ajs6f

On Dec 17, 2017, at 11:08 AM, Andy Seaborne <[email protected]> wrote:

Why would it be dangerous?

On 17/12/17 15:46, ajs6f wrote:
That is useful, and it's undocumented. Is that because it is dangerous (in the sense in 
which you used the phrase "dubious in terms of spec compliance") or just 
because we never have documented it?
ajs6f
On Dec 17, 2017, at 10:43 AM, Andy Seaborne <[email protected]> wrote:

ARQ.enableBlankNodeResultLabels()

On 17/12/17 15:39, ajs6f wrote:
Where? I found nothing documented.
ajs6f
On Dec 17, 2017, at 10:38 AM, Andy Seaborne <[email protected]> wrote:

On 17/12/17 15:19, ajs6f wrote:
Claude-- I'm looking at RDFConnection, but it's an interface. I think you mean 
around L220 of JSONInput itself, right?
It looks like SyntaxLabels has some LabelToNode factory methods that might fit 
the bill, like createNodeToLabelAsGiven(), but JSONInput doesn't offer any way 
to select which method to use. At L195 it uses SyntaxLabels.createLabelToNode().
We could thread such a mapping choice all the way through the call stack, but 
that seems a bit difficult to me. Maybe we could introduce a Context setting 
for this purpose?

They already exist!



Reply via email to