Boca, The RDF repository component

I’m very happy to announce the open source release of Boca, the RDF store component that our group has been working on for many years now. Boca is a scalable RDF repository developed by the IBM Adtech group in Cambridge. Boca is designed to make it possible to build multi-user, distributed RDF applications requiring features not commonly found in other RDF repositories, including:

  • Named Graphs: Partitioning of data into sets of statements that can be named with a URI and later be accessed using that named graph’s URI
  • Replication: RDF from the server may be selectively cached on client machines and data can be persisted for offline access and performance enhancement
  • Security: Named graphs are secured using a role based access control system
  • Revision history: All changes to named graphs are tracked and are available via API calls
  • Notification: The client receives updates through a JMS Notification subsystem about changes to relevant triples and named graphs

At the center of a Boca system is a server capable of storing millions of RDF triples in a DB2 database. Client machines can then query and update the RDF on the server from across the web using the Boca client stack. The client stack provides various modes of operation including embedding a Boca server within the client, running all operations against a remote server, or running against locally persisted data. These various modes of operation will be describe in much more detail within tutorials and example code.

The Boca client stack maintains a fair amount of compatibility with HP’s Jena API, which is a popular API for accessing RDF from Java. Developers planning to use Boca should be familiar with the Jena APIs and SPARQL, the RDF query language.

This initial release code is the culmination of many years of thought into the concepts and ideas that our group feels are needed in an RDF store for enterprise applications. I have lots of ideas for features to implement and always welcome feedback about the system. I hope to release updates often and will try to communicate those changes to anyone interested through this web site.

More information can be found in the Boca Users Guide

Matt Roy, November 2006