Also:
INSERT DATA INTO<http://test>
is old-style syntax (not SPARQL 1.1)
It should be:
INSERT DATA { GRAPH <http://test> { ... } }
Try at:
http://www.sparql.org/update-validator.html
Andy
On 11/07/11 10:34, Rob Vesse wrote:
Hi Camel
Yes the DELETE is formulated incorrectly, you have specified things to be
deleted but not said explicitly where to delete them from. So though it is
matching your triples in a specific graph it tries to delete them from the
default graph which is not where they are located so they aren't actually
deleted.
Try the following instead:
WITH<http://test>
DELETE
{
?s ?p ?v
}
WHERE
{
?s ?p ?v .
<http://a/resource/> ?p ?v .
}
The WITH should set the graph to be used both for the DELETE and the WHERE
clause. If that doesn't work (or you need to match from one graph but delete
in another) you can state the GRAPH explicitly in both clauses:
DELETE
{
GRAPH<http://text> {
?s ?p ?v
}
}
WHERE
{
GRAPH<http://test> {
?s ?p ?v .
http://a/resource/> ?p ?v .
}
}
Hope that helps,
Rob Vesse
-----Original Message-----
From: Camel Christophe [mailto:[email protected]]
Sent: 11 July 2011 10:21
To: [email protected]
Subject: How delete works on Fuseki
Hello everybody !
I want to make the removal of a resource in the Fuseki triple store.
For example, the resource has been inserted like this (into a named
graph) :
INSERT DATA INTO<http://test> {
<http://a/resource/> <http://a/property> "a first value" .
<http://a/resource/> <http://a/property> "a second value" .
}
I can easily see its triples like this :
select * where {
graph<http://test> {
?s ?p ?v .
<http://a/resource/> ?p ?v .
}
}
Ok, now I want to delete those triples from the store (i.e. I want to
delete the resource). I do the following:
DELETE
{ ?s ?p ?v }
WHERE
{
graph<http://test> {
?s ?p ?v .
<http://a/resource/> ?p ?v .
}
}
Fuseki answers "Update succeeded". Good, but the triples haven't been
deleted. The previous select request still returns the following
content :
<http://a/resource/> <http://a/property> "a first value"
<http://a/resource/> <http://a/property> "a second value"
What's going wrong ? I suspect a bad formulation of the delete query,
yet it seems to me correct.
Thanks !