Added: 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html
==============================================================================
--- 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html
 (added)
+++ 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancementproperties.html
 Thu May 22 13:24:38 2014
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+  <link href="/css/stanbol.css" rel="stylesheet" type="text/css">
+  <title>Apache Stanbol - Enhancement Properties</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link title="doap" rel="meta" type="application/rdf+xml" href="/doap.rdf"/>
+  <link rel="icon" type="image/png" 
href="/images/stanbol-logo/stanbol-favicon.png"/>
+  <script type="text/javascript">
+    // Google Analytics Tracking Code
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-32086816-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>  
+</head>
+
+<body>
+  <div id="navigation"> <!-- but auto scroll the menue -->
+    <a href="/index.html"><img alt="Apache Stanbol" width="220" height="101" 
border="0" src="/images/stanbol-logo/stanbol-2010-12-14.png"/></a><br />
+      <ul>
+<li><a href="/docs/trunk/tutorial.html">Getting Started</a></li>
+<li><a href="/docs/trunk/">Documentation</a><ul>
+<li><a href="/docs/trunk/scenarios.html">Usage Scenarios</a></li>
+<li><a href="/docs/trunk/components/">Components</a></li>
+<li><a href="/docs/trunk/production-mode/">Production Mode</a></li>
+</ul>
+</li>
+<li><a href="/development/">Development</a><ul>
+<li><a href="/development/index.html#mailing_lists">Mailing Lists</a></li>
+<li><a href="/development/index.html#issue_tracker">Issue Tracker</a></li>
+<li><a href="/development/index.html#source_code">Source Code</a></li>
+<li><a href="/development/index.html#development_practices">Development 
Practices</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="downloads">Downloads</h1>
+<ul>
+<li><a href="/downloads/">Overview</a><ul>
+<li><a href="/downloads/releases.html">Releases</a></li>
+<li><a href="/downloads/launchers.html">Launchers</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="project">Project</h1>
+<ul>
+<li><a href="/pmc/">PMC</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li>
+<li><a href="/privacy-policy.html">Privacy Policy</a></li>
+</ul>
+<h1 id="archived-docs">Archived Docs</h1>
+<ul>
+<li><a href="/docs/0.9.0-incubating/">0.9.0-incubating</a></li>
+</ul>
+<h1 id="the-asf">The ASF</h1>
+<ul>
+<li><a href="http://www.apache.org";>Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html";>Become a 
Sponsor</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+<p><br /><a href="/doap.rdf"><img style="margin-left: 1em;" border="0" 
alt="DOAP File" src="/images/doap.png"/></a></p>
+  </div>
+  <div id="content">
+    <div class="breadcrumbs">
+      <ul> <li><a href="/">Home</a></li> <li class="item"><a 
href="/docs/">Docs</a></li> <li class="item"><a 
href="/docs/trunk/">Trunk</a></li> <li class="item"><a 
href="/docs/trunk/components/">Components</a></li> <li class="item"><a 
href="/docs/trunk/components/enhancer/">Enhancer</a></li> </ul>
+    </div>
+    <h1 class="title">Enhancement Properties</h1>
+    <p><strong>since version <code>0.12.1</code></strong></p>
+<p>Enhancement Properties allow to parametrize the enhancement process of a <a 
href="contentitem">ContentItem</a>. In contrast to the configuration of <a 
href="engines">Enhancement Engines</a> - that is bound to the component life 
cycle - enhancement properties can be defined for <a href="chains">Enhancement 
Chain</a> and single enhancement requests.</p>
+<h2 id="naming-and-definition">Naming and definition</h2>
+<p>EnhancementProperties are defined as string keys similar to Java 
properties. To represent them in RDF the key is transformed to an URI by using 
the string key as local name and 
<code>http://stanbol.apache.org/ontology/enhancementproperties#</code> as 
namespace. The default namespace prefix for enhancement properties is 
<code>ehp</code>. </p>
+<p>The String key of Enhancement Properties MUST start with 
<code>enhancer.</code> and SHOULD use the 
<code>enhancer.{level-1}.{level-2}.{property-name}</code> syntax. Properties 
are case sensitive and SHOULD only use lower case characters. The '-' char 
shall be used to make properties with multiple names easier to read. </p>
+<p>Globally defined properties use '<code>enhancer.{property-name}</code>'. 
Enhancement Engine specific properties a possible shorted/simplified name of 
the engine should be used as <code>{level-1}</code>. Engine specific properties 
might also use <code>engines</code> as <code>{level-1}</code> and the name of 
the engine as <code>{level-2}</code>.</p>
+<p>Examples: <code>enhancer.max-suggestions</code> or 
<code>enhancer.min-confidence</code> are typical examples for globally defined 
Enhancement Properties. Properties defined by specific Enhancement Engines will 
look like <code>enhancer.entity-co-mention.adjust-existing-confidence</code> or 
<code>enhancer.engines.dereference.fields</code> (as defined by <a 
href="https://issues.apache.org/jira/browse/STANBOL-1287";>STANBOL-1287</a>.</p>
+<p>Enhancement Properties can also be defined as RDF datatype properties. This 
allows to specify the expected XSD data type of
+expected values. </p>
+<div class="codehilite"><pre><span class="p">@</span><span 
class="n">prefix</span> <span class="n">ehp</span> <span 
class="o">&lt;</span><span class="n">http</span><span class="p">:</span><span 
class="o">//</span><span class="n">stanbol</span><span class="p">.</span><span 
class="n">apache</span><span class="p">.</span><span class="n">org</span><span 
class="o">/</span><span class="n">ontology</span><span class="o">/</span><span 
class="n">enhancementproperties</span>#<span class="o">&gt;</span>
+
+<span class="n">ehp</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">max</span><span class="o">-</span><span class="n">suggestions</span>  
  <span class="n">rdf</span><span class="p">:</span><span class="n">type</span> 
   <span class="n">rdfs</span><span class="p">:</span><span 
class="n">DatatypeProperty</span><span class="p">,</span>
+    <span class="n">xsd</span><span class="p">:</span><span 
class="n">datatype</span>    <span class="n">xsd</span><span 
class="p">:</span><span class="n">Integer</span><span class="p">;</span>
+
+<span class="n">ehp</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">min</span><span class="o">-</span><span class="n">confidence</span> 
<span class="n">rdf</span><span class="p">:</span><span class="n">type</span>   
 <span class="n">rdfs</span><span class="p">:</span><span 
class="n">DatatypeProperty</span><span class="p">,</span>
+    <span class="n">xsd</span><span class="p">:</span><span 
class="n">datatype</span>    <span class="n">xsd</span><span 
class="p">:</span><span class="n">Double</span><span class="p">;</span>
+
+<span class="n">ehp</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">entity</span><span class="o">-</span><span class="n">co</span><span 
class="o">-</span><span class="n">mention</span><span class="p">.</span><span 
class="n">adjust</span><span class="o">-</span><span 
class="n">existing</span><span class="o">-</span><span 
class="n">confidence</span>   <span class="n">rdf</span><span 
class="p">:</span><span class="n">type</span>    <span 
class="n">rdfs</span><span class="p">:</span><span 
class="n">DatatypeProperty</span><span class="p">,</span>
+    <span class="n">xsd</span><span class="p">:</span><span 
class="n">datatype</span>    <span class="n">xsd</span><span 
class="p">:</span><span class="n">Double</span><span class="p">;</span>
+
+<span class="n">ehp</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">engines</span><span class="p">.</span><span 
class="n">dereference</span><span class="p">.</span><span 
class="n">fields</span> <span class="n">rdf</span><span class="p">:</span><span 
class="n">type</span>    <span class="n">rdfs</span><span 
class="p">:</span><span class="n">DatatypeProperty</span><span 
class="p">,</span>
+    <span class="n">xsd</span><span class="p">:</span><span 
class="n">datatype</span>    <span class="n">xsd</span><span 
class="p">:</span><span class="n">String</span><span class="p">;</span>
+</pre></div>
+
+
+<p><em>NOTE</em> that the <a href="#java-interface">Java Interface</a> will 
parse enhancement properties as <code>Map&lt;String,Object&gt;</code>. 
Regardless of the defined data type Enhancement Engines that support a property 
MUST support to parse values from string values (the lexical form of the RDF 
literal). Multiple values may be parsed as Java Collection or an Array.</p>
+<p>h2. Scopes</p>
+<p>Enhancement Properties can be defined with the following scopes</p>
+<ol>
+<li><strong>request and engine</strong>: Properties with this scope are 
applied for a single request and a specific <a href="engines">Enhancement 
Engine</a> part of the executed <a href="chains">Enhancement Chain</a>. They do 
have the highest priority and will therefore override any property with the 
same name defined with an different scope. </li>
+<li><strong>request</strong>: Properties valid for a single request that are 
parsed to every Enhancement Engine part of the executed Enhancement Chain.</li>
+<li><strong>chain and engine</strong>: Properties defined for a specific <a 
href="engines">Enhancement Engine</a> of an <a href="chains">Enhancement 
Chain</a>. This properties will get applied to all calls of the Enhancement 
Engine part of the execution of the Chain the property is defined for. </li>
+<li><strong>chain</strong>: Properties parsed to every Enhancement Engine 
called as part of the execution of the defined <a href="chains">Enhancement 
Chain</a>. Enhancement Properties of this scope do have the lowest priority and 
will be overridden by any property with the same key and one of the above 
scopes.</li>
+</ol>
+<p>Properties with a higher priority will override properties with an lower 
priority. Meaning if a property <code>enhancer.min-confidence=0.5</code> is 
defined on a <em>chain</em> scope it can be overridden by 
<code>enhancer.min-confidence=0.75</code> on a <strong>chain and 
engine</strong> scope. A single request might still override the value on a 
<strong>request</strong> or  <strong>request and engine</strong> scope.</p>
+<p><strong>Chain</strong> and/or <strong>chain and engine</strong> scoped 
properties are configured with <a href="chains">Enhancement Chain</a> 
definition. <strong>Request</strong> and/or <strong>request and engine</strong> 
scoped properties can be specified as query parameter of the POST request or 
via the Java API by accessing the <em>Request Properties</em> content part. See 
the following sections for detailed information.</p>
+<h2 id="using-enhancement-properties">Using Enhancement Properties</h2>
+<p>Enhancement Properties are consumed by <a href="engine">Enhancement 
Engine</a>s. This section describes how implementors of engines can retrieve 
Enhancement Properties from the request - calls to the 
<code>computeEnhancements(..)</code> method.</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 
present in the ContentItem. That mean that EnhancementEngine implementations 
are free to change the contents of that map as 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. </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="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">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="o">}</span>
+</pre></div>
+
+
+<p><em>TIP</em> the same methods can also be used to process the configuration 
parsed by OSGI.</p>
+<h2 id="definition-chain-scoped-enhancement-properties">Definition Chain 
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 generated by the Enhancement Chain implementations needs to support the 
configuration.</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>
+<ul>
+<li>
+<p><strong>chain and engine</strong> scoped properties are defined as 
parameters to the engines with the syntax <code>{engine-name}; 
{property-name-1}={value-1},{value-2}; {property-name-2}={value-1};</code> </p>
+</li>
+<li>
+<p><strong>chain</strong> scoped properties can be configured by using the 
osgi property key <code>stanbol.enhancer.chain.chainproperties</code> by the 
syntax <code>{property-name-1}={value-1},{value-2}</code>. NOTE that 
<code>;</code> is NOT supported as separator for parsing multiple properties as 
OSGI configurations already define a way for parsing multiple values</p>
+</li>
+</ul>
+<p>All EnhancementProperties configured with a <a href="chains">Chain</a> are 
written as RDF to the
+<a href="chains/executionplan">ExecutionPlan</a>. <em>Chain</em> scoped 
properties are directly added to the 
+<code>ep:ExecutionPlan</code> instance while <em>chain and engine</em> scoped 
properties are added to the
+<code>ep:ExecutionNode</code> of the according engine.</p>
+<p>With version <code>2.*</code> of the enhancer it will be possible to 
directly parse/refer an ExecutionPlan as RDF graph. This will also allow to 
manage/configure <em>chain</em> scoped enhancement properties in RDF.</p>
+<h2 id="definition-of-request-scoped-enhancement-properties">Definition of 
Request scoped Enhancement Properties</h2>
+<p><em>Request</em> and <em>request and engine</em> scoped 
EnhancementProperties are commonly called
+__Request Properties_. They can be parsed as Query Parameter with enhancement 
requests or
+directly set to the RequestProperties contentPart via the Java API.</p>
+<h3 id="request-properties-encoding">Request Properties encoding</h3>
+<p>Request properties use the following encoding:</p>
+<ul>
+<li><em>request</em> scoped enhancement properties are directly parsed by 
their key</li>
+<li><em>request and engine</em> scoped enhancement properties are parsed by 
using <code>{engine-name}:{property-name}</code></li>
+</ul>
+<p>As example the request property <code>enhancer.max-suggestions=5</code> 
would set the maximum number
+of suggestions for all engines to five. In contrast the request property 
<code>dbpedia-fst:enhancer.max-suggestions=10</code> would set the maximum 
number of suggestions for the DBpedia FST linking engine to ten. If both 
request properties are parsed the DBpedia FST linking engine would be allowed 
to suggest ten entities while all the other would give five suggestions at 
max.</p>
+<h3 id="parsing-request-properties-via-the-enhancer-restful-service">Parsing 
Request Properties via the Enhancer RESTful Service</h3>
+<p>Starting with <code>0.12.1</code> Enhancement Properties can be parsed as 
query parameter of Enhancement Requests. For request scoped properties the 
property name is used as parameter. Request and engine scoped properties need 
to use <code>{engine-name}:{property-name}</code> as parameter.</p>
+<p>The following shows the curl request generating the equivalent of the 
example used in the above section:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span 
class="o">-</span><span class="n">X</span> <span class="n">POST</span> <span 
class="o">-</span><span class="n">H</span> &quot;<span 
class="n">Accept</span><span class="p">:</span> <span 
class="n">text</span><span class="o">/</span><span 
class="n">turtle</span>&quot; <span class="o">-</span><span class="n">H</span> 
&quot;<span class="n">Content</span><span class="o">-</span><span 
class="n">type</span><span class="p">:</span> <span class="n">text</span><span 
class="o">/</span><span class="n">plain</span>&quot; <span class="o">\</span>
+    <span class="o">--</span><span class="n">data</span> &quot;<span 
class="n">The</span> <span class="n">Eifeltower</span> <span 
class="n">is</span> <span class="n">located</span> <span class="n">in</span> 
<span class="n">Paris</span><span class="p">.</span>&quot; 
+    <span class="n">http</span><span class="p">:</span><span 
class="o">//</span><span class="n">localhost</span><span 
class="p">:</span>8080<span class="o">/</span><span 
class="n">enhancer</span>?<span class="n">enhancer</span><span 
class="p">.</span><span class="n">max</span><span class="o">-</span><span 
class="n">suggestions</span><span class="p">=</span>5<span 
class="o">&amp;\</span>
+    <span class="n">dbpedia</span><span class="o">-</span><span 
class="n">linking</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">min</span><span class="o">-</span><span 
class="n">confidence</span><span class="p">=</span>0<span 
class="p">.</span>33<span class="o">&amp;\</span>
+    <span class="n">conf</span><span class="o">-</span><span 
class="n">filter</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">min</span><span class="o">-</span><span 
class="n">confidence</span><span class="p">=</span>0<span class="p">.</span>85
+</pre></div>
+
+
+<h3 id="request-properties-java-api">Request Properties Java API</h3>
+<p>In version <code>0.12.1</code> and <code>1.*</code> Request Properties 
(<em>request</em> and <em>request and engine</em> scoped EnhancementProperties) 
are  stored in the ContentPart with the URI 
<code>urn:apache.org:stanbol.enhancer:request.properties</code>. The 
ContentItemHelper utility provides methods to retrieve and/or init this content 
part.</p>
+<p>The RequestProperties content part uses a simple 
<code>Map&lt;Stirng,Object&gt;</code>. Keys do use the
+Request Properties encoding. Values can be of all types supported by 
enhancement properties.</p>
+<p>The following code segment provides an example on how to set Request 
Properties via the
+Java API.</p>
+<div class="codehilite"><pre><span class="n">ContentItem</span> <span 
class="n">ci</span><span class="o">;</span> <span class="c1">//the content 
item</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">reqProp</span> <span class="o">=</span> <span 
class="n">ContentItemHelper</span><span class="o">.</span><span 
class="na">initEnhancementPropertiesContentPart</span><span 
class="o">(</span><span class="n">ci</span><span class="o">)</span>
+<span class="c1">//set min confidence to 0.5 for all engines</span>
+<span class="n">reqProp</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="s">&quot;enhancer.minConfidence&quot;</span><span 
class="o">,</span><span class="s">&quot;0.5&quot;</span><span 
class="o">);</span>
+<span class="c1">//set max suggestions to 10 for the linking engine</span>
+<span class="n">reqProp</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="s">&quot;linking:enhancer.maxSuggestions&quot;</span><span 
class="o">,</span><span class="s">&quot;10&quot;</span><span class="o">);</span>
+</pre></div>
+
+
+<p><em>Note</em> with the enhancer <code>2.0</code> the request properties 
content part will get removed and replaced by the EnhancementJob API (TBD). </p>
+  </div>
+  
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2010 The Apache Software Foundation, Licensed under 
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.
+        <br />
+        Apache, Stanbol and the Apache feather and Stanbol logos are 
trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+  
+</body>
+</html>
+

Modified: 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancerrest.html
==============================================================================
--- 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancerrest.html
 (original)
+++ 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/enhancerrest.html
 Thu May 22 13:24:38 2014
@@ -132,6 +132,25 @@ In addition this request is directed to 
 </pre></div>
 
 
+<h3 id="request-properties-support">Request Properties Support</h3>
+<p><strong>since <code>0.12.1</code></strong></p>
+<p>Request Properties allow to parse request specific <a 
href="enhancementproperties">Enhancement Properties</a> as additional query 
parameters of enhancement requests.</p>
+<p>The following shows an curl request that parses two enhancement 
properties:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span 
class="o">-</span><span class="n">X</span> <span class="n">POST</span> <span 
class="o">-</span><span class="n">H</span> &quot;<span 
class="n">Accept</span><span class="p">:</span> <span 
class="n">text</span><span class="o">/</span><span 
class="n">turtle</span>&quot; <span class="o">-</span><span class="n">H</span> 
&quot;<span class="n">Content</span><span class="o">-</span><span 
class="n">type</span><span class="p">:</span> <span class="n">text</span><span 
class="o">/</span><span class="n">plain</span>&quot; <span class="o">\</span>
+    <span class="o">--</span><span class="n">data</span> &quot;<span 
class="n">The</span> <span class="n">Eifeltower</span> <span 
class="n">is</span> <span class="n">located</span> <span class="n">in</span> 
<span class="n">Paris</span><span class="p">.</span>&quot; 
+    <span class="n">http</span><span class="p">:</span><span 
class="o">//</span><span class="n">localhost</span><span 
class="p">:</span>8080<span class="o">/</span><span 
class="n">enhancer</span>?<span class="n">enhancer</span><span 
class="p">.</span><span class="n">max</span><span class="o">-</span><span 
class="n">suggestions</span><span class="p">=</span>5<span 
class="o">&amp;\</span>
+    <span class="n">dbpedia</span><span class="o">-</span><span 
class="n">fst</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">min</span><span class="o">-</span><span 
class="n">confidence</span><span class="p">=</span>0<span 
class="p">.</span>85<span class="o">&amp;\</span>
+    <span class="n">dbpedia</span><span class="o">-</span><span 
class="n">dereference</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">engines</span><span class="p">.</span><span 
class="n">dereference</span><span class="p">.</span><span 
class="n">languages</span><span class="p">=</span><span 
class="n">de</span><span class="o">&amp;\</span>
+    <span class="n">dbpedia</span><span class="o">-</span><span 
class="n">dereference</span><span class="p">:</span><span 
class="n">enhancer</span><span class="p">.</span><span 
class="n">engines</span><span class="p">.</span><span 
class="n">dereference</span><span class="p">.</span><span 
class="n">languages</span><span class="p">=</span><span class="n">es</span>
+</pre></div>
+
+
+<p>The above request parses two <em>request and engine</em> scoped Enhancement 
Properties. First the minimum confidence value for suggested entities is set 
for the <code>dbpedia-fst</code> engine to <code>0.85</code> and second the 
<code>dbpedia-dereference</code> engine is configured to dereference German and 
English labels in addition to labels in the language detected for the parsed 
text. Finally the maximum number of suggestions is aset as a <em>request</em> 
scoped property to <code>5</code>. This means that this property will get 
parsed to all engines executed in the context of the request.</p>
+<p>Request properties use the following encoding:</p>
+<ul>
+<li><em>request</em> scoped enhancement properties are directly parsed by 
their key. Keys are required to start with <code>enhancer.</code> (e.g. 
<code>enhancer.max-suggestions</code> or <code>enhancer.min-confidence</code> 
as used in the above example)</li>
+<li><em>request and engine</em> scoped enhancement properties are parsed by 
using <code>{engine-name}:{property-key}</code> (e.g. 
<code>dbpedia-fst:enhancer.min-confidence</code> or 
<code>dbpedia-dereference:enhancer.engines.dereference.languages</code> as used 
in the above example.</li>
+</ul>
 <h2 id="enhancer-configuration">Enhancer Configuration</h2>
 <p>The Stanbol Enhancer supports several RESTful services to inspect the 
configuration. This services allow to retrieve currently active <a 
href="engines">Enhancement Engines</a> and <a href="chains">Enhancement 
Chains</a>.</p>
 <ul>

Modified: 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/index.html
==============================================================================
--- 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/index.html
 (original)
+++ 
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/index.html
 Thu May 22 13:24:38 2014
@@ -96,6 +96,7 @@
 <li><a href="#Java_API">Java API</a></li>
 <li><a href="#Main_Interfaces_and_Utility_Classes">Main Interfaces and Utility 
Classes</a></li>
 <li><a href="#Enhancement_Structure">Enhancement Structure</a></li>
+<li><a href="#Enhancement_Properties">Enhancement Properties</a></li>
 </ul>
 </li>
 <li><a href="#List_of_Engines">List of Available Enhancement Engines</a></li>
@@ -191,6 +192,10 @@
 <li><a 
href="enhancementstructure.html#fisetopicannotation">TopicAnnotaitons</a> - for 
assigning the parsed document (or parts of the document) to topics and 
categories.</li>
 </ul>
 <p>In addition all annotations created by the Stanbol Enhancer do also provide 
additional meta information defined by the <a 
href="enhancementstructure.html#fiseenhancement">Enhancement</a> class.</p>
+<p><a name="Enhancement_Properties"></a></p>
+<h2 id="enhancement-properties">Enhancement Properties</h2>
+<p><strong>since <code>0.12.1</code></strong></p>
+<p><a href="enhancementproperties">Enhancement Properties</a> allow to 
parametrize the enhancement process of a <a href="contentitem">ContentItem</a>. 
In contrast to the configuration of <a href="engines">Enhancement Engines</a> - 
that is bound to the component life cycle - enhancement properties can be 
defined for <a href="chains">Enhancement Chain</a> or parsed with single 
enhancement requests as Query Parameters.</p>
 <p><a name="List_of_Engines"></a></p>
 <h2 id="list-of-available-enhancement-engines">List of Available Enhancement 
Engines</h2>
 <p>Apache Stanbol comes with a <a href="engines/list.html">list of enhancement 
engines implementations</a>. These engines are supported by the Apache Stanbol 
community. If you would like to implement your own enhancement engine, you 
should go on reading this documentation.</p>

Added: 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/entityhub-manatedsite-sesameyard-config.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/entityhub-manatedsite-sesameyard-config.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/managedsite.html
==============================================================================
--- 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/managedsite.html
 (original)
+++ 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/managedsite.html
 Thu May 22 13:24:38 2014
@@ -91,7 +91,7 @@
     <h1 class="title">ManagedSite</h1>
     <p>A ManagedSite allow users to manage a collection of Entities by using 
the RESTful API of the Entityhub. Other than the ReferencedSite implementation 
it does not allow to refer to remote services. Therefor all changes to Entities 
managed by a ManagedSite are preformed via the RESTful API of the Entityhub.</p>
 <p>Users can configure multiple ManagedSites with the Stanbol Entitiyhub. They 
are identified by their id and share the id-space with other Sites (e.g. other 
ReferencedSite). The RESTful services of a ManagedSite are available via the 
URL pattern</p>
-<div class="codehilite"><pre><span class="n">http:</span><span 
class="sr">//</span><span class="p">{</span><span class="n">stanbol</span><span 
class="o">-</span><span class="n">instance</span><span class="p">}</span><span 
class="sr">/entityhub/si</span><span class="n">te</span><span 
class="o">/</span><span class="p">{</span><span class="n">siteId</span><span 
class="p">}</span>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="p">{</span><span 
class="n">stanbol</span><span class="o">-</span><span 
class="n">instance</span><span class="p">}</span><span class="o">/</span><span 
class="n">entityhub</span><span class="o">/</span><span 
class="n">site</span><span class="o">/</span><span class="p">{</span><span 
class="n">siteId</span><span class="p">}</span>
 </pre></div>
 
 
@@ -122,7 +122,7 @@
 <p>Currently their is a single implementation of the ManagesSite interface 
that uses a <code>Yard</code> instance for managing the entities.</p>
 <p>For using a YardSite users need to configure two Services:</p>
 <ol>
-<li>Yard: The Entityhub currently includes two different Yard implementations. 
The SolrYard and the ClerezzaYard. The SolrYard is optimal for the use with the 
Stanbol Enhancer as it allows very fast label based retrieval of Entities. So 
if you plan to use the ManagedSite primarily with the Stanbol Enhancer this is 
definitely the Yard implementation to choose. The ClerezzaYard stores the 
managed Entities within a TripleStore. While the ClerezzaYard is not as 
efficient for the use with the StanbolEnhancer its data can be queried by using 
the SPARQL endpoint of Apache Stanbol.</li>
+<li>Yard: The Entityhub currently includes three different Yard 
implementations. The SolrYard, ClerezzaYard and SesameYard. The SolrYard is 
optimal for the use with the Stanbol Enhancer as it allows very fast label 
based retrieval of Entities. So if you plan to use the ManagedSite primarily 
with the Stanbol Enhancer this is definitely the Yard implementation to choose. 
The ClerezzaYard and the SesameYard store the managed Entities within a 
TripleStore. Both are not very efficient for label based lookups as required by 
the Entity Linking engines of the Stanbol Enhancer. But they are well suited 
for more data focused use cases as well as for the use with the Entity 
Dereference Engines.</li>
 <li>YardSite: This configures the ManagedSite. This configuration links to the 
configured Yard via its id.</li>
 </ol>
 <h4 id="configuration-of-a-solryard">Configuration of a SolrYard:</h4>
@@ -151,18 +151,28 @@
 
 
 <p>where 'sparqlQuery.txt' refers to a file containing the SPARQL query 
e.g.</p>
-<div class="codehilite"><pre><span class="n">PREFIX</span> <span 
class="n">skos:</span> <span 
class="sr">&lt;http://www.w3.org/2004/02/skos/core#&gt;</span>
-<span class="n">SELECT</span> <span class="n">distinct</span> <span 
class="p">?</span><span class="n">concept</span> <span class="p">?</span><span 
class="n">prefLabel</span> <span class="p">?</span><span 
class="n">altLabel</span> <span class="p">?</span><span class="n">parent</span>
+<div class="codehilite"><pre><span class="n">PREFIX</span> <span 
class="n">skos</span><span class="p">:</span> <span class="o">&lt;</span><span 
class="n">http</span><span class="p">:</span><span class="o">//</span><span 
class="n">www</span><span class="p">.</span><span class="n">w3</span><span 
class="p">.</span><span class="n">org</span><span class="o">/</span>2004<span 
class="o">/</span>02<span class="o">/</span><span class="n">skos</span><span 
class="o">/</span><span class="n">core</span>#<span class="o">&gt;</span>
+<span class="n">SELECT</span> <span class="n">distinct</span> ?<span 
class="n">concept</span> ?<span class="n">prefLabel</span> ?<span 
class="n">altLabel</span> ?<span class="n">parent</span>
 <span class="n">WHERE</span> <span class="p">{</span>
-    <span class="p">?</span><span class="n">concept</span> <span 
class="n">a</span> <span class="n">skos:Concept</span> <span class="o">.</span>
-    <span class="p">?</span><span class="n">concept</span> <span 
class="n">skos:prefLabel</span> <span class="p">?</span><span 
class="n">prefLabel</span> <span class="o">.</span>
+    ?<span class="n">concept</span> <span class="n">a</span> <span 
class="n">skos</span><span class="p">:</span><span class="n">Concept</span> 
<span class="p">.</span>
+    ?<span class="n">concept</span> <span class="n">skos</span><span 
class="p">:</span><span class="n">prefLabel</span> ?<span 
class="n">prefLabel</span> <span class="p">.</span>
     <span class="n">OPTIONAL</span> <span class="p">{</span>
-        <span class="p">?</span><span class="n">concept</span> <span 
class="n">skos:altLabel</span> <span class="p">?</span><span 
class="n">altLabel</span> <span class="o">.</span>
+        ?<span class="n">concept</span> <span class="n">skos</span><span 
class="p">:</span><span class="n">altLabel</span> ?<span 
class="n">altLabel</span> <span class="p">.</span>
     <span class="p">}</span>
 <span class="p">}</span>
 </pre></div>
 
 
+<h4 id="configuration-of-a-sesame-yard-site">Configuration of a Sesame Yard 
Site</h4>
+<p>With <a 
href="https://issues.apache.org/jira/browse/STANBOL-1169";>STANBOL-1169</a> 
(since version <code>0.12.1</code>) a Sesame Repository registered as OSGI 
service can be used as Entityhub Yard.</p>
+<p>The following figure shows a Apache Marmotta Kiwi Repository registered as 
OSGI service. </p>
+<p><img alt="Marmotta Kiwi Repository Service" 
src="marmotta-kiwi-repository-service.png" /></p>
+<p>The highlighted <code>org.openrdf.repository.Repository.id</code> key is 
used to link a specific Sesame Repository to a Sesame Yard Site. All the other 
keys are implementation specific and not used by the Entityhub Sesame Yard 
Site.</p>
+<p>When configuring a SesameYard one need to set the Repository 
(<code>org.openrdf.repository.Repository.id</code> key) to the value of the 
Sesame Repository one would like to use as backend. This is especially 
important if multiple Sesame Repositories are registered as OSGI services.</p>
+<p>The following figure shows the configuration dialog for a Sesame Yard. 
Again the id of the Sesame Repository is highlighted.</p>
+<p><img alt="Marmotta Kiwi Repository Service" 
src="entityhub-manatedsite-sesameyard-config.png" /></p>
+<p>The Context URIs 
(<code>org.apache.stanbol.entityhub.yard.sesame.contextUri</code> key) can be 
used to configure specific Named Graphs used to read/write RDF triples to/from. 
An empty value is interpreted as the <code>null</code> context. For using the 
union graph one needs to deactivate the
+Enable Contexts 
(<code>org.apache.stanbol.entityhub.yard.sesame.enableContext</code> key) 
option. In this case all configured Context URIs will get ignored.</p>
 <h4 id="configuration-of-the-yardsite">Configuration of the YardSite</h4>
 <p>Finally you need to configure the YardSite that uses the previously 
configured Yard instance (either SolrYard or ClerezzaYard). Again this will 
show how to configure the YardSite by using the Configuration tab of the Apache 
Felix Webconsole <a 
href="http://localhost:8080/system/console/configMgr";>http://{stanbol-instance}/system/console/configMgr</a>.</p>
 <p><img alt="Typical YardSite configuration" 
src="entityhub-managedsite-yardsite-config.png" /></p>
@@ -174,7 +184,7 @@
 <p>The <strong>Entity Prefix(es)</strong> are an optional configuration. This 
is used by the SiteManager (the "/entityhub/sites" endpoint) if requested 
entities can be dereferenced via a registered site. If not present the 
SiteManager will try to dereference every request by using this ManagedSite. So 
correctly configuring this may slightly improve performance by avoiding 
unnecessary requests.</p>
 <p>The <strong>Field Mappings</strong> can be used to copy property values of 
created/updates Entities to other properties. The mappings used in the above 
figure ensure that SKOS preferred/alternate labels, FOAF (Friend of a Friend) 
names, Dublin Core titles as well as the name property of the schema.org 
ontology are copied over to rdfs:label. This configuration is the default as 
the Stanbol Enhancer uses <code>rdfs:label</code> as default property for 
linking entities based on their names.</p>
 <p>After completing all those steps you should see a new empty ManagedSite 
under</p>
-<div class="codehilite"><pre><span class="n">http:</span><span 
class="sr">//</span><span class="p">{</span><span class="n">stanbol</span><span 
class="o">-</span><span class="n">instance</span><span class="p">}</span><span 
class="sr">/entityhub/si</span><span class="n">te</span><span 
class="o">/</span><span class="n">iptc</span>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="p">{</span><span 
class="n">stanbol</span><span class="o">-</span><span 
class="n">instance</span><span class="p">}</span><span class="o">/</span><span 
class="n">entityhub</span><span class="o">/</span><span 
class="n">site</span><span class="o">/</span><span class="n">iptc</span>
 </pre></div>
   </div>
   

Added: 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/marmotta-kiwi-repository-service.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/stanbol/trunk/content/docs/trunk/components/entityhub/marmotta-kiwi-repository-service.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: websites/staging/stanbol/trunk/content/docs/trunk/index.html
==============================================================================
--- websites/staging/stanbol/trunk/content/docs/trunk/index.html (original)
+++ websites/staging/stanbol/trunk/content/docs/trunk/index.html Thu May 22 
13:24:38 2014
@@ -117,6 +117,7 @@
 <li><a href="utils/">Tools and Utilities</a><ul>
 <li><a href="utils/enhancerstresstest">Enhancer Stress Test Tool</a> - allows 
to send concurrent requests to the Stanbol Enhancer for Performace/Stress 
testing of the Stanbol Enhancer, Chains and Enhancement Engines.</li>
 <li><a href="utils/commons-solr">Commons Solr</a> - as <a 
href="http://lucene.apache.org/solr/";>Apache Solr</a> is used by several Apache 
Stanbol components Apache Stanbol provides utilities that ease the use of Solr 
within OSGi; support the initialization of SolrCores with predefined 
configurations and data; allows to publish the Solr RESTful API on the Stanbol 
Web UI.</li>
+<li><a href="utils/marmotta-kiwi-repository-service">Marmotta KiWi Repository 
Service</a> - allows to use the <a href="http://marmotta.apache.org";>Apache 
Marmotta</a> <a href="http://marmotta.apache.org/kiwi";>KiWi Triplestore</a> 
within an OSGI environment.</li>
 <li><a href="utils/datafileprovider">Data File Provider</a> - infrastructure 
used by Apache Stanbol to load data file such as statistical models of NLP 
frameworks. archives of Knowledge Bases ...</li>
 </ul>
 </li>

Modified: websites/staging/stanbol/trunk/content/docs/trunk/utils/index.html
==============================================================================
--- websites/staging/stanbol/trunk/content/docs/trunk/utils/index.html 
(original)
+++ websites/staging/stanbol/trunk/content/docs/trunk/utils/index.html Thu May 
22 13:24:38 2014
@@ -91,13 +91,17 @@
     <h1 class="title">Apache Stanbol Tools and Utilities</h1>
     <ul>
 <li><a href="enhancerstresstest">Enhancer Stress Test Tool</a> - allows to send
-[concurrent requests to the Stanbol Enhancer for Performace/Stress testing of
-[the Stanbol Enhancer, Chains and Enhancement Engines.</li>
-<li><a href="commons-solr">Commons Solr</a> - as Apache
-<a href="http://lucene.apache.org/solr/";>Solr</a> is used by several Apache 
Stanbol
-[components Apache Stanbol provides utilities that ease the use of Solr within
-[OSGi; support the initialization of SolrCores with predefined configurations
-[and data; allows to publish the Solr RESTful API on the Stanbol Web UI.</li>
+concurrent requests to the Stanbol Enhancer for Performace/Stress testing of
+the Stanbol Enhancer, Chains and Enhancement Engines.</li>
+<li><a href="commons-solr">Commons Solr</a> - as Apache <a 
href="http://lucene.apache.org/solr/";>Solr</a> is used 
+by several Apache Stanbol components this module provides utilities that ease 
the use of 
+Solr within OSGi. support the initialization of SolrCores with predefined 
configurations
+and data; allows to publish the Solr RESTful API on the Stanbol Web UI.</li>
+<li><a href="marmotta-kiwi-repository-service">Marmotta KiWi Repository 
Service</a> - allows to use the 
+<a href="http://marmotta.apache.org";>Apache Marmotta</a> <a 
href="http://marmotta.apache.org/kiwi";>KiWi Triplestore</a> 
+within an OSGI environment.</li>
+<li><a href="datafileprovider">Data File Provider</a> - infrastructure used by 
Apache Stanbol to load 
+data file such as statistical models of NLP frameworks. archives of Knowledge 
Bases ...</li>
 </ul>
   </div>
   

Added: 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service-config.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service-config.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service.html
==============================================================================
--- 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service.html
 (added)
+++ 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service.html
 Thu May 22 13:24:38 2014
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+  <link href="/css/stanbol.css" rel="stylesheet" type="text/css">
+  <title>Apache Stanbol - </title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link title="doap" rel="meta" type="application/rdf+xml" href="/doap.rdf"/>
+  <link rel="icon" type="image/png" 
href="/images/stanbol-logo/stanbol-favicon.png"/>
+  <script type="text/javascript">
+    // Google Analytics Tracking Code
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-32086816-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>  
+</head>
+
+<body>
+  <div id="navigation"> <!-- but auto scroll the menue -->
+    <a href="/index.html"><img alt="Apache Stanbol" width="220" height="101" 
border="0" src="/images/stanbol-logo/stanbol-2010-12-14.png"/></a><br />
+      <ul>
+<li><a href="/docs/trunk/tutorial.html">Getting Started</a></li>
+<li><a href="/docs/trunk/">Documentation</a><ul>
+<li><a href="/docs/trunk/scenarios.html">Usage Scenarios</a></li>
+<li><a href="/docs/trunk/components/">Components</a></li>
+<li><a href="/docs/trunk/production-mode/">Production Mode</a></li>
+</ul>
+</li>
+<li><a href="/development/">Development</a><ul>
+<li><a href="/development/index.html#mailing_lists">Mailing Lists</a></li>
+<li><a href="/development/index.html#issue_tracker">Issue Tracker</a></li>
+<li><a href="/development/index.html#source_code">Source Code</a></li>
+<li><a href="/development/index.html#development_practices">Development 
Practices</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="downloads">Downloads</h1>
+<ul>
+<li><a href="/downloads/">Overview</a><ul>
+<li><a href="/downloads/releases.html">Releases</a></li>
+<li><a href="/downloads/launchers.html">Launchers</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="project">Project</h1>
+<ul>
+<li><a href="/pmc/">PMC</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li>
+<li><a href="/privacy-policy.html">Privacy Policy</a></li>
+</ul>
+<h1 id="archived-docs">Archived Docs</h1>
+<ul>
+<li><a href="/docs/0.9.0-incubating/">0.9.0-incubating</a></li>
+</ul>
+<h1 id="the-asf">The ASF</h1>
+<ul>
+<li><a href="http://www.apache.org";>Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html";>Become a 
Sponsor</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+<p><br /><a href="/doap.rdf"><img style="margin-left: 1em;" border="0" 
alt="DOAP File" src="/images/doap.png"/></a></p>
+  </div>
+  <div id="content">
+    <div class="breadcrumbs">
+      <ul> <li><a href="/">Home</a></li> <li class="item"><a 
href="/docs/">Docs</a></li> <li class="item"><a 
href="/docs/trunk/">Trunk</a></li> <li class="item"><a 
href="/docs/trunk/utils/">Utils</a></li> </ul>
+    </div>
+    <h1 class="title"></h1>
+    <h1 id="marmotta-kiwi-repository-service">Marmotta Kiwi Repository 
Service</h1>
+<p>The <code>org.apache.stanbol.commons.marmotta.kiwi</code> module allows to 
use the
+<a href="http://marmotta.apache.org/kiwi/";>Marmota KiWi TripleStore</a> within 
an OSGI environment.</p>
+<h2 id="configuration">Configuration</h2>
+<p>The configuration of a <a href="http://marmotta.apache.org/kiwi/";>KiWi 
TripleStore</a> is done by an 
+OSGI Component that configures the Kiwi Configuration based on the provided 
OSGI 
+configuration. The following figure shows the configuration dialog.</p>
+<p><img alt="Marmotta KiWi Repository Service Configuration Dialog" 
src="marmotta-kiwi-repository-service-config.png" /></p>
+<ul>
+<li><code>org.openrdf.repository.Repository.id</code>: The id of the 
Repository. Intended to be used by
+other components to track a specific repository instance.</li>
+<li><code>marmotta.kiwi.dialect</code>: The KiWi Database dialect. Currently 
Marmotta supports the
+H2Dialect, PostgreSQLDialect and MySQLDialect. Note that the selected dialect 
will select
+different database driver. If those are not available the activation will 
throw an
+exception. PostgreSQL driver are embedded. H2 drivers are included in the 
default
+Bundlelist used by Stanbol.</li>
+<li><code>marmotta.kiwi.dburl</code>: This property can be used to directly 
configure the DB URL. If
+present this is preferred over the configuration of the 
<code>marmotta.kiwi.host</code>, 
+<code>marmotta.kiwi.port</code>, <code>marmotta.kiwi.database</code> and 
<code>marmotta.kiwi.options</code> parameters.</li>
+<li><code>marmotta.kiwi.user</code> and <code>marmotta.kiwi.password</code> 
for the database</li>
+<li><code>marmotta.kiwi.cluster</code>: defines the name of the cluster. 
Different KiWi Repositories
+might use clusters with different names. If not present or empty clustering 
will be
+deactivated.</li>
+<li><code>marmotta.kiwi.cluster.address</code>: The multicast IP Address used 
for the cluster. Ignored
+if clustering is deactivated.</li>
+<li><code>marmotta.kiwi.cluster.port</code>: The port used for the cluster. 
Ignored if clustering is
+deactivated. A value  &lt;= 0 will use the default port.</li>
+<li><code>marmotta.kiwi.cluster.cachemode</code>: The Mode of the Cache. 
Supported values include 
+<code>LOCAL</code>, <code>REPLICATED</code>, <code>DISTRIBUTED</code></li>
+<li><code>marmotta.kiwi.cluster.cachingbackend</code>: The Caching Backend 
used by the KiWi Triplestore.
+Supported are <code>GUAVA</code> (local only), <code>EHCACHE</code> (local 
only), <code>HAZELCAST</code> (distributed only),
+<code>INFINISPAN_CLUSTERED</code>(distributed or replicated) and 
<code>INFINISPAN_HOTROD</code> (client/server).
+Please note the Marmotta KiWi documentation for details. Caching backend 
implementations
+do have additional dependencies. <code>GUAVA</code> and <code>HAZELCAST</code> 
are included in Stanbol. For the
+other please have a look for commented dependencies in the 
+<a 
href="http://svn.apache.org/repos/asf/stanbol/branches/release-0.12/launchers/bundlelists/marmotta/kiwi/src/main/bundles/list.xml";>Marmotta
 Kiwi Bundlelist</a></li>
+</ul>
+<h2 id="repository-service">Repository Service</h2>
+<p>Providing a OSGI configuration for the <code>KiWiRepositoryService</code> 
component will cause a
+KiWi Repository to be configured during activation. This Sesame Repository 
will get
+registered as OSGI service with the parameters as shown in the following 
figure.</p>
+<p><img alt="Marmotta KiWi Repository Service" 
src="marmotta-kiwi-repository-service.png" /></p>
+<p>The marked <code>org.openrdf.repository.Repository.id</code> property is of 
special interest as it
+can be used to track for a Sesame Repository with a specific name. As an 
Example the
+Repository with the name <code>dummy</code> can be tracked with the Filter
+<code>(&amp;(objectClass=org.openrdf.repository.Repository)(org.openrdf.repository.Repository.id=dummy))</code></p>
+  </div>
+  
+  <div id="footer">
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2010 The Apache Software Foundation, Licensed under 
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.
+        <br />
+        Apache, Stanbol and the Apache feather and Stanbol logos are 
trademarks of The Apache Software Foundation.
+      </p>
+    </div>
+  </div>
+  
+</body>
+</html>
+

Added: 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/stanbol/trunk/content/docs/trunk/utils/marmotta-kiwi-repository-service.png
------------------------------------------------------------------------------
    svn:mime-type = image/png


Reply via email to