I think the UIMA code uses the annotator context to map the _InitialView and the context remains static for the life of the annotator. Replicating annotators to handle different views has been used here too, but agree it is ugly.
If the annotator code can be changed, then one approach would be to put some information in a fixed _IntialView that specifies which named view(s) should be analyzed and have all down stream annotators use that to select the view(s) to operate on. Also sounds possible to have a single new component use the cascopier to create a new view that is always the one processed. Regards, Eddie On Thu, Jul 5, 2018 at 8:52 AM, Jens Grivolla <[email protected]> wrote: > Hi, > > I'm trying to run an already instantiated AE on a view other than > _InitialView. Unfortunately, I can't just call process() on the desired > view, as there is a call to Util.getStartingView(...) > in PrimitiveAnalysisEngine_impl that forces it back to _InitialView. > > The view mapping methods I found (e.g. using and AggregateBuilder) work on > AE descriptions, so I would need to create additional instances (with the > corresponding memory overhead). Is there a way to remap/rename the views in > a JCas before calling process() so that the desired view is seen as the > _InitialView? It looks like CasCopier.copyCasView(..) could maybe be used > for this, but it doesn't feel quite right. > > Best, > Jens >
