Help:SPARQLStore

From semantic-mediawiki.org
Jump to: navigation, search
SPARQLStore
SPARQLStore the component to establish a connection between SMW and a triple store.
Further Information
Short name: SPARQLStore
Provided by: Semantic MediaWiki
Added: 1.6
Removed: still in use
Keyword : RDF · SPARQL · Triple 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

Scalability and stability

Starting with Semantic MediWiki 2.3, 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) [0] it should be regarded as reliable and stable [2, 3, 4]
  • 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. [1]
  • 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 datasets, see [5].
  • 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". [6]
  • Neo4J has not been tested (see comments made about Virtuoso/Neo4J [7])
  • Blazegraph has been selected by the Wikidata project to serve the "Wikidata Query Service" [8]

Available repository connectors

ConnectorDescriptionVersionHelp Page
Generic (Default)Default access point to the SPARQLStore2.0Help:SPARQLStore (default)
VirtuosoVirtuoso access point to the SPARQLStore2.0Help:SPARQLStore and Virtuoso
4store4store access point to the SPARQLStore2.0Help:SPARQLStore and 4store
BlazegraphBlazegraph access point to the SPARQLStore2.3Help:SPARQLStore and Blazegraph
FusekiJena Fuseki access point to the SPARQLStore2.0Help:SPARQLStore and Fuseki
SesameSesame access point to the SPARQLStore2.1Help:SPARQLStore and Sesame

Available configuration parameters

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 data1.0Help:Configuration parameter "$smwgDefaultStore"
$smwgSparqlUpdateEndpointSets the endpoint (service URL) for updating (update queries) the SPARQL database.1.6.0Help:Configuration parameter "$smwgSparqlUpdateEndpoint"
$smwgSparqlDataEndpointSets the endpoint (service URL) for data (SPARQL over HTTP service) on the SPARQL database.1.6.0Help:Configuration parameter "$smwgSparqlDataEndpoint"
$smwgSparqlDatabaseDefines the SPARQL custom database connectors1.6.0Help:Configuration parameter "$smwgSparqlDatabase"
$smwgSparqlQueryEndpointSets the endpoint (service URL) for querying (reading queries like SELECT) the SPARQL database.1.6.0Help:Configuration parameter "$smwgSparqlQueryEndpoint"
$smwgSparqlDefaultGraphSets the identifier (graph) of the SPARQL database.1.7.0Help:Configuration parameter "$smwgSparqlDefaultGraph"
$smwgSparqlDatabaseConnectorIdentifies a database connector that ought to be used together with the semantic data store.2.0Help:Configuration parameter "$smwgSparqlDatabaseConnector"
$smwgSparqlQFeaturesDefines the SPARQL query features that are expected to be supported by the repository of the identifier (graph) of the SPARQL database.2.3.0Help:Configuration parameter "$smwgSparqlQFeatures"
$smwgSparqlRepositoryConnectorForcedHttpVersionExplicitly force a CURLOPT_HTTP_VERSION for the endpoint communication2.3.1Help:Configuration parameter "$smwgSparqlRepositoryConnectorForcedHttpVersion"

Notes

[0] http://www.openlinksw.com/dataspace/doc/dav/weblog/Comunity%20blog/1833

[1] https://groups.google.com/forum/#!topic/sesame-users/XDrMDka82II

[2] http://db-engines.com/en/system/Jena%3BVirtuoso [3] http://db-engines.com/en/system/Jena%3BSesame%3BVirtuoso [4] http://stackoverflow.com/questions/304920/which-triplestore-for-rapid-semantic-web-development/350726#350726

[5] http://www.w3.org/wiki/LargeTripleStores

[6] https://github.com/semsol/arc2

[7] https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/586#issuecomment-60571556

[8] http://blog.blazegraph.com/?p=826

See also