Meronymy SPARQL Database Server

Meronymy.png

Meronymy SPARQL Database Server is a high performance cross-platform Resource Description Framework (RDF) NoSQL database management system (DBMS) written in the C++ programming language. It manages collections of RDF documents, and thus works as a triplestore. The first public release will be during 2012.

The Developers goal has been to make a really fast, ACID, cross-platform, user friendly, secure, SPARQL-driven RDF database server (a triplestore) that is usable with the most number of programming languages.

Features

Among the features are:

  • Named graphs.
  • Big Data support as a horizontally distributed database.
  • Cross-platform support: binaries are available for Windows, OpenBSD, Mac OS X, Linux (Ubuntu, Fedora, Mandriva). Other POSIX-compatible operating systems will be added by user request.
  • Sets and bags for query results.

Ad hoc queries

Write SPARQL and SPARQL/Update queries. These declarative query and update languages are W3C standards resp. drafts.

Indexing

Implements persistent data with an indexing algorithm.

Concurrency control

Implements multiversion concurrency control (MVCC).

Serializable isolation level

Implements serializable database system data isolation level through multiversion concurrency control.

Language support

Any programming language or toolkit that support Open Database Connectivity (ODBC) or Java Database Connectivity (JDBC) device drivers, some of these are .NET Framework, Java, Python, PHP, etc. In addition any programming language or toolkit that can access a SPARQL protocol HTTP endpoint. In other words, almost any professional programming language works with the database server.

Currently the drivers are developed and tested on all operating systems for which binaries are available.

Persistence

The database server fully supports ACID (atomicity, consistency, isolation, durability) to guarantee that the database transactions are processed reliably.

High performance

All components in the database server and its drivers have been programmed from scratch to optimize them in performance. The database server was developed in C++ since the developers considered this programming language has the most potential for optimization, and some inline assembly is used at key locations in the programming code.

Query optimizer

A query optimizer component has been implemented in the database management system, this attempts, given a SPARQL query, to determine the most efficient way to execute that query. The query optimizer considers the possible query plans for a given input query, and attempts to determine which of those plans will be the most efficient, thus making it easier to write efficient queries.

Security

ACL-based access control system restrict database access for users and roles.

Deployment

Meronymy database is installed from a cross-platform binary package. A cross-platform installer with a graphical user interface installs all the software components with little user interaction.

Management and graphical frontends

Official tools

Meronymy database comes with an optional DBA Studio software which requires the Java runtime to function.

License

Meronymy database will be free for educational purposes, other licenses are not yet disclosed although there will be a free version.

See also

  • NoSQL
  • RDF
  • Semantic Web
  • SPARQL
  • SPARUL