14 May 2014


Clerezza is an OSGI service approach to building semantically driven web applications. It comes with a rich set of integration points and features which make it aptly useful for building to modular services. There is even a conscious effort towards security management with use of WebID which at times is almost lacking in some frameworks. As most aspects of semantic web processing is layered through a workflow process, building to bundles is often more efficient and useful for seamless integration of components. Such bundles might provide features for RDF/JSON formats for building semantic applications and using standard open technologies for implementations such as Jersey, Felix, Jena, Jetty, and even JQuery. The approach can even be made as a platform with specific compile and runtime requirements. Content management systems have multiple parts for working with aspects of content. Semantic web not only makes content more accessible but also using Clerezza can ease the implementation. There are two aspects to the Clerezza project: semantic web application development as well as the RDF storage and manipulation. The core implementations of Clerezza have been engineered in Scala language and provides for use of renderlets which are defined as part of ScalaServerPages for creating various representations. The approach follows the W3C RDF specification and triples are stored using smart content binding which is a versatile layer and very much agnostic to technology providing for both access and modification. The smart content binding also makes use of named graphs to facilitate operations on the data model as well as options to access multiple domain graphs. There are also various adaptors available for processing of RDF graphs. Lastly, the smart content binding provides serialization and parsing services for various conversions and representations. Although, the project does try to provide a very seamless approach, one of the core drawbacks to the initiatives has been in the lack of documentation which makes the stack difficult to understand as well as the use cases for implementation. There have been some efforts made towards improvement in this area and the project is actively in development. One very interesting integration convention is between UIMA/Clerezza for textual annotations using the Annotations Ontology. One can refer further to this on the Domeo Annotations Toolkit paper or the slideshare