Perhaps my main concern is the change with respect to the fact that
now not all features are indexed. I can see that allows for
significant memory savings and speed improvements. However, it
introduces further dependencies between Annotator creators and users.
A feature structure that in UIMA 2.0 would be indexed and available
for users in ways the original author did not anticipate would still
be indexed. If the result for this change is to obtain empty
iterators, it will lead to bugs difficult to track.

My question is: does the current metadata in the UIMAfit java
annotations or XML descriptors captures exactly what feature
structures are being indexed (I believe so, just want to double
check).

This could be a good opportunity to include some sanity checking on
aggregates: if no annotator upstream has declared as indexing a
certain feature structure, then indicating it as input can produce a
warning.

A more erroneous situation relates to accessing types not declared in
the metadata. This is a common UIMAfit new user bug: forget to add any
annotation to the class. In simpler configurations, it will work but
in more complex ones (custom flow controllers, etc) will "fail"
without failing: the annotations will just not be there. As I am
concerned the selective indexing will exacerbate this situation,
giving an actual error might be helpful.

Reply via email to