Hi,

I get this error on `DELETE DATA` via <http://localhost:8890/sparql>, but only when the triple's object is a `string`:

    Virtuoso 42000 Error SR186:SECURITY: No permission to execute dpipe DB.DBA.L_O_LOOK_NE with user ID 107, group ID 107

If the triple's object is a `URI`, the triple is deleted without error.

### Steps to reproduce:

Using the official Docker image:

    $ docker run --name virtuoso-7.2.10-official --interactive --tty \
        --env DBA_PASSWORD=dba --publish 1111:1111 --publish 8890:8890 \
        --volume `pwd`:/database openlink/virtuoso-opensource-7:7.2.10

Granted `SPARQL_UPDATE` and `WebDAV` to user `SPARQL` through Conductor.

    System Admin > User Accounts > User > SPARQL > Edit
      User type: SQL/ODBC and WebDAV
      Account Roles: SPARQL_SELECT, SPARQL_UPDATE

Workaround to prevent https://github.com/openlink/virtuoso-opensource/issues/1094:

    DB.DBA.RDF_DEFAULT_USER_PERMS_SET ('nobody', 7);

Insert data:

    INSERT DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-uri> <http://schema.org/name> <http://mu.semte.ch/application/myname> .
        <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" .
    } }

Deleting the triple with the `string` from <http://localhost:8890/sparql> fails:

    DELETE DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" .
    } }

Error:

    Virtuoso 42000 Error SR186:SECURITY: No permission to execute dpipe DB.DBA.L_O_LOOK_NE with user ID 107, group ID 107
    
    SPARQL query:
    define sql:big-data-const 0
    #output-format:text/html
    define sql:signal-void-variables 1
    DELETE DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" .
    } }

Deleting the triple with the `URI` as object from <http://localhost:8890/sparql> succeeds:

    DELETE DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-uri> <http://schema.org/name> <http://mu.semte.ch/application/myname> .
    } }

Result:

    Delete from <http://mu.semte.ch/application>, 1 (or less) triples -- done

Deleting the triple with the `string` from `isql` succceeds:

    SQL> SPARQL DELETE DATA { GRAPH <http://mu.semte.ch/application> { <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" . } } ;
    
    Done. -- 2 msec.
    SQL> SPARQL SELECT * WHERE { GRAPH <http://mu.semte.ch/application> { ?s <http://schema.org/name> ?o } } ;
    s                                                                                 o
    LONG VARCHAR                                                                      LONG VARCHAR
    _______________________________________________________________________________
    
    
    0 Rows. -- 1 msec.

Version:

    $ docker run openlink/virtuoso-opensource-7:7.2.10 version
    
    [openlink/virtuoso-opensource-7:7.2.10-r16-gcf64774-ubuntu]
    
    This Docker image is using the following version of Virtuoso:
    
    Virtuoso Open Source Edition (Column Store) (multi threaded)
    Version 7.2.10.3237-pthreads as of Jun  7 2023 (f3d88f16b)
    Compiled for Linux (x86_64-ubuntu_bionic-linux-gnu)
    Copyright (C) 1998-2023 OpenLink Software

Actually I encountered the error in Virtuoso 7.2.9 also, but that was in downstream Docker image [redpencil/virtuoso:1.1.0](https://hub.docker.com/layers/redpencil/virtuoso/1.1.0/images/sha256-4710c0e3d6877b15e4eedbbbfee875397aacd52691d15806d7e527f1d45cc7ab?context=explore). Did not test the official Docker image for 7.2.9 yet.

Just let me know if I need to test anything. Thank you for your help.
User SPARQL cannot delete triple with a string as object (SR186 DB.DBA.L_O_LOOK_NE) 
This is a GitHub Issue
repo:virtuoso-opensource
owner:openlink
Title : User SPARQL cannot delete triple with a string as object (SR186 DB.DBA.L_O_LOOK_NE) 
Issue date:

--- start body ---
Hi,

I get this error on `DELETE DATA` via <http://localhost:8890/sparql>, but only when the triple's object is a `string`:

    Virtuoso 42000 Error SR186:SECURITY: No permission to execute dpipe DB.DBA.L_O_LOOK_NE with user ID 107, group ID 107

If the triple's object is a `URI`, the triple is deleted without error.

### Steps to reproduce:

Using the official Docker image:

    $ docker run --name virtuoso-7.2.10-official --interactive --tty \
        --env DBA_PASSWORD=dba --publish 1111:1111 --publish 8890:8890 \
        --volume `pwd`:/database openlink/virtuoso-opensource-7:7.2.10

Granted `SPARQL_UPDATE` and `WebDAV` to user `SPARQL` through Conductor.

    System Admin > User Accounts > User > SPARQL > Edit
      User type: SQL/ODBC and WebDAV
      Account Roles: SPARQL_SELECT, SPARQL_UPDATE

Workaround to prevent https://github.com/openlink/virtuoso-opensource/issues/1094:

    DB.DBA.RDF_DEFAULT_USER_PERMS_SET ('nobody', 7);

Insert data:

    INSERT DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-uri> <http://schema.org/name> <http://mu.semte.ch/application/myname> .
        <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" .
    } }

Deleting the triple with the `string` from <http://localhost:8890/sparql> fails:

    DELETE DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" .
    } }

Error:

    Virtuoso 42000 Error SR186:SECURITY: No permission to execute dpipe DB.DBA.L_O_LOOK_NE with user ID 107, group ID 107
    
    SPARQL query:
    define sql:big-data-const 0
    #output-format:text/html
    define sql:signal-void-variables 1
    DELETE DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" .
    } }

Deleting the triple with the `URI` as object from <http://localhost:8890/sparql> succeeds:

    DELETE DATA {
      GRAPH <http://mu.semte.ch/application> {
        <http://mu.semte.ch/application/name-as-uri> <http://schema.org/name> <http://mu.semte.ch/application/myname> .
    } }

Result:

    Delete from <http://mu.semte.ch/application>, 1 (or less) triples -- done

Deleting the triple with the `string` from `isql` succceeds:

    SQL> SPARQL DELETE DATA { GRAPH <http://mu.semte.ch/application> { <http://mu.semte.ch/application/name-as-string> <http://schema.org/name> "My name" . } } ;
    
    Done. -- 2 msec.
    SQL> SPARQL SELECT * WHERE { GRAPH <http://mu.semte.ch/application> { ?s <http://schema.org/name> ?o } } ;
    s                                                                                 o
    LONG VARCHAR                                                                      LONG VARCHAR
    _______________________________________________________________________________
    
    
    0 Rows. -- 1 msec.

Version:

    $ docker run openlink/virtuoso-opensource-7:7.2.10 version
    
    [openlink/virtuoso-opensource-7:7.2.10-r16-gcf64774-ubuntu]
    
    This Docker image is using the following version of Virtuoso:
    
    Virtuoso Open Source Edition (Column Store) (multi threaded)
    Version 7.2.10.3237-pthreads as of Jun  7 2023 (f3d88f16b)
    Compiled for Linux (x86_64-ubuntu_bionic-linux-gnu)
    Copyright (C) 1998-2023 OpenLink Software

Actually I encountered the error in Virtuoso 7.2.9 also, but that was in downstream Docker image [redpencil/virtuoso:1.1.0](https://hub.docker.com/layers/redpencil/virtuoso/1.1.0/images/sha256-4710c0e3d6877b15e4eedbbbfee875397aacd52691d15806d7e527f1d45cc7ab?context=explore). Did not test the official Docker image for 7.2.9 yet.

Just let me know if I need to test anything. Thank you for your help.
--- end body ---

The issue indicates a potential security vulnerability related to permission handling in the Virtuoso SPARQL endpoint. The user is unable to delete triples with a string as an object due to a permissions error (SR186), which suggests that the system may not be correctly enforcing or checking permissions for different data types. This could lead to inconsistent behavior and potential unauthorized access or modification of data, depending on how permissions are managed for different object types.