What is the IBM Semantic Layered Research Platform? (contd)

The IBM Semantic Layered Research Platform is the collective name for the family of software components produced by the IBM Advanced Technology group to support semantics throughout the application stack. We’ll be announcing the availability of these components to the open-source community over the next few months as we polish the initial versions of them and prepare the supporting materials for each. The project is licensed as open-source under the Eclipse Public License.

The genesis of the platform was in our work with CViT, an emerging community for cancer modelers with whom we are working closely to create an application to support wide area collaboration for biomedical research and a series of cancer model and experimental data repositories.


The following is a summary of the components that we’ll be making available, with a brief description of each. The list is arranged in a rough approximation of the order in which we think we’ll be able to release them, but the order is very much subject to change.

  1. Boca1. Boca 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. Matt’s written more about Boca here . Along with Boca are included two subsystems which may also be interesting on their own:
    • Glitter. Glitter is a SPARQL engine independent of any particular backend. It allows interfaces to backend data sources to plugin to the core engine and generate solutions for portions of SPARQL queries with varying granularity. The core engine orchestrates query rewriting, optimization, and execution, and composes solutions generated by the backend. A Boca-specific backend allows SPARQL queries to be compiled to Boca’s temporal database schema.
    • Sleuth. Sleuth provides full-text search capabilities for text literals within Boca. Text literals are indexed with Apache Lucene, and the index also stores information about the named graph, subject, and predicate to which the literal is attached.
  2. DDR. The Distributed Data Repository (DDR) is the binary counterpart to Boca. It’s a write-once, read-many store for binary data. Content within DDR receives an LSID, and a registry of metadata extractors (”scrapers”) allows metadata to be pulled from the content and stored into a companion Boca server. DDR contains an LSID resolver that returns the stored binary content for the LSID getData() call and returns the Boca named graph containing the metadata in response to the LSID getMetadata() call.
  3. ODO. ODO is a family of Perl 5 libraries for parsing, manipulating, persisting, and serializing RDF data. ODO also contains Plastor, a Perl analog of Jastor, which generates Perl classes from an OWL ontology.
  4. Queso. Queso is a semantic web-application framework. It stores content (HTML, CSS, JavaScript, etc.), user data, and application data within Boca, and provides mechanisms for deploying modular applications and services that (modulo access control) can remix and reuse service endpoints and semantic data. Ben, Elias, and Wing have already written more about Queso.
  5. Telar. Telar is a family of Java libraries that provide services for creating applications driven by RDF. Some Telar libraries focus on the user interface, supplying bindings between RDF data and SWT widgets, the Eclipse Graphical Editing Framework (GEF), and Eclipse RCP perspectives, editors, and views. Other Telar libraries focus on data management; these libraries provide functionality to manipulate RDF datasets (collections of named graphs) and to perform tasks such as resolving human-readable labels for resources within an RDF graph.
  6. Salsa. Salsa is a Boca application that brings together semantic technologies and spreadsheets. Salsa serializes spreadsheets to a central Boca server, and also uses a transform language to map cells and cell ranges to their RDF semantics. Salsa is an experiment in separating data from layout within spreadsheets, and also in adapting the familiar spreadsheet user-interface paradigm for RDF data.
  7. Taco. Taco is a framework for measuring performance of RDF stores. It includes utilities that build various kinds of RDF graph structures and the ability to add measurable operations which can include queries, add & removes, for those structures. The perfomance log is also stored in RDF with a defined ontology and can be easily queried with a report generator.
  8. Bambodil. The Bambodil component is an application for storing, searching and retrieving structured annotations as RDF documents.

To understand the context of the project, the technologies on which it is based and the components it includes please view the “Towards a Semantics-enabled Application Infrastructure” presentation.


1 As you can probably tell, several of our components were named at lunch time, as we gazed longingly across the street.