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"><</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">></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<String,Object></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"><</span><span
class="n">String</span><span class="o">,</span><span
class="n">Object</span><span class="o">></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"><</span><span
class="n">String</span><span class="o">,</span><span
class="n">Object</span><span class="o">></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<String,Object></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">"enhancer.max-suggestions"</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">"enhancer.engines.dereference.fields"</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"><</span><span
class="n">String</span><span class="o">,</span><span
class="n">Object</span><span class="o">></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"><</span><span
class="n">String</span><span class="o">></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> "<span
class="n">Accept</span><span class="p">:</span> <span
class="n">text</span><span class="o">/</span><span
class="n">turtle</span>" <span class="o">-</span><span class="n">H</span>
"<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>" <span class="o">\</span>
+ <span class="o">--</span><span class="n">data</span> "<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>"
+ <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">&\</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">&\</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<Stirng,Object></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"><</span><span
class="n">String</span><span class="o">,</span><span
class="n">Object</span><span class="o">></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">"enhancer.minConfidence"</span><span
class="o">,</span><span class="s">"0.5"</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">"linking:enhancer.maxSuggestions"</span><span
class="o">,</span><span class="s">"10"</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 © 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> "<span
class="n">Accept</span><span class="p">:</span> <span
class="n">text</span><span class="o">/</span><span
class="n">turtle</span>" <span class="o">-</span><span class="n">H</span>
"<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>" <span class="o">\</span>
+ <span class="o">--</span><span class="n">data</span> "<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>"
+ <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">&\</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">&\</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">&\</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"><http://www.w3.org/2004/02/skos/core#></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"><</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">></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 <= 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>(&(objectClass=org.openrdf.repository.Repository)(org.openrdf.repository.Repository.id=dummy))</code></p>
+ </div>
+
+ <div id="footer">
+ <div class="copyright">
+ <p>
+ Copyright © 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