List of subject-predicate-object databases
Some subject-predicate-object databases (also known as triplestores) have been built as database engines from scratch, while others have been built on top of existing commercial relational database engines (e.g., SQL-based).[1] Like the early development of online analytical processing (OLAP) databases, this intermediate approach allowed large and powerful database engines to be constructed for little programming effort in the initial phases of triplestore development. Long-term though it seems likely that native triplestores will have the advantage for performance. A difficulty with implementing triplestores over SQL is that although triples may thus be stored, implementing efficient querying of a graph-based RDF model (e.g., mapping from SPARQL) onto SQL queries is difficult.[2]
Implementations
Additional implementation facets
The following table is an overview of available triplestores, their technical implementation, support for the SPARQL World Wide Web Consortium (W3C) recommendations, and available application programming interfaces (API).
Solution Name | Native storage | Native SPARQL support | Native SPARQL/Update support | Native SPARQL Protocol Endpoint | Native APIs |
---|---|---|---|---|---|
4store | Triplestore | ✓ | ✓ | ✓ | Command line only |
AllegroGraph | Graph | ✓ | ✓ | ✓ | For most modern programming languages |
ARC2 | 3rd party | ✓ | ✓ | ✓ | PHP |
ARQ | 3rd party | ✓ | ✓ | Java | |
BigData | Triplestore | ✓ | ✓ | ✓ | Java |
BrightstarDB | Graph data model in Heap file | ✓ | .NET Framework or Web Service | ||
Corese | 3rd party | ✓ | Java | ||
D2R Server | 3rd party | ✓ | ✓ | ✓ | Java |
Dydra | Graph database in the cloud SaaS | ✓ | ✓ | ✓ | REST API |
Factmint | Triplestore / Quadstore | ✓ | ✓ | ✓ | Java, REST API and SPARQL Endpoint |
IBM DB2 | Object-relational | Java | |||
Intellidimension Semantics Platform 2.0 | 3rd party | ✓ | .NET Framework | ||
Jena | Tuple store | ✓ | ✓ | ✓ | Java |
KAON2 | 3rd party | ✓ | Java | ||
SparkleDB | Triplestore / Quadstore | ✓ | ✓ | ✓ | For most modern programming languages |
MarkLogic | Triplestore / Quadstore | ✓ | ✓ | REST API, SPARQL Endpoint, Graph Protocol Endpoint, Java API, XQuery, SQL/ODBC | |
Mulgara | 3rd party | ✓ | Java or REST API | ||
OntoBroker | Triplestore | ✓ | ✓ | ✓ | Java |
OntoQuad RDF Server | Triplestore / Quadstore | ✓ | ✓ | ✓ | Java, SPARQL Endpoint or REST API |
Ontotext GraphDB | Triplestore / Quadstore | ✓ | ✓ | ✓ | Java (Jena and Sesame) |
Open Anzo | 3rd party | ✓ | ✓ | Java, JavaScript, .NET Framework | |
OpenLink Virtuoso | Hybrid (Relational Tables and Relational Property Graphs) | ✓ | ✓ | ✓ | ODBC, JDBC, ADO.NET, OLE DB, XMLA, HTTP, etc., serving most modern programming languages including C, PHP, Perl, Python, Ruby, Java, JavaScript, .NET Framework, etc. |
Oracle DB Enterprise Ed. | Object-relational | For most modern programming languages | |||
Parliament | 3rd party | ✓ | ✓ | ✓ | Java or C++ |
Pellet | 3rd party | ✓ | Java | ||
Pointrel | Triplestore | Python | |||
Profium Sense | In-memory triplestore | ✓ | ✓ | Java | |
RAP | In-memory triplestore or heap file | ✓ | PHP | ||
RDF API for PHP | 3rd party | ✓ | PHP | ||
RDF::Query | 3rd party | ✓ | ✓ | ✓ | Perl |
RDF-3X | Triplestore | ✓ | Command line only | ||
RDFBroker | 3rd party | Java | |||
Redland, Redstore | 3rd party | ✓ | ✓ | ✓ | C |
SemWeb.NET | 3rd party | ✓ | ✓ | .NET Framework | |
Sesame | 3rd party | ✓ | ✓ | ✓ | Java |
Soprano | 3rd party | C++ | |||
SPARQL City | Triplestore | ✓ | ✓ | ✓ | Command Line, Web Interface |
SPARQL Engine | 3rd party | ✓ | Java | ||
Stardog | Triplestore | ✓ | ✓ | ✓ | Java, Groovy |
StrixDB | Triplestore | ✓ | ✓ | ✓ | Lua |
Twinql | 3rd party | ✓ | Lisp | ||
YARS | 3rd party | HTTP, JDBC |
See also
- Triplestore is the main article on subject-predicate-object storage theory and techniques
- Freebase uses a triplestore called graphd[8]
- Named graph a.k.a. "quad store"
- SPARQL and List of SPARQL implementations
References
- ↑ US 2003145022 Storage and Management of Semi-structured Data (Use of SQL relational databases as an RDF triple store), 2003
- ↑ Broekstra, Jeen (19 September 2007). "The importance of SPARQL can not be overestimated".
- ↑ "MarkLogic Licensing — MarkLogic Developer Community". Developer.marklogic.com. Retrieved 2016-07-17.
- ↑ "Smart-M3 download". SourceForge.net. Retrieved 2016-07-17.
- ↑ Dave Beckett. "Redland librdf RDF API Library - License". Librdf.org. Retrieved 2016-07-17.
- ↑ "Soprano download". SourceForge.net. 2013-03-20. Retrieved 2016-07-17.
- ↑ "Smart-M3 download". SourceForge.net. Retrieved 2016-07-17.
- ↑ "Graphd - Freebase". Wiki.freebase.com. 2010-06-10. Retrieved 2016-07-17.
External links
- Lehigh University Benchmark (LUBM)
- How RDF Databases Differ from Other NoSQL Solutions
- DB-Engines Ranking of RDF Stores by popularity, updated monthly