Parliament™

Documentation

Be sure to read the user guide -- it makes deploying Parliament a snap.

Other



W3C Semantic Web Logo

W3C RDF Logo

W3C OWL Logo

W3C SPARQL Logo

Welcome to Parliament™

Parliament™ is a high-performance triple store designed for the Semantic Web. Parliament was originally developed under the name DAML DB and was extended by BBN Technologies for internal use in its R&D programs. Parliament was released as an open source project under the BSD license here on SemWebCentral in June, 2009. (See here also for more information about the BSD license.)

Parliament™ is a trademark of BBN Technologies, Inc., and is so-named because a group of owls is properly called a "parliament" of owls.

In the interests of disambiguation, please note that a separate development group at BBN has created another triple store called SHARD. SHARD is a proof-of-concept implementation of a distributed triple-store, while Parliament is an operational, fully featured triple store that runs on a single machine. SHARD is also released as open-source under the BSD license.

Background

The Semantic Web employs a different data model than relational databases. A relational database stores data in tables (rows and columns) while RDF represents data as a list of triples of the form (subject, predicate, object). This list can also be viewed as a directed graph, where the nodes are the subjects and objects and the predicates are the edges. Accordingly, a Semantic Web data store is often called a triple store, graph store, or knowledge base.

A relational database can store a directed graph, and in fact, some graph stores are implemented as a thin interface layer wrapping a relational database. However, the query performance of such implementations is usually poor. This is because the straightforward way to store the graph with the required level of generality is to use a single table to store all the triples, and this schema tends to defeat relational query optimizers.

Early in the Semantic Web's evolution, BBN encountered exactly this problem, and so the graph store called "Parliament" was born. The goal of Parliament was to create a storage mechanism optimized specifically to the needs of the Semantic Web, and the result was a dramatic speed boost for BBN's Semantic Web programs. Since its initial conception, Parliament has served as a core component of several projects at BBN for a number of U.S. Government customers.

Storage and Inference

Parliament is a complete triple store and data management solution that is compatible with the RDF, RDFS, OWL, SPARQL, and GeoSPARQL standards. Parliament incorporates a number of open source third party packages, including Jetty (a servlet container), Jena and ARQ (a query processor), Joseki (a servlet-based implementation of the SPARQL protocol), and Berkeley DB (used to implement the resource dictionary). Figure 1 below shows Parliament's architecture.

Parliament Architecture
Figure 1: Parliament Architecture
 

Parliament has a number of interesting features: