Boca is part of IBM's Semantic Layered Research Platform.
It is "the foundation of many of our components.It is an enterprise-featured RDF store that provides support for multiple users, distributed clients, offline work, real-time notification, named-graph modularization, versioning, access controls, and transactions with preconditions."
To be honest, I am still trying to fully understand what that paragraph means entirely. I am in communication with the IBM people involved with this project, and it may turn out that this technology becomes a part of my research this year.
I think my options right now are to either:
- Use Jena to store the graph data by querying a database that has a D2R server sitting in front of it (D2R allows for relational databases to be queried using SPARQL).
- Use Sesame to store the graph data by querying Boca, which wraps around a database (mind you, the database is a custom Boca one).
Regardless of option taken, I will likely need to write custom SPARQL queries to populate the graph.
Having written this, I'm torn. Boca offers some cool features (particularly real-time notification, versioning, access controls and the ability to update data), but so does D2R server (the ability to map multiple databases together). Ideally, it would be possible to get both sets of functionality. Maybe the Semantic web client library can help there?