I may not understand the scenario. For meta-data that would modify the behavior of the analysis, for example changing what analysis is run for a CAS, putting it into the CAS itself is definitely recommended.
The example above is for the UIMA service to access the artifact itself from a remote source (presumably because it is even less efficient for the remote client to put the data into the CAS). That is certainly recommended for high scale out of analysis services, assuming that the remote source can handle the load and not become a worse bottleneck than just having the client put the data into the CAS. Regards, Eddie On Tue, May 29, 2018 at 1:33 PM, Osborne, John D <[email protected]> wrote: > What is the best practice for passing runtime meta-data about the analysis > to individual annotators when running UIMA-AS or UIMA-DUCC services? An > example would be a database identifier for an analysis of many documents. > I can't pass this in as parameters to the aggregate analysis engine running > as a service, because I don't know what that identifier is until runtime > (when the application calls the service). > > I used to put such information in the JCas, having the CollectionReader > implementation do all this work. But I am striving to have a more > lightweight CollectionReader... The application can obviously write > metadata to a database or other shared resource, but then it becomes > incumbent on the AnalysisEngine to access that shared resources over the > network (slow). > > Any advice appreciated, > > -John >
