This works for me:
PREFIX : <http://example/>
INSERT DATA
{ GRAPH :g { :s :p :o } }
INSERT
{ :s ?p ?o }
USING :g
WHERE
{ :s ?p ?o }
then
SELECT * { { ?s ?p ?o } UNION { GRAPH ?g { ?s ?p ?o } }}
On 23/03/11 14:12, Bob DuCharme wrote:
I was hoping to get the following query working on the the SPARQL Update
panel in the 11 March build of Fuseki 0.2:
INSERT
{ <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
USING <http://rdf.freebase.com/ns/en.miles_davis>
USING sets the default to the named one.
It does not read from the web (use LOAD)
WHERE
{ <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
LOAD <http://rdf.freebase.com/ns/en.miles_davis> ;
reads directly into the default graph but without a pattern match on the
triples
LOAD <http://rdf.freebase.com/ns/en.miles_davis> INTO GRAPH
<http://example/tmp> ;
INSERT { <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
WHERE { GRAPH <http://example/tmp>
{ <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o } }
if freebase does not provide a SPARQL CONSTRUCT interface.
Fuseki tells me that "Update succeeded", but there are no new triples in
the default graph.
Because the Update spec describes USING as being similar to FROM, I
tried this query:
Indeed it does say that - it's wrong. I've send email to the WG.
CONSTRUCT
{ <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
FROM <http://rdf.freebase.com/ns/en.miles_davis>
Warning: that reads http://rdf.freebase.com/ns/en.miles_davis from the web.
WHERE
{ <http://rdf.freebase.com/ns/en.miles_davis> ?p ?o }
It retrieved several hundred triples when I ran it with ARQ, but when I
entered it in Fuseki's SPARQL Query panel, I got "Error 400: Query may
not include a dataset description (FROM/FROM NAMED)"
Separate issue - the SPARQL processor in Fuseki only queries the local
dataset. It's not a general processor like http://sparql.org/sparql.
Am I misunderstanding how this should work, or is this kind of retrieval
from other data sources just not supported by Fuseki yet?
The spec is wrong.
Ways to do it above.
Andy
thanks,
Bob