I got it to work with the following:
ExternalResourceDescription myDict = createExternalResourceDescription(
CompiledDictionaryResource_impl.class,
"file:dictionary.dic");
AnalysisEngineDescription sentimentMapper = createEngineDescription(
ConceptMapperBM.class,
ConceptMapperBM.PARAM_DICT_FILE, myDict,
ConceptMapperBM.PARAM_ANNOTATION_NAME,
Sentiment.class.getCanonicalName(),
<lots of other parameters because too many are mandatory>
);
Apparently no explicit binding is necessary...
Bye,
Jens
On 10/24/2013 10:00 PM, Richard Eckart de Castilho wrote:
It largely depends on how you use the ConceptMapper. External resources require
three things to work:
1) an external resource description
2) a declaration on the analysis engine that it accepts an external resource (a
dependency)
3) a binding binding between the two
Since the ConceptMapper is not an uimaFIT component, i.e. it is not using the
@ExternalResource annotation, uimaFIT cannot create 1 automatically. So you can
create it manually using createDependencyAndBind(), which performs steps 2
(using the createDependency() call) and 3 (using a bindResource() call). Of
course, you can also manually call createDependency() and bindResource()
separately - which I think you were asking for.
If just pass the external resource description to the createEngineDescription()
call, it only does 3, but not 2 - this approach only works if the AE you create
the descriptor for uses the @ExternalResource annotation to declare external
resources.
-- Richard
On 24.10.2013, at 17:56, Jens Grivolla <[email protected]> wrote:
Ok, I guess I don't actually need to do that, ConceptMapper only looks for the
"key" and doesn't seem to know about the indirect binding, right?
And in uimaFIT if I want to bind the same resource to several AEs I use
createExternalResourceDescription() and then just pass it like any other
parameter to createEngineDescription()?
Bye,
Jens
On 10/24/2013 05:28 PM, Jens Grivolla wrote:
Hi, I'm trying to run ConceptMapper from uimaFIT, but
createDependencyAndBind doesn't seem to allow to separate declaring the
external resource (with a "name") and binding that "name" to a "key". I
looked through ExternalResourceFactory but didn't find any method that
seems to obviously do what I need. What should I do?
Btw, I updated ConceptMapper to be based on JCasAnnotator_ImplBase
instead of Annotator_ImplBase and TextAnnotator (both deprecated).
Bye,
Jens