At his presentations Bertrand presented the idea of using a tuple-space so
that multiple EnhancementEngines can enhance resources even when depending
on the result of another.

I think this can be done with current clerezza instrastructure requiring no
additional api:

Say we have 3 engines
- Pdf2Text
- TextAnnotator
- geo-enhancer

This engines register to the content-graph as listener.
Pdf2Text: Listens for triples matching the patter (:Representation :type
"appplication/pdf") when one is added that doesn't already have a plain
-text representation it creates one
TextAnnotator: listens for the addition of type text/plain and annotates
them, for example this might create a resource of type geo:Place with label
"Salzburg"
-the geo-enhancer listens to new resources of type geo:Place and enhances
them with their coordinates


The most important method to implement this is probably:
http://incubator.apache.org/clerezza/mvn-site/org.apache.clerezza.rdf.core/apidocs/org/apache/clerezza/rdf/core/TripleCollection.html#addGraphListener(org.apache.clerezza.rdf.core.event.GraphListener,%20org.apache.clerezza.rdf.core.event.FilterTriple)

Cheers,
reto

Reply via email to