-
Notifications
You must be signed in to change notification settings - Fork 0
Home
To be able to execute both SPARQL SELECT and UPDATE queries, you have to do the following steps.
Only Virtuoso 6.1.8 and higher supports SPARQL UPDATE queries via HTTP. Have no Ubuntu package? Have a look here
Create a new user via Conductor with the following configuration:
- Set username and password (remember it and set it in the config.ini of the test environment!)
- Check by User Enabled
- User Type: SQL/ODBC and WebDAV
- Primary Role: SPARQL_SELECT
- Account Roles Selected: SPARQL_SELECT
This user will be used for Digest Authentication.
Edit the existing SPARQL user and add SPARQL_UPDATE under Account Roles Selected.
-
If you get Virtuoso 42000 Error SR186: No permission to execute procedure DB.DBA.SPARUL_DROP with user ID 106, group ID 106 you probably missed 3. Role adaption for SPARQL user, didn't you?
-
If you get HTTP status code 406 in a response, try using GET instead of POST. Furthermore, check value of Accept header, maybe it could not be understand by the Virtuoso server.
-
If you send a query via HTTP such as
select ?s ?p ?o (DATATYPE(?o)) as ?otype (LANG(?o)) as ?olang WHERE {<". $resourceUri ."> ?p ?o.}
to add datatype and language information, with Virtuoso 6.1.8, you will run into the following error:Virtuoso 22023 Error SR544: Function __xsd_type() can not find XML Schema datatype that matches SQL datatype UNAME (217)
It seems they fixed that bug for Virtuoso 7.1+. For more information look into this issue.