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). 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.

Implementations

Name

Developed in language

Homepage

Licence

3store

C

,

4store

C

5store

C

Algebraix data

C++

AllegroGraph

Common Lisp

ARC2

PHP

W3C Software License or GPL

Bigdata

Java

GPL v2 or'' Commercialor'' Research

BrightstarDB

C#

Cayley

Go

ClioPatria

SWI-Prolog, C

Dydra

Common Lisp, C++

Commercial

IBM DB2

Java, SQL

Apache Jena

Java

KiWi (Apache Marmotta)

Java

MarkLogic

C++

Commercial

Mulgara

Java

OntoBroker

Java

OntoQuad RDF Server

C++

OpenAnzo

Java

OpenLink Virtuoso

C

GPL v2 or Commercial

Oracle

Java, PL/SQL, SQL

Ontotext GraphDB

Java

www.ontotext.com/products/ontotext-graphdb-owlim/

Commercial

SparkleDB

C++

sparkledb.net

Parliament

Java, C++

Pointrel System

Java, Python

Profium Sense

Java

RAP

PHP

RDF::Core

Perl

RDF::Trine

Perl

Same as Perl

RDF-3X

C++

CC-BY-NC-SA 3.0

RDFBroker

Java

RDFLib

Python

Redland

C

RedStore

C

Saffron Memory Base

Java

Semantics Platform

C#

SemWeb-DotNet

C#

Sesame

Java

Soprano

C++

SPARQLCity

C, C++

Stardog

Java

StrixDB

C++, Lua

YARS

Java

Nitrosbase

C++

Smart-M3

Python, Java, C, C#

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

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
  • Named graph a.k.a. "quad store"
  • SPARQL and List of SPARQL implementations