Executing SPARQL Update queries through an OAuth-protected Virtuoso SPARQL endpoint

Virtuoso reserves the path /sparql-auth/ (e.g., http://<cname>:<port>/sparql-auth) for provision of SPARQL services with user authentication. This endpoint allows specific SQL accounts to perform SPARQL Update (formerly SPARUL) queries over the SPARQL protocol.

SPARQL_UPDATE must be granted to an (ODS) user to perform operations on physical triples and for the user to login via SQL data connections (ODBC, JDBC, OLE DB, ADO.NET, etc.). The necessary steps are as follow --
  1. Go to http://<cname>:<port>/conductor, where <cname>:<port> are replaced by your local server values.
  2. Log in as the dba user.
  3. Go to System Admin -> User Accounts -> Users

  4. Click Edit for the user needing SPARQL_UPDATE, e.g., demo:

  5. In the form that returns:
    1. Set User type to *SQL/ODBC and WebDAV?*
    2. From the list of available Account Roles, select SPARQL_UPDATE role and click the >> button, to add it to the list on the right.
  6. Click Save.
Note: If there is a table used in a RDF view, and SPARQL_SELECT (or SPARQL_UPDATE which inherits SPARQL_SELECT) is not granted on this table, then an unqualified SPARQL SELECT (i.e., without FROM clause, implying FROM all graphs) will return an access violation error as the user account has no permissions to read it. In other words, an account must have SPARQL_SELECT privileges on all tables included in any RDF view in order to select on all graphs.


CategoryODS CategoryOpenSource CategoryWebSite