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?

ajs6f

> On Dec 17, 2017, at 9:28 AM, Claude Warren <[email protected]> wrote:
> 
> Greetings,
> 
> I am looking at org.apache.jena.sparql.resultset.JSONInput and the way in
> which it parses blank nodes.
> 
> I have a requirement for an application such that the same blank node
> returned on multiple queries returns the same blank node id.
> 
> I have verified that Fuseki does this (given that the data is only loaded
> once -- reloading the data can renumber the nodes).  In any case Fuseki
> seems to return the ids from the underlying data store.
> 
> However, when RDFConnection is executing a query it remaps the ids during
> the query.
> 
> Down around line 220 it uses a labelMap to construct a new value for the
> bnode.  My question is:
> 
> Is there a simple way to have the LabelMap return the same value for the
> same blank node across multiple queries? (assuming the value does not
> change in the data store).
> 
> I know there was a discussion of using UUIDs or some such to generate the
> blank ids on the way into the graph but I don't see any way for
> RDFConnection to return them consistently.
> 
> Claude
> 
> 
> 
> 
> 
> -- 
> I like: Like Like - The likeliest place on the web
> <http://like-like.xenei.com>
> LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to