Dear all,

I'm facing the problem with deleting RDF* triples.

We're migrating from Fuseki 4 to Fuseki 5.5. In short, in Fuseki 4 we were able to delete RDF* triples with the queries like:

DELETE WHERE { <http://datavera.kz/demo/SampleObject> ?a ?b {| ?c ?d |} }

In Fuseki 5.5.0, this query returns an error:

Line -1, column -1: Blank nodes not allowed in DELETE templates

Here is the full sequence of actions to reproduce the problem:

1. Insert RDF* triple:

INSERT DATA { <http://datavera.kz/demo/SampleObject> rdfs:comment "some" {| <http://datavera.kz/demo/addedBy> "Serge" |} }

2. Try to delete it:

DELETE WHERE { <http://datavera.kz/demo/SampleObject> ?a ?b {| ?c ?d |} }

or

DELETE WHERE { << <http://datavera.kz/demo/SampleObject> ?a ?b >> ?c ?d }

Anyway, we get an error. The same error happens even if we do not use template and delete data directly:

DELETE DATA { <http://datavera.kz/demo/SampleObject> rdfs:comment "some" {| <http://datavera.kz/demo/addedBy> "Serge" |} }

3. We can delete the triple without annotation:

DELETE WHERE { <http://datavera.kz/demo/SampleObject> ?a ?b }

This query succeeds, but if then we insert the new triple without annotation:

INSERT DATA { <http://datavera.kz/demo/SampleObject> rdfs:comment "some" }

and then query for it:

SELECT WHERE { <http://datavera.kz/demo/SampleObject> ?a ?b {| ?c ?d |} }

The annotation is still here, which means it was not deleted by the DELETE query.

p.s. Another problem is that the Fuseki web panel cannot render RDF* SELECT query results. This is not critical for us as we use it via API, but this makes debugging more difficult.

Best regards,
Serge Gorshkov
https://datavera.org

Reply via email to