Eddie:
I mispoke slight earlier. We have 3 analysis engines: one to create a new
view, one to work on that new view, and one that calls the previous two.
Let's call them A, B, and C respectively. So C calls A and then B in a
fixed flow order utilizing custom resource specifier. C is the full
pipeline and does not specify any input or output sofas. Previously, A was
not included in the C pipeline and was called separately. We are trying to
integrate A into C to simplify things. Thanks in advance.
Chuong Ngo
On Wed, Mar 26, 2014 at 6:16 PM, Eddie Epstein <eaepstein@gmail.com> wrote:
> Would be nice to see the big picture, how the JMS services are integrated
> into the full pipeline. Sounds like you have two, separate, "remote" JMS
> annotators, which are being called from an aggregate on a "local" client.
> And guessing that there is sofamapping on the aggregate, for the two remote
> delegates?
>
> Anyway, sofamapping currently does not work across to remote services. The
> workaround is to wrap a remote annotator in an aggregate with the same
> sofamapping specified there as in the local client.
>
> Note also that by setting sofa capabilities in its descriptor, an annotator
> is declaring itself "view aware", which changes the View delivered to the
> annotator's process method. A view aware annotator receives something
> called a base CAS which does not have a sofa, and has to use getView to
> work with real views.
>
> The whole ball of wax is at
>
> http://uima.apache.org/d/uimaj-2.5.0/tutorials_and_users_guides.html#ugr.tug.mvs
>
>
>
> On Wed, Mar 26, 2014 at 12:04 PM, Chuong Ngo <cngo.nlp@gmail.com> wrote:
>
> > I have two annotators that are being used via JMS calls in UIMA AS. The
> > first annotator creates a separate view that then needs to be read by the
> > second annotator. The view is created with:
> >
> > String destinationId = "SomeView";
> > JCas targetView = aJCas.createView(destinationId);
> > String text = "hold the new text."
> > ...
> > targetView.setDocumentText(text);
> > targetView.setDocumentLanguage(sourceView.getDocumentLanguage())
> >
> > This part seems to work, since after calling this annotator's queue, I
> can
> > iterate through the views in the CAS and it shows up. In order for my
> > second annotator to read from and write to that new view that was just
> > created, I simply added the View's name as the input and output sofas:
> >
> > <capabilities>
> > <capability>
> > ...
> > <inputSofas>
> > <sofaName>SomeView</sofaName>
> > </inputSofas>
> > <outputSofas>
> > <sofaName>SomeView</sofaName>
> > </outputSofas>
> > <languagesSupported/>
> > </capability>
> > </capabilities>
> >
> > However, the JCas that gets passed to the 2nd annotator is blank. What
> is
> > the problem?
> >
>
|