Status: | effective |
Progress: | 99% |
Version: | 2.3.0+ |
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]
- The SPARQLStore expects the cURL function of PHP to be available
- Pros and cons of using an RDF database
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]
Connector | Description | Version | Help Page |
---|---|---|---|
Custom | Custom access point to the SPARQLStore | 2.0.0 | Help:SPARQLStore (custom) |
Default | Default access point to the SPARQLStore | 1.6.0 | Help:SPARQLStore (default) |
Virtuoso | Virtuoso access point to the SPARQLStore | 1.7.1 | Help:SPARQLStore and Virtuoso |
4store | 4store access point to the SPARQLStore | 2.0.0 | Help:SPARQLStore and 4store |
Blazegraph | Blazegraph access point to the SPARQLStore | 2.3.0 | Help:SPARQLStore and Blazegraph |
Fuseki | Jena Fuseki access point to the SPARQLStore | 2.0.0 | Help:SPARQLStore and Fuseki |
Sesame | Sesame (RDF4J) access point to the SPARQLStore | 2.1.0 | Help: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:
Parameter | Description | Version | Help page |
---|---|---|---|
$smwgDefaultStore | Sets the storage backend to be used for the semantic data | 0.7 | $smwgDefaultStore |
$smwgSparqlQueryEndpoint | Sets the endpoint for querying the SPARQL database | 1.6.0 | $smwgSparqlQueryEndpoint |
$smwgSparqlDataEndpoint | Sets the endpoint for data on the SPARQL database | 1.6.0 | $smwgSparqlDataEndpoint |
$smwgSparqlCustomConnector | Defines the SPARQL custom database connectors | 1.6.0 | $smwgSparqlCustomConnector |
$smwgSparqlUpdateEndpoint | Sets the endpoint for updating the SPARQL database | 1.6.0 | $smwgSparqlUpdateEndpoint |
$smwgSparqlDefaultGraph | Sets the identifier (graph) of the SPARQL database | 1.7.0 | $smwgSparqlDefaultGraph |
$smwgSparqlRepositoryConnector | Identifies a database connector that ought to be used together with the semantic data store. | 2.0.0 | $smwgSparqlRepositoryConnector |
$smwgSparqlQFeatures | Sets the SPARQL query features that are expected to be supported by the repository of the identifier (graph) of the SPARQL database | 2.3.0 | $smwgSparqlQFeatures |
$smwgSparqlRepositoryConnectorForcedHttpVersion | Sets whether CURLOPT_HTTP_VERSION should explicitly be forced for the endpoint communication | 2.3.1 | $smwgSparqlRepositoryConnectorForcedHttpVersion |
$smwgExportResourcesAsIri | Sets whether resources should be exported as IRIs (Internationalized Resource Identifiers) | 2.5.0 | $smwgExportResourcesAsIri |
See also[edit]
- List of SPARQL triple-store vendors
- Help page on Exception details
- Notes about some technical notes about the SPARQLStore and the
QueryEngine
- SQLStore
- Large Triple Stores
- Notes about the RAPStore
References
- ^ http://www.openlinksw.com/dataspace/doc/dav/weblog/Comunity%20blog/1833
- ^ http://db-engines.com/en/system/Jena%3BVirtuoso
- ^ http://db-engines.com/en/system/Jena%3BSesame%3BVirtuoso
- ^ http://stackoverflow.com/questions/304920/which-triplestore-for-rapid-semantic-web-development/350726#350726
- ^ https://groups.google.com/forum/#!topic/sesame-users/XDrMDka82II
- ^ http://www.w3.org/wiki/LargeTripleStores
- ^ https://github.com/semsol/arc2
- ^ Semantic MediaWiki: GitHub issue comment gh:smw:586:60571556
- ^ http://blog.blazegraph.com/?p=826