comunica / comunica-feature-solid

📬 Comunica packages for query execution over Solid data pods
Other
3 stars 4 forks source link

Error Detected illegal blank node in BGP #68

Open MichelSc opened 6 months ago

MichelSc commented 6 months ago

Issue type:


Description:

I do an insert in an empty ttl file, using @comunica/query-sparql-solid CLI:

$COMUNICA_SPARQL_SOLID --idp $IDP $bike_dpp  \
    "INSERT DATA { <http://foo#a> <http://foo#b> [ <http://foo#c> <http://foo#d>] }"

2 triples are inserted (OK):

<http://foo#a> <http://foo#b> _:e_g_00070.
_:e_g_00070 <http://foo#c> <http://foo#d>.

I want to delete all (= the 2 above) triples in my ttl file:

$COMUNICA_SPARQL_SOLID --idp $IDP $bike_dpp  \
    "DELETE WHERE { ?s ?p ?o. }"

Triples are not deleted (NOK). I receive the error

> npx comunica-sparql-solid --idp https://solidcommunity.net http://localhost:3000/bike400.ttl DELETE WHERE { ?s ?p ?o. }

Could not update http://localhost:3000/bike400.ttl (HTTP status 400):
{"name":"BadRequestHttpError","message":"Detected illegal blank node in BGP","statusCode":400,"errorCode":"H400","details":{}}

What does mean this error? Blank node was created by comunica! How can I delete this blank node?

Same behavior observed with explicit blank nodes (NOK)

$COMUNICA_SPARQL_SOLID --idp $IDP $bike_dpp  \
    "INSERT DATA { 
        <http://foo#a> <http://foo#b> _:foo.
        _:foo  <http://foo#c> <http://foo#d> 
    }"

Environment:

| software         | version
| ---------------- | -------
| Comunica Engine  | 3.0.1 
| node             | v18.20.0
| npm              | 10.5.0
| yarn             | 1.22.19
| Operating System | linux (Linux 5.10.102.1-microsoft-standard-WSL2)

Crash log: