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
