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/05/22 15:24:39 UTC

svn commit: r909602 [2/2] - in /websites/staging/stanbol/trunk/content: ./ docs/trunk/ docs/trunk/components/enhancer/ docs/trunk/components/enhancer/chains/ docs/trunk/components/enhancer/engines/ docs/trunk/components/entityhub/ docs/trunk/utils/

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