A new Zope product, CPSRelation, has been designed to handle RDF relations
within the CPS framework: it gives access to any kind of content RDF
indexation and serialization, as well as querying features.

CPSRelation offers RDF features installing a tool, portal_relations, that
is able to manage several kinds of graphs. Another tool, portal_serializer,
has been designed to provide object serializations via pluggable TALES

We've been using IOBTree graphs to handle relations between documents,
using their docid in the repository as unique identifiers. Now we can also
handle RDF relations, provided by the rdflib Python library and the Redland

We have tested Redland graphs to index and serialize CPS content, and query
relations created in the graph. The mechanism is rather simple:

  • add a Redland graph with an appropriate supported backend in the
    portal_relations tool.

  • define a serializer for each kind of content to get the triples to add
    to the graph, or define triples manually.

  • use the portal_relations API to add/delete relations and query the
    graph created.

  • use the portal_serializer API to serialize as RDF/XML files the graph,
    or results of a query.

The product's SVN repository can be downloaded using
svn co http://svn.nuxeo.org/pub/CPSRelation/trunk CPSRelation

Additional information: