Hi Richard, Can you be a bit more explicit what the failing scenario is? I'm definitely confused by wrapping a CR in an AE descriptor. Is it possible to paste here an aggregate descriptor using sample components from the UIMA SDK that demonstrates the problem?
Thanks, Eddie On Sun, Jun 10, 2012 at 2:11 PM, Richard Eckart de Castilho <[email protected]> wrote: > Am 10.06.2012 um 19:50 schrieb Richard Eckart de Castilho: > >> I guess another option should be to change CollectionReaderAdapter to create >> any missing initial view for sofa-unaware readers. That would not have any >> side other component type and it would solve the problem for my use-case as >> well. The problem is, that doesn't work, because the >> PrimitiveAnalysisEngine_impl.classAnalysisComponentProcess() already tries >> to access the mapped view and fails. Changing that to test if the >> mAnalysisComponent is a sofa-unaware CollectionReaderAdapter and creating a >> new view only in that case looks rather like a hack to me, although it would >> probably resolve the situation. I didn't test that yet, but if you think it >> reasonable, I can check it. > > Actually, the exception triggered by > PrimitiveAnalysisEngine_impl.classAnalysisComponentProcess() when accessing > the non-existing mapped CAS seems completely redundant, because if the > analysis engine delegate is a sofa-unaware CasMultiplier or > CollectionReader(Adapter) that doesn't actually use its input CAS, it doesn't > matter at all a that point that the mapped view does not exist. It's enough > if the mapped initial view is set up in any new CAS created for the > CasMultiplier/CollectionReader. > > So, there are many possible ways. I personally don't find to very attractive > to change the CollectionReaderDescription because I think that has quite some > overhead. Even if that was done, the problem would probably remain for mapped > CasMultipliers. I like it that UIMA internally treats all components equally, > so I would prefer doing something that this also works out well when sofa > mappings are used on components that produce new CASes and potentially do not > at all make used of the input CAS. > > -- Richard > > -- > ------------------------------------------------------------------- > Richard Eckart de Castilho > Technical Lead > Ubiquitous Knowledge Processing Lab (UKP-TUD) > FB 20 Computer Science Department > Technische Universität Darmstadt > Hochschulstr. 10, D-64289 Darmstadt, Germany > phone [+49] (0)6151 16-7477, fax -5455, room S2/02/B117 > [email protected] > www.ukp.tu-darmstadt.de > Web Research at TU Darmstadt (WeRC) www.werc.tu-darmstadt.de > ------------------------------------------------------------------- > > > > > >
