Dear Rupert, Thanks for your instructions! The documents your provided help a lot! I also checked out the source code of some implementations of EnhancementChain you mentioned. Now, I think I understand how it works. I'll turn to you for help if necessary. Thanks again!
Best regards, Siwei Yu On Sat, Mar 24, 2012 at 12:46 AM, Rupert Westenthaler <[email protected]> wrote: > 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
