uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Lally" <ala...@alum.rpi.edu>
Subject Re: Result Specifications in CPE
Date Wed, 21 Nov 2007 17:18:40 GMT
On Nov 21, 2007 8:02 AM, Michael Baessler <mba@michael-baessler.de> wrote:
> Aaron Kaplan wrote:
> > In Section of "UIMA Tutorial and Developers' Guides" I read:
> >
> >   The Default Result Specification is always used for all components
> > of a Collection Processing Engine.
> >
> > Why is this?  Is it just because nobody's gotten around to putting in
> > a call to setResultSpecification, or is there some fundamental reason
> > that it couldn't be done?
> >
> > What I would like is that when my annotator is instantiated inside a
> > CPE, it can skip generating certain annotations if no other component
> > in the CPE is going to consume them.
> >
> > -Aaron
> I think this is a documentation issue, but I'm not quite sure. I will
> start a discussion about this on the uima-dev list.
> I think when you use an aggregate AE with a capabilityLanguageFlow as
> flow constraint, a computed Result Specification is used.
> If you don't use an aggregate AE as CasProcessor I think it is true,
> that the Default Result Specification is used.

Yes, the last thing that Michael said is right.

The documentation may be a little confusing.  What it means is that
the default Result Spec is used for all _top level_ components in the
CPE.  For an aggregate AE, the rules in section of the
documentation apply _within_ that aggregate.

So it is true that if you have an AE that outputs types x and y, and
you put that AE as a top-level component in a CPE, but no downstream
component of the CPE inputs type x, then the result spec. for your AE
will still include both types x and y.  The same would be true if you
wrapped your AE in an aggregate that declared both x and y as outputs.
 The bottom line is: downstream components of the CPE have no effect
on the result spec.

I don't think there's any fundamental reason for this, it's just that
no one ever got around to implementing it.


View raw message