On Aug 5, 2013, at 6:28 PM, Andy Seaborne wrote:
>> I cannot use ParameterizedSparqlString because it does not handle blank
>> nodes correctly. The previous implementation using initial bindings
>> supported this, because it didn't have to go through the string syntax.
>> Now, when I pre-bind a variable to point to a blank node, I am getting
>> strings like _:b0 which lose the identity of the blank node which is
>> otherwise (fortunately) preserved throughout Jena.
>> 
>> I am not sure if this is fixable in SPARQL syntax - please advise
>> whether you want me to open a JIRA ticket - but as stated elsewhere I
>> believe the initial bindings should be brought back into the update API.
>> 
>> Thanks,
>> Holger
>> 
> 
> Use a URI like <_:LABEL> and you will be naming the blank node in the data, 
> not making a query variable.

I don't understand this. For example, I may have an update template

INSERT {
    GRAPH <target> {
        ?node a:p ?o .
    }
}
WHERE {
    ?node a:p ?o .
}

where ?node is supplied as a pre-bound variable. The values may be URIs or 
blank nodes, and I want the target graph to use exactly the same blank node. 
(Slightly artificial but roughly one of our use cases).

What would I need to do? ?node in the WHERE clause must be exactly the node 
from the QuerySolutionMap.

Thanks,
Holger

Reply via email to