Hi,

>> Is there a way to dynamically bind/update resources for an AnalysisEngine ?
> 

> There may be more conventions / built-in ways that DKPro has
> for this scenario.

There are no conventions in DKPro Core for resource binding. It should also not
interfere if you do resource binding with any of the components you may have
implemented yourself and mix/match in a pipeline with DKPro Core components.

> This link in the UIMA Reference manual describes Resources:
> https://uima.apache.org/d/uimaj-2.10.2/references.html#ugr.ref.resources
> 
> See also the Javadocs for SharedResourceObject
> https://uima.apache.org/d/uimaj-2.10.2/apidocs/org/apache/uima/resource/SharedResourceObject.html

uimaFIT also has support for external resources. If you use DKPro Core,
I expect you also make use of uimaFIT. You can find a bit of 
documentation here:

https://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.externalresources

However, if you want to use external resources, having a look at 

https://svn.apache.org/repos/asf/uima/uimafit/trunk/uimafit-core/src/test/java/org/apache/uima/fit/factory/ExternalResourceFactoryTest.java

In particular, you might not want to use a SharedResourceObject, but instead
build your parser resource on top of Resource_ImplBase and instead of
relying on SharedResourceObject.load() you could just implement arbitrary
methods, e.g. "getLatestParser()".

That said, instead of rebinding resources to components, I would suggest that
you put your compiled parsers somewhere a "parser resource" bound
to an analysis engine would be able to find it. Then, when the 
AE asks the resource for the actual parser, the resource should
return the latest parser available. 

Cheers,

-- Richard

Reply via email to