[ Home ] – [ Research ] – [ Teaching ] – [ Resources ] – [ Misc ]
Since it is difficult to apply filtering over the annotation structure of a UIMA processing result, we decide to transpose the problem to another domain where a query language over a structured data and its interpretor were already available. We chose to transpose the problem of analyzing a UIMA annotation structure to an XML analysis problem. The W3C XPath language offers to express constraints over a structure somehow quite similar to the text structure with the possibility to specify directions within. Furthermore it has several functions, in particular String functions.
The major drawback is that XML is by definition a tree structure but not necessary the UIMA annotation structure. We solve the problem by using the Apache JXPath library which applies XPath expressions to graphs of objects of all kinds by setting a context node.
We use this component as a converter to allow interoperability between components sharing semantics but different type systems. Indeed, this component permits the mapping of annotations from a source type into others from target types.
The component is not dependent to a type system source thanks to the Sun java.lang.reflexive API.
This work is hosted at Google forge UIMA Type Mapper Project.