Hi Siwei Yu

On Fri, Mar 23, 2012 at 3:51 PM, Siwei Yu <[email protected]> wrote:

> 2. For Rupert, could you please show me some examples of Enhancement
> Chain? I've studied some Enhancement Engines here [1]. I can
> understand how an individual Enhancement Engine works and how to
> implement a new one. After studying [2], I find Enhancement Chain a
> little confusing. Could you please lead me to the source code of the
> implementation of a concrete Enhancement Chain? I want to know the
> data I/O interface from one Enhancement Engine to another. In other
> words, how do the output of an Enhancement Engine become the input of
> another one?

It is much easier as that ^^

The ContentItem [1] holds the state of the enhancement process. More precisely 
the state is represented by [1..n] content parts and the metadata. See the 
documentation for details. This state is initialized based on the request 
parameter and than modified by EnhancementEngines.

EnhancementChains provide the configuration - workflow - how a ContentItem is 
enhanced. This configuration is formalized as ExecutionPlan [2] an executed by 
the EnhancementJobManager [3]. All the different EnhancementChain 
implementations [2a,b,c] do use the same ExecutionPlan schema. The only 
difference is the configuration on the user level (see documentation for 
details).


Concluding:

The ContentItem (state) is parsed from EnhancementEngine to EnhancementEngine. 
The order of execution is defined within the ExecutionPlan provided by the 
EnhancementChain. The EnhancementJobManager is responsible for executing the 
ExecutionPlan. I think the figure at [4] visualizes this best.

hope this helps

best
Rupert


[1] http://incubator.apache.org/stanbol/docs/trunk/enhancer/contentitem.html
[2] 
http://incubator.apache.org/stanbol/docs/trunk/enhancer/chains/executionplan.html
[2a] 
http://incubator.apache.org/stanbol/docs/trunk/enhancer/chains/listchain.html
[2b] 
http://incubator.apache.org/stanbol/docs/trunk/enhancer/chains/weightedchain.html
[2c] 
http://incubator.apache.org/stanbol/docs/trunk/enhancer/chains/graphchain.html
[3] 
http://incubator.apache.org/stanbol/docs/trunk/enhancer/enhancementjobmanager.html
[4] 
http://incubator.apache.org/stanbol/docs/trunk/enhancer/enhancementjobmanager.html#enhancement_process

Reply via email to