Help:SPARQLStore and Virtuoso

Virtuoso access point to the SPARQLStore
Further Information
Short name: Virtuoso
Provided by: Semantic MediaWiki
Added: 1.7.1
Removed: still in use
Keyword : RDFRDF · SPARQLStoreSPARQLStore · Database connectorDatabase connector · Virtuoso opensourceVirtuoso opensource · VirtuosoVirtuoso
Table of Contents

Virtuoso is supported since Semantic MediaWiki 1.7.1. Users of Virtuoso should use the following settings:


$smwgDefaultStore = 'SMWSparqlStore';
$smwgSparqlRepositoryConnector = 'virtuoso';

$smwgSparqlEndpoint["query"] = 'http://localhost:8890/sparql/';
$smwgSparqlEndpoint["update"] = 'http://localhost:8890/sparql/';
$smwgSparqlEndpoint["data"] = '';

$smwgSparqlDefaultGraph = '';

The exact URLs depend on the local configuration. The URI of the default graph can be chosen arbitrarily but must be set.

Virtuoso configuration[edit]

SMW needs SPARQL_UPDATE roles for the account "SPARQL". This can be set in the Virtuoso conductor, at "User accounts" for the user "SPARQL. [1] Otherwise you will see"Error: Query refused" on running runJobs.php.

Known limitations[edit]

Virtuoso currently still needs minor changes in SMW due to the aforementioned restriction that no named graphs are used in SMW queries.

There are some known limitations with (at least some versions of) Virtuoso:

  • Numerical datatypes are not supported properly, and Virtuoso will miss query results when query conditions require number values. This also affects datatype Date properties since the use numerical values for querying.
  • Some edit (insert) queries fail for unknown reasons, probably related to unusual/complex input data (e.g., using special characters in strings); errors will occur when trying to store such values on a page.
  • Virtuoso stumbles over XSD dates with negative years, even if they have only four digits as per ISO. Trying to store such data will cause errors.
  • More information on combining SMW with Open Virtuoso can be found at [1].
  • Sorting with an unbound limit is by default not supported and will raise Virtuoso 22023 Error SR353: Sorted TOP clause specifies more then 10001 rows to sort. Only 10000 are allowed. (see also Virtuoso MaxSortedTopRows setting)
  • Virtuoso 6.1: Virtuoso will fail for '1 January 300 BC' with 'Virtuoso 22007 Error DT006: Cannot convert -0302-12-28Z to datetime : Incorrect month field length'"