You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by bu...@apache.org on 2014/06/02 09:12:41 UTC

svn commit: r910861 - in /websites/staging/stanbol/trunk/content: ./ docs/trunk/components/enhancer/ docs/trunk/components/enhancer/engines/ presentations/

Author: buildbot
Date: Mon Jun  2 07:12:41 2014
New Revision: 910861

Log:
Staging update by buildbot for stanbol

Added:
    websites/staging/stanbol/trunk/content/presentations/Topic-Classification.pdf   (with props)
Modified:
    websites/staging/stanbol/trunk/content/   (props changed)
    websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/dereference.html
    websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/entityhubdereference.html
    websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/index.html
    websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html

Propchange: websites/staging/stanbol/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Jun  2 07:12:41 2014
@@ -1 +1 @@
-1597033
+1599100

Modified: websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/dereference.html
==============================================================================
--- websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/dereference.html (original)
+++ websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/dereference.html Mon Jun  2 07:12:41 2014
@@ -131,6 +131,7 @@ referenced by the Enhancement Results an
 <li>In settings where a partial local cache for an otherwise slow data source exists. In this case one can configure two Entity Dereference Engines for the same data source. First one with <em>Fallback Mode</em> deactivated for the partial cache and a second with enabled <em>Fallback Mode</em> for the original but slower datasource.</li>
 </ol>
 </li>
+<li><strong>Dereference Properties</strong> <em>(enhancer.engines.dereference.references)</em>: The list of properties that reference Entities. By default <code>fise:entity-reference</code> is used. A Triple pattern <code>(null,{entity-reference},null)</code> is used for all configured property URIs. All unique objects of type URI are considered as entities to be dereferenced. <em>NOTE</em> that configured <em>URI Prefix</em> and/or an <em>URI Pattern</em> are also applied to the list of entity uris. </li>
 <li><strong>Dereference Languages</strong> <em>(enhancer.engines.dereference.languages)</em>: A set of languages that are dereferenced. Even if <em>'Dereference only Content Language Literals'</em> is active explicitly configured languages will still get dereferenced. If not present and <em>'Dereference only Content Language Literals'</em>  is deactivated literals of any language will get dereferenced.</li>
 <li><strong>Dereference only Content Language Literals</strong> <em>(enhancer.engine.dereference.filterContentlanguages)</em>: If enabled only Literals with the same language as the language detected for the Content will get dereferenced. Literals with no language tag will always get dereferenced.</li>
 <li><strong>Dereferenced Fields</strong> <em>(enhancer.engines.dereference.fields)</em>: The dereferenced fields - in RDF terminology 'properties' - to be dereferenced. Typically QNames (e.g. <code>rdf:label</code>) can be used for the configuration. However support for QNames is optional. Some Implementations might also support wildcards and exclusions.</li>
@@ -177,6 +178,23 @@ referenced by the Enhancement Results an
 </pre></div>
 
 
+<p>For the initialization of the custom <code>DereferenceContext</code> one need to use the <code>initialise</code> callback</p>
+<div class="codehilite"><pre><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyDereferenceContext</span> <span class="kd">extends</span> <span class="n">DereferenceContext</span> <span class="o">{</span>
+
+    <span class="kd">protected</span> <span class="nf">MyDereferenceContext</span><span class="o">(</span><span class="n">MyDereferenceEngine</span> <span class="n">engine</span><span class="o">,</span> 
+        <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">enhancementProps</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">DereferenceConfigurationException</span> <span class="o">{</span>
+        <span class="kd">super</span><span class="o">(</span><span class="n">engine</span><span class="o">,</span> <span class="n">enhancementProps</span><span class="o">);</span>
+    <span class="o">}</span>
+
+    <span class="nd">@Override</span>
+    <span class="kd">protected</span> <span class="kt">void</span> <span class="nf">initialise</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">DereferenceConfigurationException</span> <span class="o">{</span>
+        <span class="c1">//do your custom initialisation here</span>
+    <span class="o">}</span>
+
+<span class="o">}</span>
+</pre></div>
+
+
 <p>If you apply this code all calls to <code>EntityDereferencer#dereference(..)</code> will parse an instance of the custom <code>DereferenceContext</code> implementation.</p>
 <p>The custom <a href="http://svn.apache.org/repos/asf/stanbol/trunk/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/EntityhubDereferenceContext.java">DereferenceContext</a> implementation of the Entityhub Dereference Engine is a good example to start from.</p>
 <h3 id="osgi-component">OSGI Component</h3>

Modified: websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/entityhubdereference.html
==============================================================================
--- websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/entityhubdereference.html (original)
+++ websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/entityhubdereference.html Mon Jun  2 07:12:41 2014
@@ -113,6 +113,7 @@
 </ul>
 <p>Additional Supported Properties that are not included in the configuration form:</p>
 <ul>
+<li><strong>Dereference Properties</strong> <em>(enhancer.engines.dereference.references)</em>: The list of properties that reference Entities. By default <code>fise:entity-reference</code> is used. A Triple pattern <code>(null,{entity-reference},null)</code> is used for all configured property URIs. All unique objects of type URI are considered as entities to be dereferenced. <em>NOTE</em> that configured <em>URI Prefix</em> and/or an <em>URI Pattern</em> are also applied to the list of entity uris. </li>
 <li><strong>Dereference Languages</strong> <em>(enhancer.engines.dereference.languages)</em>: A set of languages that are dereferenced. Even if <em>'Dereference only Content Language Literals'</em> is active explicitly configured languages will still get dereferenced. If not present and <em>'Dereference only Content Language Literals'</em>  is deactivated literals of any language will get dereferenced.</li>
 <li><strong>Service Ranking</strong> <em>(service.ranking)</em>: The OSGI service ranking. Will only have an effect if their are two engines with the same name. In such cases the one with the higher service ranking will get called.</li>
 </ul>
@@ -153,6 +154,7 @@ enhancer.engines.dereference.ldpath=[&qu
 <p><strong>since version <code>0.12.1</code></strong> with <a href="https://issues.apache.org/jira/browse/STANBOL-1287">STANBOL-1287</a></p>
 <p>The following Enhancement Properties are supported by the Entityhub Dereference Engine</p>
 <ul>
+<li><strong>Dereference Properties</strong> <em>(enhancer.engines.dereference.references)</em>: a collection of properties that reference Entities. Parsed values will me merged (union) to those statically configured for the Engine. </li>
 <li><strong>Dereference Languages</strong> <em>(enhancer.engines.dereference.languages)</em>: A set of languages that are dereferenced. Even if <em>'Dereference only Content Language Literals'</em> is active explicitly configured languages will still get dereferenced. * <strong>Dereferenced Fields</strong> <em>(enhancer.engines.dereference.fields)</em>: The dereferenced fields - in RDF terminology 'properties' - to be dereferenced. QNames (e.g. <code>rdf:label</code>) can be used for the configuration. This Engine supports the use of FieldMappings for the configuration. Dereferenced Fields parsed as EnhancementProperty will override values configured for the Engine.</li>
 <li><strong>Dereference LD Path</strong> <em>(enhancer.engines.dereference.ldpath)</em>: The <a href="http://marmotta.apache.org/ldpath/language.html">LD Path Language</a> allows to define powerful selectors for dereferenced Entities. An LD Path program parsed as EnhancementProperty will be executed in addition to those configured for the engine.</li>
 </ul>

Modified: websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/index.html
==============================================================================
--- websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/index.html (original)
+++ websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/engines/index.html Mon Jun  2 07:12:41 2014
@@ -157,12 +157,53 @@
 <li><strong>ORDERING_CONTENT_EXTRACTION</strong>: This range includes values form &lt; 200 and &gt;= 100 and shall be used by enhancement engines that need to analyze the parsed content to extract additional metadata. Examples would be Language detection, Natural Language Processing, Named Entity Recognition, Face Detection in Images, Speech to text …</li>
 <li><strong>ORDERING_EXTRACTION_ENHANCEMENT</strong>: This range includes values from &lt; 100 and &gt;= 1 and shall be used by enhancement engines to provide semantic lifting of preexisting enhancement such as linking named entities extracted by an NER engine with entities defines in a controlled vocabulary or lifting artist names, song titles ... extracted from mp3 files with the according Entities defined in an music database.</li>
 <li><strong>ORDERING_DEFAULT</strong>: This represents the value 0 and shall be used as default value for all enhancement engines that do not provide ordering information or do not implement the ServicesProperties interface.</li>
-<li><strong>ORDERING_POST_PROCESSING</strong>: This range includes valued form &lt; 0 and &gt;= -100 and is intended to be used by all enhancement engines that do post processing of enhancement results such as schema translation, filtering of Enhancements ...<br />
-</li>
+<li><strong>ORDERING_POST_PROCESSING</strong>: This range includes valued form &lt; 0 and &gt;= -100 and is intended to be used by all enhancement engines that do post processing of enhancement results such as schema translation, filtering of Enhancements ...  </li>
 </ul>
 <p>The engine ordering information as described here are used by the <a href="../chains/defaultchain.html">Default Chain</a> and the <a href="../chains/weightedchain.html">Weighted Chain</a> to calculate the <a href="../chains/executionplan.html">Execution Plan</a>.</p>
 <p>Basically this features allows the implementor of an enhancement engine to define the correct position of his engine within an typical enhancement chain and therefore ensure that users who add this engine to an enhancer installation to immediately use this engine with the <a href="../chains/defaultchain.html">Default Chain</a>.</p>
 <p>However, the engine ordering is not the only possibility for users to control the execution order. Enhancement chain implementations such as the <a href="../chains/listchain.html">List Chain</a> and the <a href="../chains/graphchain.html">Graph Chain</a> do also allow to directly define the oder of execution. For these chains the ordering information provided by enhancement engines are ignored.</p>
+<h3 id="enhancement-properties-support">Enhancement Properties support</h3>
+<p><strong>since version <code>0.12.1</code></strong></p>
+<p><a href="../enhancementproperties">Enhancement Properties</a> can be used to parameterize <a href="../chains">Enhancement Chains</a> and/or the enhancement of single <a href="../contentitem">Content Item</a>s. Support by EnhancementEngines is optional. Engines that do support EnhancementProperties <em>SHOULD</em> list the keys of supported properties in their documentation.</p>
+<p>In version <code>0.12.1</code> and <code>1.*</code> EnhancementProperties are contained in the <a href="contentitem">ContentItem</a> parsed to the EnhancementEngine. The <code>EnhancementEngineHeloer</code> utility has methods to access them. The following listing shows the code necessary to get the Enhancement Properties from the parsed ContentItem.</p>
+<div class="codehilite"><pre><span class="nd">@Override</span>
+<span class="kd">public</span> <span class="kd">final</span> <span class="kt">void</span> <span class="nf">computeEnhancements</span><span class="o">(</span><span class="n">ContentItem</span> <span class="n">ci</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">EngineException</span> <span class="o">{</span>
+    <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">enhancemntProps</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getEnhancementProperties</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">);</span>
+    <span class="o">[..]</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>With <code>2.0.0</code> the EnhancementEngine API will be changed so that the EnhancementProperties are parsed as an additional parameter.</p>
+<div class="codehilite"><pre><span class="nd">@Override</span>
+<span class="kd">public</span> <span class="kd">final</span> <span class="kt">void</span> <span class="nf">computeEnhancements</span><span class="o">(</span><span class="n">ContentItem</span> <span class="n">ci</span><span class="o">,</span>
+        <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">enhancemntProps</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">EngineException</span> <span class="o">{</span>
+    <span class="o">[..]</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>The <code>Map&lt;String,Object&gt;</code> containing the EnhancementProperties is a read/write-able copy of the EnhancementProperties parsed with the ContentItem. That mean that EnhancementEngine implementations are free to change the contents of that map. Those changes will not affect the state of the ContentItem.</p>
+<p>The keys of in the map are the string keys of the parsed Enhancement Properties (e.g. <code>enhancer.max-suggestion</code> or <code>enhancer.engines.dereference.fields</code>). Values can be any Object. Arrays and Collections may be used for multi value properties. The <code>EnhancementEngineHelper</code> utility provides methods to convert values to expected. </p>
+<div class="codehilite"><pre><span class="c1">//define supported enhancement properties as constants</span>
+<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">MAX_SUGGESTIONS</span> <span class="o">=</span> <span class="s">&quot;enhancer.max-suggestions&quot;</span><span class="o">;</span>
+<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">DEREFERENCED_FIELDS</span> <span class="o">=</span> <span class="s">&quot;enhancer.engines.dereference.fields&quot;</span><span class="o">;</span>
+
+<span class="o">[..]</span>
+
+<span class="nd">@Override</span>
+<span class="kd">public</span> <span class="kd">final</span> <span class="kt">void</span> <span class="nf">computeEnhancements</span><span class="o">(</span><span class="n">ContentItem</span> <span class="n">ci</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">EngineException</span> <span class="o">{</span>
+    <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">enhProp</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getEnhancementProperties</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">);</span>
+    <span class="n">Integer</span> <span class="n">maxSuggestions</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getFirstConfigValue</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">,</span>
+        <span class="n">enhProp</span><span class="o">,</span> <span class="n">MAX_SUGGESTIONS</span><span class="o">,</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+    <span class="n">Collection</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">fields</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getConfigValues</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">,</span> 
+        <span class="n">enhProp</span><span class="o">,</span> <span class="n">DEREFERENCED_FIELDS</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>There are also <code>parseConfig*(..)</code> methods where one can directly parse the object value. Those methods do also not throw an <code>EnhancementPropertyException</code>. Note also the <code>get*ConfigValue(Dictionary&lt;String,Object&gt;, ...)</code> methods that can be used to parsed the OSGI component configuration.</p>
 <h2 id="enhancement-engine-management">Enhancement Engine Management</h2>
 <p>This section describes how enhancement engines are managed by the Apache Stanbol Enhancer and how they can be selected/accessed through the <a href="../enhancementjobmanager.html">Enhancement Job Manager</a> and executed in an <a href="../chains">Enhancement Chain</a>.</p>
 <p>Enhancement engines are registered as OSGi services and managed by using the following service properties:</p>

Modified: websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html
==============================================================================
--- websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html (original)
+++ websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html Mon Jun  2 07:12:41 2014
@@ -156,16 +156,16 @@ expected values. </p>
 <span class="nd">@Override</span>
 <span class="kd">public</span> <span class="kd">final</span> <span class="kt">void</span> <span class="nf">computeEnhancements</span><span class="o">(</span><span class="n">ContentItem</span> <span class="n">ci</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">EngineException</span> <span class="o">{</span>
     <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">enhProp</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getEnhancementProperties</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">);</span>
-    <span class="n">Integer</span> <span class="n">maxSuggestions</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getFirstConfigValue</span><span class="o">(</span>
-        <span class="n">enhProp</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">MAX_SUGGESTIONS</span><span class="o">),</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+    <span class="n">Integer</span> <span class="n">maxSuggestions</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getFirstConfigValue</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">,</span>
+        <span class="n">enhProp</span><span class="o">,</span> <span class="n">MAX_SUGGESTIONS</span><span class="o">,</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-    <span class="n">Collection</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">fields</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getConfigValues</span><span class="o">(</span>
-        <span class="n">enhProp</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">DEREFERENCED_FIELDS</span><span class="o">),</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+    <span class="n">Collection</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">fields</span> <span class="o">=</span> <span class="n">EnhancementEngineHelper</span><span class="o">.</span><span class="na">getConfigValues</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">ci</span><span class="o">,</span> 
+        <span class="n">enhProp</span><span class="o">,</span> <span class="n">DEREFERENCED_FIELDS</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 <span class="o">}</span>
 </pre></div>
 
 
-<p><em>TIP</em> the same methods can also be used to process the configuration parsed by OSGI.</p>
+<p>There are also <code>parseConfig*(..)</code> methods where one can directly parse the object value. Those methods do also not throw an <code>EnhancementPropertyException</code>. Note also the <code>get*ConfigValue(Dictionary&lt;String,Object&gt;, ...)</code> methods that can be used to parsed the OSGI component configuration.</p>
 <h2 id="definition-ofchain-scoped-enhancement-properties">Definition ofChain scoped Enhancement Properties</h2>
 <p>Chain scoped EnhancementProperties are represented by RDF in the ExecutionPlan.  As in <code>0.12.1</code> and <code>1.*</code> the ExecutionPlan is provided by the <code>Chain#getExecutionPlan()</code> method most currently used Chain implementations where extended to support the the configuration of <em>chain</em> scoped Enhancement Properties.</p>
 <p>Starting from <code>0.12.1</code> the <a href="chains/listchain">ListChain</a>, <a href="chains/weightedchain">WeightedChain</a> and <a href="chains/graphchain">GraphChain</a> allow the configuration of EnhancementProperties:</p>

Added: websites/staging/stanbol/trunk/content/presentations/Topic-Classification.pdf
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/stanbol/trunk/content/presentations/Topic-Classification.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf