Hi,

I have a few questions on the basic concepts of UIMA.  It’s fine if you tell me 
to read the manuals, but I haven’t been able to find the answers there so far, 
so a chapter reference would be a big help.



1)    If Annotator A creates an annotation, is it OK for Annotator B to modify 
the information in the annotations which A created?



2)   I’ve read that an annotation can contain a reference to another 
annotation, but I haven’t been able to find instructions or an example.

Possibly, I could generate the annotation class using JCasGen, and then 
manually augment the auto-generated code to support references to other 
annotation objects.  Is that a good way to do it?  Or is there some kind of 
built-in support?



3)   Suppose I want a parser to build a parse tree over tokens.  A parse tree 
consists of a hierarchy of nodes.

I could represent each node as an annotation.  Is that the most UIMA-like 
solution?

The reason I hesitate is this.  If I were writing a non-UIMA solution from 
scratch, I’d treat all of the nodes above the token level as abstract units, 
and those abstract units wouldn’t deal in concrete information such as the 
beginning and end of a character range.  I’d keep track of that only at the 
token level.  I think that all UIMA annotations are required to keep track of 
this information.

Also, it sounds the only way for an annotator to retrieve existing annotations 
is to create an iterator and pull them out one by one.  I wish there were a way 
to just get a reference to the root node of my parse tree, so that I can simply 
step recursively through the tree (which assumes I’ve arranged for each node to 
contain references to its children).


Thanks,
--Sean Crist

Reply via email to