SPARQLStore
SPARQLStore the component to establish a connection between Semantic MediaWiki and a triple store.
Further Information
Short name: SPARQLStore
Provided by: Semantic MediaWiki
Added: 1.6
Removed: still in use
Keyword : RDFRDF · SPARQLSPARQL · Triple storeTriple store
Table of Contents

The SPARQLStore is the name of the component that handles the communication (including data management) between Semantic MediaWiki and a triple-store and the transformation of #ask into a SPARQL query representation.

Features and limitations[edit]

Scalability and stability[edit]

Starting with Semantic MediaWiki 2.3.0Released on 29 October 2015 and compatible with MW 1.19.0 - 1.25.x. the SPARQLStore supports all native features of the SQLStore including redirects for queries and property/category hierarchies (given that the back-end supports SPARQL 1.1)

  • W3C RDF Store Benchmarking lists RDF benchmarks, benchmarking results and papers
  • Comparison on Blazegraph vs. Sesame vs. Virtuoso
  • Given the fact that DBpedia is facilitating Virtuoso 7 successfully (probably the commercial version) 1 it should be regarded as reliable and stable 234
  • Quoting a Sesame developer "...on more recent hardware Sesame's native store scales to about 150-200 million triples. Sesame development focuses on API usability, standards compliance, parsing performance ..." but supports graph database like Systap Blazegraph or Ontotext GraphDB. 5
  • If SPARQL compliance is required Fuseki and Sesame are good candidates. If authorization is required Virtuoso and Fuseki (Version 2 with Shiro) is the choice to make. For a comparison on large datasets6.
  • 4store showed a rather degrading performance when run our test suite in comparison to any other supported repository (also it is missing SPARQL 1.1 support)
  • ARC2 (as a native PHP/MySQL) seems not a real alternative due to "ARC2 is now in a stable state with no further feature additions planned". 7
  • Neo4J has not been tested (see comments made about Virtuoso/Neo4J 8)
  • Blazegraph has been selected by the Wikidata project to serve the "Wikidata Query Service" 9

Available repository connectors[edit]

ConnectorDescriptionVersionHelp Page
CustomCustom access point to the SPARQLStore2.0.0Help:SPARQLStore (custom)
DefaultDefault access point to the SPARQLStore1.6.0Help:SPARQLStore (default)
VirtuosoVirtuoso access point to the SPARQLStore1.7.1Help:SPARQLStore and Virtuoso
4store4store access point to the SPARQLStore2.0.0Help:SPARQLStore and 4store
BlazegraphBlazegraph access point to the SPARQLStore2.3.0Help:SPARQLStore and Blazegraph
FusekiJena Fuseki access point to the SPARQLStore2.0.0Help:SPARQLStore and Fuseki
SesameSesame (RDF4J) access point to the SPARQLStore2.1.0Help:SPARQLStore and Sesame

Available configuration parameters[edit]

SPARQL requests, whether queries or updates, are exchanged through web services. This means that requests are sent to and data is received from URLs that specify the location of the according service. This location is determined by the SPARQL database and by its configuration. The respective configuration parameters are shown in the following table:

ParameterDescriptionVersionHelp page
$smwgDefaultStoreSets the storage backend to be used for the semantic data0.7$smwgDefaultStore
$smwgSparqlQueryEndpointSets the endpoint for querying the SPARQL database1.6.0$smwgSparqlQueryEndpoint
$smwgSparqlDataEndpointSets the endpoint for data on the SPARQL database1.6.0$smwgSparqlDataEndpoint
$smwgSparqlCustomConnectorDefines the SPARQL custom database connectors1.6.0$smwgSparqlCustomConnector
$smwgSparqlUpdateEndpointSets the endpoint for updating the SPARQL database1.6.0$smwgSparqlUpdateEndpoint
$smwgSparqlDefaultGraphSets the identifier (graph) of the SPARQL database1.7.0$smwgSparqlDefaultGraph
$smwgSparqlRepositoryConnectorIdentifies a database connector that ought to be used together with the semantic data store.2.0.0$smwgSparqlRepositoryConnector
$smwgSparqlQFeaturesSets the SPARQL query features that are expected to be supported by the repository of the identifier (graph) of the SPARQL database2.3.0$smwgSparqlQFeatures
$smwgSparqlRepositoryConnectorForcedHttpVersionSets whether CURLOPT_HTTP_VERSION should explicitly be forced for the endpoint communication2.3.1$smwg­Sparql­Repository­Connector­Forced­Http­Version
$smwgExportResourcesAsIriSets whether resources should be exported as IRIs (Internationalized Resource Identifiers)2.5.0$smwgExportResourcesAsIri

See also[edit]