Hi Matt,

what you are looking for is called "sofa mapping". On the level of an
aggregate, you can define view names and map these names to local
names in each of the AEs.

E.g. if you have one AE that produces a view it calls "output" and
another one that expects its data in "_InitialView", then you could
set up a mapping like

 AAE "data" -> AE1 "output"
 AAE "data" -> AE2 "_InitialView" (CAS.NAME_DEFAULT_SOFA)

If you are using uimaFIT, you can use the AggregateBuilder, e.g.

builder = new AggregateBuilder();
builder.add(analysisEngineDescription1, "output", "data");
builder.add(analysisEngineDescription1, CAS.NAME_DEFAULT_SOFA, "output");
AnalysisEngineDescription aggregateEngine = builder. 
createAggregateDescription();

Cheers,

-- Richard

On 28.08.2015, at 23:25, Matthew DeAngelis <roni...@gmail.com> wrote:

> Hi all,
> 
> I have been hitting my head against this all afternoon, so I figured I'd
> ask.
> 
> I am using a CollectionReader to read in HTML files and then using an AE to
> add a view that contains the "clean", plaintext versions of those files. I
> would like to pass the plaintext version to an AE downstream in the
> pipeline (Stanford NLP's tokenizer from DKPro, specifically, for now);
> currently, it only sees and tokenizes the original HTML file. Since the
> tokenizer is not written by me, I would prefer to be able to modify my
> view-creating AE instead of mucking about in someone else's.
> 
> I have tried using an Aggregate Analysis Engine to combine the AEs together
> and Sofa mappings to connect the views, but the downstream AE does not have
> any input views to connect to. When I add an input view named
> "_InitialView" to both the Aggregate AE and the descriptor for the
> tokenizer, I get an interesting-looking NPE in some deep sub-function of
> the tokenizer that suggests I have not been successful.
> 
> Is there a way to tell my AE what view to pass as the "_InitialView", or
> some way to set a different default view to pass?
> 
> 
> Regards and thanks,
> Matt

Reply via email to