Holger, 

I was inspired to look at named graphs by a paper by Jeremy Carol's on using 
named graphs (instead of statement reification) for provenance (published 
around 2003), in which he shows how one could insert the statements resulting 
from a particular decision into a named graph and assert the rationale 
(provenance) for the decision as statements about the named graph, so that the 
provenance for a series of decisions (statements and rationale) could be 
captured in a series of named graphs.  

When I tried to do this in SPARQL, I found that I could not construct an INSERT 
INTO for an arbitrary graph, which would be created at the decision point.  So 
I thought I could leverage SPIN Template functionality to create graph-specific 
SPARQL INSERT INTO <graph> queries, but from your email, I understand that that 
won't work either.  These kinds of things are probably easy to do inside Jena.

Arthur

On Apr 19, 2010, at 3:43 PM, Holger Knublauch wrote:

> Hi Arthur,
> 
> I guess the underlying issue is that SPARQL has no formal notion of pre-bound 
> variables. In SPIN templates (and many other real-world applications), those 
> pre-bound variables are very convenient and powerful, but without this 
> concept, having a variable as graph URI does not make sense, because the 
> SPARQL queries would not be self-contained.
> 
> I have no plans to move SPIN beyond what ARQ (Jena's SPARQL engine) is able 
> to parse as this would have a lot of undesired implications. Maybe a future 
> SPARQL version adds a proper concept for pre-bound variables. I will try to 
> follow up on this topic elsewhere, but in the meantime I am not aware of 
> work-arounds for your use case.
> 
> Thanks,
> Holger
> 
> 
> On Apr 20, 2010, at 2:47 AM, Arthur Keen wrote:
> 
>> The SPARQL form: INSERT INTO <graph> does not allow a variable for the graph 
>> so something like  INSERT INTO ?graph{...} WHERE GRAPH ?graph{...} is not 
>> valid SPARQL.
>> I tried to get around this constraint by parametrizing the query in a spin 
>> template so that I could create valid queries from the template by passing 
>> in a parameter sp:arg1 for the graph into the template, e.g., INSERT INTO 
>> ?arg1{...} WHERE..., but the syntax checker on the SPIN Template will not 
>> let it through.  Is this the way to do this or is there some other way?
>> 
>> Arthur
>> 
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google
>> Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
>> TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN.
>> To post to this group, send email to
>> [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/topbraid-users?hl=en
> 
> -- 
> You received this message because you are subscribed to the Google
> Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
> TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN.
> To post to this group, send email to
> [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/topbraid-users?hl=en

-- 
You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include TopBraid Composer,
TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en

Reply via email to