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 2012/02/20 17:53:55 UTC

svn commit: r805531 - in /websites/staging/stanbol/trunk: ./ content/stanbol/docs/trunk/ content/stanbol/docs/trunk/ontologymanager/ content/stanbol/docs/trunk/ontologymanager/ontonet/ content/stanbol/docs/trunk/ontologymanager/registry/

Author: buildbot
Date: Mon Feb 20 16:53:54 2012
New Revision: 805531

Log:
Staging update by buildbot for stanbol

Added:
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/index.html
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/ontonet/
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/ontonet/index.html
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry/index.html
Removed:
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager.html
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/ontonet.html
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry.html
Modified:
    websites/staging/stanbol/trunk/   (props changed)
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/components.html
    websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry/language.html

Propchange: websites/staging/stanbol/trunk/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Feb 20 16:53:54 2012
@@ -1 +1 @@
-1245416
+1291368

Modified: websites/staging/stanbol/trunk/content/stanbol/docs/trunk/components.html
==============================================================================
--- websites/staging/stanbol/trunk/content/stanbol/docs/trunk/components.html (original)
+++ websites/staging/stanbol/trunk/content/stanbol/docs/trunk/components.html Mon Feb 20 16:53:54 2012
@@ -81,7 +81,7 @@
 <p>The <a href="reasoners.html">Reasoners</a> can be used to automatically infer additional knowledge. It is used to obtain new facts in the knowledge base, e.g. if your enhanced content tells you about a shop located in "Montparnasse", you can infer via a "located-in" relation that the same shop is located in "Paris", in the "Île-de-France" and in "France".</p>
 </li>
 <li>
-<p>The <a href="ontologymanager.html">Ontology Manager</a> is the facility that manages your ontologies. Ontologies are used to define the knowledge models that describe the metadata of content. Additionally, the semantics of your metadata can be defined through an ontology.</p>
+<p>The <a href="ontologymanager/">Ontology Manager</a> is the facility that manages your ontologies. Ontologies are used to define the knowledge models that describe the metadata of content. Additionally, the semantics of your metadata can be defined through an ontology.</p>
 </li>
 <li>
 <p>The <a href="cmsadapter/">CMS Adapter</a> CMS Adapter component acts as a bridge between JCR/CMIS compliant content management systems and the Apache Stanbol.  It can be used to map existing node structures from JCR/CMIS content repositories to RDF models or vica versa. It also provides services for the management of content repository items as <a href="enhancer/contentitem.html">Content Item</a>s within Contenthub.</p>

Added: websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/index.html
==============================================================================
--- websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/index.html (added)
+++ websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/index.html Mon Feb 20 16:53:54 2012
@@ -0,0 +1,110 @@
+<!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="/stanbol/css/stanbol.css" rel="stylesheet" type="text/css">
+  <title>Apache Stanbol - Ontology Manager</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link rel="icon" type="image/png" href="/stanbol/images/stanbol-logo/stanbol-favicon.png"/>
+</head>
+
+<body>
+  <div id="navigation"> 
+  <a href="/stanbol/index.html"><img alt="Apache Stanbol" width="220" height="101" border="0" src="/stanbol/images/stanbol-logo/stanbol-2010-12-14.png"/></a>
+  <h1 id="stanbol">Stanbol</h1>
+<ul>
+<li><a href="/stanbol/index.html">Home</a></li>
+<li><a href="/stanbol/docs/trunk/tutorial.html">Tutorial</a></li>
+<li><a href="/stanbol/docs/trunk/">Documentation</a></li>
+<li><a href="/stanbol/docs/trunk/building.html">Building</a></li>
+</ul>
+<h1 id="project">Project</h1>
+<ul>
+<li><a href="/stanbol/docs/trunk/mailinglists.html">Mailing Lists</a></li>
+<li><a href="https://issues.apache.org/jira/browse/STANBOL">Issue Tracker</a></li>
+<li><a href="/stanbol/team.html">Project Team</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+</ul>
+<h1 id="downloads">Downloads</h1>
+<ul>
+<li><a href="/stanbol/docs/trunk/downloads.html">Overview</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>
+  </div>
+  
+  <div id="content">
+    <h1 class="title">Ontology Manager</h1>
+    <p>The Stanbol Ontology Manager provides a <strong>controlled environment</strong> for managing ontologies, <strong>ontology networks</strong> and user sessions for semantic data modeled after them. It provides full access to ontologies stored into the Stanbol persistence layer. Managing an ontology network means that you can activate or deactivate parts of a complex model from time to time, so that your data can be viewed and classified under different &quot;logical lenses&quot;. This is especially useful in <a href="reasoners.html">Reasoning</a> operations.</p>
+<h2 id="usage_scenarios">Usage Scenarios</h2>
+<h3 id="user_networks">User networks</h3>
+<p>In your CMS, you might be interested in figuring out the trust and acquaintance network of its users. This can be a combination of the <em>asserted</em> network (i.e. what other users are included in the contact or friend list of a given user) with the <em>inferred</em> network (e.g. exclude those who are in the contact list of a blacklisted user). The latter can be derived from the user activities over the user-generated content of your CMS (e.g. blogs posts, forum posts, reviews, tweets, ratings). </p>
+<p>Both types of networks can be modelled as ontologies. Models can be build on the <em>class</em> level, or <em>TBox</em> (e.g. everyone who is an Administrator is also a User, and collaborates with every other Administrator of the same system) and on the <em>instance</em> level, or <em>ABox</em> (e.g. John is a friend of Mary, who created blog post bp345263 on 3/10/2012 at 15:10). These models can all be stored using the Store facility of the Ontology Manager.</p>
+<p>Using a <a href="reasoners.html">reasoner</a> you can classify all the knowledge loaded on Stanbol, but this can be a time-consuming process due to classifying knowledge we are not interested in for this task. <a href="ontologymanager/ontonet.html">OntoNet</a> allows you to select only the &quot;interesting&quot; parts of your knowledge base. For example, if the knowledge contains classifications of animal species, you may want to deactivate that model when reasoning on user networks. Likewise, you may want to consider the user profiles <em>today</em>, rather than who was a user's friend five years ago. Therefore, on the instance level you will exclude the profile history and only consider today's snapshot.</p>
+<h3 id="knowledge_within_content">Knowledge within content</h3>
+<p>Hierarchical, tree-like structures are a tried-and-true mechanism for organizing documents, applications and in fact any content items. What users are required to do is select <em>one</em> set of criteria and organize the directory structure accordingly. For instance, if journalists were to classify the reserch papers on their file system, they could do as follows:</p>
+<ul>
+<li><code>articles/mine</code> (articles authored by the users)</li>
+<li><code>articles/ours</code> (articles authored by colleagues from the same publication)</li>
+<li><code>articles/others</code> (articles of any other kind)</li>
+</ul>
+<p>This simple structure works well because it creates a perfect partition, i.e. you will always know in which <em>one</em> of these directories any article should go. But what if the user also wanted to create directories by year of publication, or by section (politics, sports etc.)? In a file system it is possible to create these directories and add symbolic links as needed, but what if the user does not want to <em>know</em> a priori the categories to create directories for? Why not have a system that creates them aoutomatically according to the semantics of content that create "good" directories (e.g. not too many directories with just one content item)?</p>
+<p>Organizing a network of ontologies that describe content items can allow such an application to be built. Having a dataset that represent the metadata of content stored in a CMS, it is possible to attach different ontology scopes, e.g. those with domain knowledge, or with the user's organizational hierarchy. This "virtual directory" structure can also update automatically as the knowledge does. For instance, if the user removes another user from a "friends" list, that user's contributions will also be moved out of a <code>articles/friends</code> directory but stay in a <code>articles/friends_of_friends</code> directory.</p>
+<h2 id="features">Features</h2>
+<p>A Web <strong>Ontology</strong> in computer and information science is a shareable conceptual model of a part of the world <a href="#ref1">[1]</a>. This model describes concepts terms of their characteristics and their relations with other concepts. By means of OntoNet, it is possible to improve ontology managers like this:</p>
+<ul>
+<li>Setup multiple <strong>Ontology networks</strong> simultaneously, by interconnecting the knowledge contained in ontologies that normally would not be aware of one another.</li>
+<li>Dynamic <strong>(de-)activation</strong> of parts of any ontology network, as needed by specific reasoning, rule execution, or other knowledge processing tasks.</li>
+<li>Organize ontologies into <strong>ontology libraries</strong>, which can be populated by setting up simple RDF graphs called <strong>registries</strong>.</li>
+<li>Use Stanbol as a central <strong>ontology repository</strong> that mirrors the ontologies scattered aound the Web, so that there will be no need to query more than a single server for all the formal knowledge managed by the CMS.</li>
+</ul>
+<h3 id="sub-components">Sub-Components</h3>
+<ul>
+<li><a href="ontologymanager/ontonet.html">OntoNet</a>     - allows to construct subsets of the knowledge base managed by Stanbol into OWL/OWL2 <a href="#ref2">[2]</a>ontology networks</li>
+<li><a href="ontologymanager/registry.html">Registry</a>  - manages ontology libraries for bootstrapping the network using both external and internal ontologies</li>
+<li>Store       - create, read, update and delete operations on single ontologies stored in Stanbol. These operations can be performed on entities, axioms, and whole ontologies.</li>
+</ul>
+<h2 id="references">References:</h2>
+<ul>
+<li>[1] <a name="ref1" href="http://tomgruber.org/writing/ontolingua-kaj-1993.pdf" target="_blank">Ontologies (PDF)</a></li></li>
+<li>[2] <a name="ref2" href="http://www.w3.org/TR/owl-overview/" target="_blank">The OWL 2 ontology language</a></li></li>
+</ul>
+<hr />
+<p><em><a href="components.html">Back to components</a></em></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/stanbol/docs/trunk/ontologymanager/ontonet/index.html
==============================================================================
--- websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/ontonet/index.html (added)
+++ websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/ontonet/index.html Mon Feb 20 16:53:54 2012
@@ -0,0 +1,282 @@
+<!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="/stanbol/css/stanbol.css" rel="stylesheet" type="text/css">
+  <title>Apache Stanbol - Ontology Network Manager (OntoNet)</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link rel="icon" type="image/png" href="/stanbol/images/stanbol-logo/stanbol-favicon.png"/>
+</head>
+
+<body>
+  <div id="navigation"> 
+  <a href="/stanbol/index.html"><img alt="Apache Stanbol" width="220" height="101" border="0" src="/stanbol/images/stanbol-logo/stanbol-2010-12-14.png"/></a>
+  <h1 id="stanbol">Stanbol</h1>
+<ul>
+<li><a href="/stanbol/index.html">Home</a></li>
+<li><a href="/stanbol/docs/trunk/tutorial.html">Tutorial</a></li>
+<li><a href="/stanbol/docs/trunk/">Documentation</a></li>
+<li><a href="/stanbol/docs/trunk/building.html">Building</a></li>
+</ul>
+<h1 id="project">Project</h1>
+<ul>
+<li><a href="/stanbol/docs/trunk/mailinglists.html">Mailing Lists</a></li>
+<li><a href="https://issues.apache.org/jira/browse/STANBOL">Issue Tracker</a></li>
+<li><a href="/stanbol/team.html">Project Team</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+</ul>
+<h1 id="downloads">Downloads</h1>
+<ul>
+<li><a href="/stanbol/docs/trunk/downloads.html">Overview</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>
+  </div>
+  
+  <div id="content">
+    <h1 class="title">Ontology Network Manager (OntoNet)</h1>
+    <h2 id="terminology">Terminology</h2>
+<p>Stanbol OntoNet implements the API section for managing OWL and OWL2 ontologies, in order to prepare them for consumption by reasoning services, refactorers, rule engines and the like. Ontology management in OntoNet is sparse and not connected: once loaded internally from their remote locations, ontologies live and are known within the realm they were loaded in. This allows loose-coupling and (de-)activation of ontologies in order to scale the data sets for reasoners to process and optimize them for efficiency. </p>
+<p><center>
+    <figure>
+      <img width="500px" src="../../../images/ontologymanager/ontonet.png" alt="OntoNet ontology network structure">
+      <figcaption>Figure 1: an example of OntoNet setup for multiple ontology networks, showing the orthogonal layering of sessions, scopes and spaces.</figcaption>
+    <figure>
+  </center></p>
+<p>The following concepts have been introduced with OntoNet:</p>
+<ul>
+<li>
+<p><strong>Ontology scope</strong>: a "logical realm" for all the ontologies that encompass a certain CMS-related set of concepts (such as "User", "ACL", "Event", "Content", "Domain", "Reengineering", "Community", "Travelling" etc.). Scopes never inherit from each other, though they can load the same ontologies if need be.</p>
+</li>
+<li>
+<p><strong>Ontology space</strong>: an access-restricted container for synchronized access to ontologies within a scope. The ontologies in a scope are loaded within its set of spaces. An ontology scope contains: (a) one core space, which contains the immutable set of essential ontologies that describe the scope; (b) one (possibly empty) custom space, which extends the core space according to specific CMS needs (e.g. the core space for the User scope may contains alignments to FOAF).</p>
+</li>
+<li>
+<p>Session: a container of (supposedly volatile) semantic data which need to be intercrossed with one or more Scopes, for stateful management of ontology networks. It can be used to load instances and reason on them using different models (one per scope). An OntoNet Session is not equivalent to an HTTP session (since it can live persistently across multiple HTTP sessions), although its behaviour can reflect the one of the HTTP session that created it, if required by the implementation.</p>
+</li>
+</ul>
+<hr />
+<h2 id="usage">Usage</h2>
+<p>Given the entire knowledge base managed by your CMS, OntoNet allows the construction and management of ontology networks, programmatically via its Java API or RESTful Web Services <em>(see next section for details on the latter)</em>. A criterion for choosing the appropriate API can be as follows:</p>
+<ul>
+<li>
+<p>Stanbol plugins or server software that incorporates Stanbol (e.g. larger OSGi platforms) should use the Java API.</p>
+</li>
+<li>
+<p>Client applications, non-Java CMSs or services decoupled from Stanbol should use the RESTful API.</p>
+</li>
+<li>
+<p>Java-based CMSs can use either API.</p>
+</li>
+</ul>
+<h3 id="java_api">Java API</h3>
+<p>First and foremost, the concept of <strong>ontology network</strong> is implicit in the OntoNet API. There is no such thing as an <code>OntologyNetwork</code> type. What you do is create <code>OntologyScope</code> and <code>Session</code> objects and link them together at creation time or when launching a process.</p>
+<h4 id="accessing_the_managers">Accessing the managers.</h4>
+<p>First and foremost let us obtain references to the main OntoNet manager classes. In an OSGi environment they can be obtained by reference:</p>
+<div class="codehilite"><pre><span class="nv">@Reference</span>
+<span class="n">ONManager</span> <span class="n">onMgr</span><span class="p">;</span>
+
+<span class="nv">@Reference</span>
+<span class="n">SessionManager</span> <span class="n">sesMgr</span><span class="p">;</span>
+</pre></div>
+
+
+<p>In a non-OSGi environment they must be instantiated as POJOs (Plain Old Java Objects):</p>
+<div class="codehilite"><pre><span class="n">TODO</span>
+</pre></div>
+
+
+<h4 id="managing_an_ontology_scope">Managing an ontology scope.</h4>
+<p>Let us now show an example of how to setup an ontology scope, which you should use for storing the models for a certain domain of your knowledge base. In this example we will refer to social networks and communities.</p>
+<div class="codehilite"><pre><span class="n">ScopeRegistry</span> <span class="n">registry</span> <span class="o">=</span> <span class="n">onMgr</span><span class="o">.</span><span class="n">getScopeRegistry</span><span class="p">();</span>
+<span class="n">OntologyScopeFactory</span> <span class="n">factory</span> 
+  <span class="o">=</span> <span class="n">onMgr</span><span class="o">.</span><span class="n">getOntologyScopeFactory</span><span class="p">();</span>
+
+<span class="o">/*</span>
+ <span class="o">*</span> <span class="n">Here</span> <span class="n">we</span> <span class="n">create</span> <span class="n">a</span> <span class="n">scope</span> <span class="n">called</span> <span class="s">&quot;social&quot;</span> <span class="n">where</span> <span class="n">we</span> <span class="n">intend</span> 
+ <span class="o">*</span> <span class="n">to</span> <span class="n">place</span> <span class="n">all</span> <span class="n">the</span> <span class="n">knowledge</span> <span class="n">needed</span> <span class="k">for</span> <span class="n">modeling</span> <span class="n">social</span> 
+ <span class="o">*</span> <span class="n">networks</span> <span class="ow">and</span> <span class="n">communities</span><span class="o">.</span>
+ <span class="o">*</span>
+ <span class="o">*</span> <span class="n">Suppose</span> <span class="n">the</span> <span class="n">FOAF</span> <span class="ow">and</span> <span class="n">SIOC</span> <span class="n">ontologies</span> <span class="n">are</span> <span class="n">the</span> <span class="n">only</span> <span class="n">ones</span> 
+ <span class="o">*</span> <span class="n">we</span> <span class="n">are</span> <span class="n">concerned</span> <span class="n">with</span> <span class="n">at</span> <span class="n">scope</span> <span class="n">creation</span> <span class="nb">time</span><span class="o">.</span> <span class="n">We</span> <span class="nb">tell</span> 
+ <span class="o">*</span> <span class="n">the</span> <span class="n">scope</span> <span class="n">factory</span> <span class="n">method</span> <span class="n">to</span> <span class="n">fetch</span> <span class="n">them</span> <span class="n">from</span> <span class="n">their</span> 
+ <span class="o">*</span> <span class="n">original</span> <span class="n">locations</span> <span class="n">on</span> <span class="n">the</span> <span class="n">Web</span><span class="o">.</span>
+ <span class="o">*/</span>
+<span class="n">try</span> <span class="p">{</span>
+
+  <span class="o">/*</span> 
+   <span class="o">*</span> <span class="n">You</span> <span class="n">can</span> <span class="n">include</span> <span class="n">as</span> <span class="n">many</span> <span class="n">ontology</span> <span class="n">input</span> <span class="n">source</span> <span class="n">as</span> 
+   <span class="o">*</span> <span class="n">you</span> <span class="n">want</span><span class="p">,</span> <span class="n">even</span> <span class="n">none</span> <span class="n">at</span> <span class="n">all</span><span class="o">.</span>
+   <span class="o">*/</span>
+  <span class="n">OntologyScope</span> <span class="n">scope</span> <span class="o">=</span> <span class="n">factory</span><span class="o">.</span><span class="n">createOntologyScope</span><span class="p">(</span>
+    <span class="s">&quot;social&quot;</span><span class="p">,</span> 
+    <span class="k">new</span> <span class="n">RootOntologyIRISource</span><span class="p">(</span>
+      <span class="n">IRI</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="s">&quot;http://xmlns.com/foaf/spec/index.rdf&quot;</span><span class="p">)),</span>
+    <span class="k">new</span> <span class="n">RootOntologyIRISource</span><span class="p">(</span>
+      <span class="n">IRI</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="s">&quot;http://rdfs.org/sioc/ns&quot;</span><span class="p">)));</span>
+
+  <span class="o">/*</span>
+   <span class="o">*</span> <span class="n">Setup</span> <span class="n">the</span> <span class="n">scope</span><span class="p">,</span> <span class="n">so</span> <span class="n">its</span> <span class="n">ontologies</span> <span class="n">will</span> <span class="n">be</span> <span class="n">available</span> 
+   <span class="o">*</span> <span class="n">via</span> <span class="n">the</span> <span class="n">RESTful</span> <span class="n">API</span>
+   <span class="o">*/</span>
+  <span class="sr">//</span> <span class="n">Lock</span> <span class="n">the</span> <span class="n">ontology</span> <span class="n">scope</span> 
+  <span class="n">scope</span><span class="o">.</span><span class="n">setUp</span><span class="p">();</span> 
+  <span class="sr">//</span> <span class="n">Register</span> <span class="n">the</span> <span class="n">scope</span> <span class="ow">and</span> <span class="n">activate</span> <span class="n">it</span>
+  <span class="n">registry</span><span class="o">.</span><span class="n">registerScope</span><span class="p">(</span><span class="n">scope</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span> 
+<span class="p">}</span> <span class="n">catch</span> <span class="p">(</span><span class="n">OWLOntologyCreationException</span> <span class="n">e1</span><span class="p">)</span> <span class="p">{</span>
+  <span class="o">/*</span> 
+   <span class="o">*</span> <span class="n">Thrown</span> <span class="k">if</span> <span class="n">there</span> <span class="n">was</span> <span class="n">an</span> <span class="n">error</span> <span class="n">creating</span> <span class="n">one</span> <span class="n">of</span> <span class="n">the</span> 
+   <span class="o">*</span> <span class="n">ontology</span> <span class="n">sources</span> <span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">g</span><span class="o">.</span> <span class="k">if</span> <span class="n">some</span> <span class="n">URL</span> <span class="n">could</span> <span class="ow">not</span> <span class="n">be</span> 
+   <span class="o">*</span> <span class="n">resolved</span> <span class="ow">or</span> <span class="n">it</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">an</span> <span class="n">ontology</span><span class="o">.</span>
+   <span class="o">*/</span>
+  <span class="n">e1</span><span class="o">.</span><span class="n">printStackTrace</span><span class="p">();</span>
+<span class="p">}</span> <span class="n">catch</span> <span class="p">(</span><span class="n">DuplicateIDException</span> <span class="n">e1</span><span class="p">)</span> <span class="p">{</span>
+  <span class="o">/*</span>
+   <span class="o">*</span> <span class="n">Thrown</span> <span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">already</span> <span class="n">a</span> <span class="n">scope</span> <span class="n">called</span> <span class="s">&quot;social&quot;</span><span class="o">.</span>
+   <span class="o">*</span> <span class="n">In</span> <span class="n">this</span> <span class="k">case</span> <span class="n">we</span> <span class="n">may</span> <span class="n">decide</span> <span class="n">to</span> <span class="k">use</span> <span class="n">the</span> <span class="n">existing</span> <span class="n">one</span><span class="p">,</span> 
+   <span class="o">*</span> <span class="n">so</span> <span class="n">we</span> <span class="n">get</span> <span class="n">it</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">wen</span> <span class="n">reusing</span> <span class="n">a</span> <span class="n">scope</span><span class="p">,</span> <span class="n">you</span>
+   <span class="o">*</span> <span class="n">lose</span> <span class="n">the</span> <span class="n">provilege</span> <span class="n">of</span> <span class="n">writing</span> <span class="n">in</span> <span class="n">its</span> <span class="n">core</span> <span class="n">space</span><span class="o">.</span>
+   <span class="o">*</span> <span class="n">Only</span> <span class="n">the</span> <span class="n">custom</span> <span class="n">space</span> <span class="n">will</span> <span class="n">be</span> <span class="nb">open</span> <span class="k">for</span> <span class="n">modification</span><span class="o">.</span>
+   <span class="o">*/</span>
+  <span class="n">scope</span> <span class="o">=</span> <span class="n">registry</span><span class="o">.</span><span class="n">getScope</span><span class="p">(</span><span class="s">&quot;social&quot;</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>If you have not changed any parameters in the OntoNet configuration and have the Ontology Manager Web Service endpoint up and running, you should be able to fetch an RDF file at <code>http://localhost:8080/ontonet/ontology/social</code>. Let us check it (in Turtle Syntax):</p>
+<div class="codehilite"><pre><span class="c">% curl -H &quot;Accept: application/turtle&quot; http://localhost:8080/ontonet/ontology/social</span>
+
+<span class="p">@</span><span class="n">prefix</span> <span class="n">xsd</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>2001<span class="o">/</span><span class="n">XMLSchema</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span class="n">owl</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>2002<span class="o">/</span>07<span class="o">/</span><span class="n">owl</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</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">localhost</span><span class="p">:</span>8080<span class="o">/</span><span class="n">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span class="n">xml</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><span class="n">XML</span><span class="o">/</span>1998<span class="o">/</span><span class="n">namespace</span><span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span class="n">rdf</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>1999<span class="o">/</span>02<span class="o">/</span>22<span class="o">-</span><span class="n">rdf</span><span class="o">-</span><span class="n">syntax</span><span class="o">-</span><span class="n">ns</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span class="n">rdfs</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>2000<span class="o">/</span>01<span class="o">/</span><span class="n">rdf</span><span class="o">-</span><span class="n">schema</span>#<span class="o">&gt;</span> <span class="p">.</span>
+<span class="p">@</span><span class="n">base</span> <span class="o">&lt;</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">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">&gt;</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">localhost</span><span class="p">:</span>8080<span class="o">/</span><span class="n">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">&gt;</span> 
+  <span class="n">rdf</span><span class="p">:</span><span class="n">type</span> <span class="n">owl</span><span class="p">:</span><span class="n">Ontology</span> <span class="p">;</span>
+  <span class="n">owl</span><span class="p">:</span><span class="n">imports</span> 
+    <span class="o">&lt;</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">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">/</span><span class="n">core</span><span class="o">&gt;</span> <span class="p">.</span>
+</pre></div>
+
+
+<p>Let us take a look at the imported ontology that represents the core space of the "social" scope.</p>
+<div class="codehilite"><pre><span class="c">% curl -H &quot;Accept: application/turtle&quot; http://localhost:8080/ontonet/ontology/social/core</span>
+
+<span class="p">@</span><span class="n">base</span> 
+  <span class="o">&lt;</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">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">/</span><span class="n">core</span><span class="o">&gt;</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">localhost</span><span class="p">:</span>8080<span class="o">/</span><span class="n">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">/</span><span class="n">core</span><span class="o">&gt;</span> 
+  <span class="n">rdf</span><span class="p">:</span><span class="n">type</span> <span class="n">owl</span><span class="p">:</span><span class="n">Ontology</span> <span class="p">;</span>
+  <span class="n">owl</span><span class="p">:</span><span class="n">imports</span> 
+    <span class="o">&lt;</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">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">/</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">rdfs</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">sioc</span><span class="o">/</span><span class="n">ns</span><span class="o">&gt;</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">localhost</span><span class="p">:</span>8080<span class="o">/</span><span class="n">ontonet</span><span class="o">/</span><span class="n">ontology</span><span class="o">/</span><span class="n">social</span><span class="o">/</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">xmlns</span><span class="p">.</span><span class="n">com</span><span class="o">/</span><span class="n">foaf</span><span class="o">/</span>0<span class="p">.</span>1<span class="o">/&gt;</span> <span class="p">.</span>
+</pre></div>
+
+
+<p>Here are the <code>owl:imports</code> statements for the FOAF and SIOC ontologies, which are hijacked to "internal" versions managed by Stanbol. Of course if a domain namespace other than "http://localhost:8080/" was configured, you will see that one in each import statement. </p>
+<p>Also note that the import statement for FOAF ends with <code>http://xmlns.com/foaf/0.1/</code>, which is different from the IRI we passed to Stanbol <code>http://xmlns.com/foaf/spec/index.rdf</code>. This happens because in the case of FOAF the <em>physical</em> IRI (which must be known a priori) differs from its <em>logical</em> IRI (which identifies the ontology and is discovered only when the ontology is read), and OntoNet tends to privilege the logical IRI when one is found, i.e. when the ontology is not anonymous.</p>
+<p>The FOAF and SIOC ontologies are imported by the core space because they were indicated at <em>creation</em> time.</p>
+<p>Of course it is possible to onbtain a Java object for the ontology using the Java API. Here is how to export an entire scope to an OWL API object of type <code>OWLOntology</code>:</p>
+<div class="codehilite"><pre><span class="o">/*</span>
+ <span class="o">*</span> <span class="n">To</span> <span class="n">obtain</span> <span class="n">the</span> <span class="n">OWLOntology</span><span class="p">,</span> <span class="n">we</span> <span class="n">must</span> <span class="n">specify</span> <span class="n">its</span> <span class="n">class</span> <span class="n">as</span>
+ <span class="o">*</span> <span class="n">a</span> <span class="k">return</span> <span class="n">parameter</span><span class="o">.</span>
+ <span class="o">*</span> <span class="n">We</span> <span class="n">also</span> <span class="n">set</span> <span class="n">the</span> <span class="n">second</span> <span class="n">argument</span> <span class="n">to</span> <span class="n">true</span><span class="p">,</span> <span class="n">to</span> <span class="n">specifiy</span> 
+ <span class="o">*</span> <span class="n">that</span> <span class="n">we</span> <span class="n">want</span> <span class="n">it</span> <span class="n">merged</span> <span class="n">with</span> <span class="n">its</span> <span class="n">imports</span><span class="p">,</span> <span class="n">so</span> <span class="n">that</span> <span class="n">the</span> 
+ <span class="o">*</span> <span class="n">resulting</span> <span class="n">object</span> <span class="n">contains</span> <span class="n">all</span> <span class="n">axioms</span><span class="o">.</span>
+ <span class="o">*/</span>
+<span class="n">OWLOntology</span> <span class="n">scopeAsOWL</span> 
+  <span class="o">=</span> <span class="n">scope</span><span class="o">.</span><span class="n">export</span><span class="p">(</span><span class="n">OWLOntology</span><span class="o">.</span><span class="n">class</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
+</pre></div>
+
+
+<p>An scope can be exported either as an OWL API object or as a Clerezza object.</p>
+<div class="codehilite"><pre><span class="o">/*</span>
+ <span class="o">*</span> <span class="n">In</span> <span class="n">Clerezza</span><span class="p">,</span> <span class="n">a</span> <span class="n">Graph</span> <span class="n">is</span> <span class="n">a</span> <span class="n">subclass</span> <span class="n">of</span> <span class="n">TripleCollection</span><span class="p">,</span> 
+ <span class="o">*</span> <span class="n">so</span> <span class="n">it</span> <span class="n">is</span> <span class="n">supported</span> <span class="n">by</span> <span class="n">OntoNet</span><span class="o">.</span> <span class="n">We</span> <span class="n">could</span> <span class="n">also</span> <span class="n">export</span> <span class="n">a</span> 
+ <span class="o">*</span> <span class="n">scope</span> <span class="n">to</span> <span class="n">a</span> <span class="n">MGraph</span> <span class="p">(</span><span class="n">modifiable</span> <span class="n">Graph</span><span class="p">)</span><span class="o">.</span>
+ <span class="o">*/</span>
+<span class="n">Graph</span> <span class="n">scopeAsClerezza</span> <span class="o">=</span> <span class="n">scope</span><span class="o">.</span><span class="n">export</span><span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="n">false</span><span class="p">);</span>
+</pre></div>
+
+
+<h4 id="ontology_input_sources">Ontology input sources.</h4>
+<p>Note that when you add an ontology to a space or session, you pass it an <code>OntologyInputSource</code> object, or more precisely, an <code>OntologyInputSource&lt;O,P&gt;</code>. This is because there can be several ways to obtain an ontology, and those most common are supported in Stanbol. For example, it can be obtained by defererencing a IRI and parsing its source code (in RDF/XML, Turtle, etc.), or by reading an input stream, or taking an already stored RDF graph in the Stanbol store; or it could be an ontology Java object created from scratch. An <strong>Ontology input source</strong> is an object that incorporates (1) the "method" by which an ontology should be accessed; (2) the type of Java object it should create to represent an ontology; (3) where it should store the ontology.</p>
+<ul>
+<li><strong><code>OWLOntology</code> input sources</strong> comply with the OWL API specification <a href="#ref1">[1]</a> and creates objects of type <code>OWLOntology</code> stored in an <em>in-memory</em> <code>OWLOntologyManager</code>. It will be stored persistently once added to an ontology network.<ul>
+<li><code>RootOntologySource</code>. Wraps an already existing <code>OWLOntology</code>, therefore it does not provide a physical IRI.</li>
+<li><code>RootOntologyIRISource</code>. Tries to locate and load an ontology, and its imports, from a given IRI. It can use a custom <code>OWLOntologyManager</code> as a store, and can even override any mappers, in order to force-dereference the IRI.</li>
+<li><code>ParentPathInputSource</code>. Tries to load an ontology from a root <code>File</code>, and will seek its imports among the files in the same directory as the root <code>File</code>. It also allows a custom <code>OWLOntologyManager</code> as a store.
+Loads the ontology source codeWraps an already existing <code>OWLOntology</code>, therefore it does not provide a physical IRI.</li>
+<li><code>BlankOntologySource</code>. Creates an <code>OWLOntology</code> with no ID and no axioms. It can be useful for supplying dummy ontologies to methods that will not admit a null ontology. Note that the blank ontology is not shared: each <code>BlankOntologySource</code> has a distinct blank ontology object, and they are <em>not</em> equal!</li>
+</ul>
+</li>
+<li><strong><code>TripleCollection</code> input sources</strong> comply with the Apache Clerezza API specification, which is also the default native implementation of OntoNet. The resulting ontology is a subtype of <code>TripleCollection</code> (<code>Graph</code> or <code>MGraph</code>) and uses a <code>TcProvider</code> as a store. Depending on the chosen Stanbol storage, it can be pesistent or in-memory. Generally, these input sources take less memory that OWL API counterparts, but do not allow RDF graphs to be managed using the OWL language constructs. Note that any <code>TripleCollection</code> can be exported as an <code>OWLOntology</code> afterwards, once stored.<ul>
+<li><code>GraphContentInputSource</code>. Creates a <code>TripleCollection</code> by reading an input stream, which can be obtained from a file, URL etc. It can use any <code>TcProvider</code> as a store, otherwise it will create an in-memory triple collection, which will be copied to the Stanbol store when adding the ontology to a network. If this <code>TcProvider</code> is the <code>TcManager</code> used by Stanbol, its triples are not copied across.</li>
+<li><code>GraphSource</code>. Wraps an existing <code>TripleCollection</code> object. In general, it does not 'know' where the ontology was stored.</li>
+</ul>
+</li>
+</ul>
+<h3 id="service_endpoints">Service Endpoints</h3>
+<p>The OntoNet RESTful API is structured as follows:</p>
+<p><em>(Please note, that the following links to the actual service endpoints link to a running instance of Apache Stanbol. If you use domains or ports other than "localhost:8080", then please change accordingly)</em></p>
+<h4 id="scopes_ontonetontology">Scopes ("/ontonet/ontology")</h4>
+<ul>
+<li>The endpoint @ <a href="http://localhost:8080/ontonet/ontology">/ontonet/ontology</a> shows an overview (as an RDF graph or HTML document) of all registered ontology scopes.</li>
+<li>An Ontology Scope @ /ontonet/ontology/{scopeId} provides the de-referenceable OWL form of the ontology scope <em>scopeId</em>, inclusive of OWL import statements for the spaces and ontologies therein.</li>
+</ul>
+<h4 id="sessions_ontonetsession">Sessions ("/ontonet/session")</h4>
+<ul>
+<li>The endpoint @ <a href="http://localhost:8080/ontonet/session">/ontonet/session</a> shows an overview (as an RDF graph or HTML document) of all open OntoNet sessions.</li>
+<li>A Session @ /ontonet/session/{sessionId} provides the de-referenceable OWL form of the OntoNet Session <em>sessionId</em>, inclusive of OWL import statements for the ontologies therein.</li>
+</ul>
+<h4 id="managed_ontologies_ontonetontologyid">Managed Ontologies ("ontonet/{ontologyId}")</h4>
+<ul>
+<li>A Managed Ontology @ /ontonet/{ontologyId}, where <em>ontologyId</em> is the full logical IRI that identifies the ontology, provides the RDF form of the ontology with that ID, if that ontology has been stored and is managed by OntoNet (i.e. is in some scope or session).</li>
+</ul>
+<h2 id="references">References:</h2>
+<ul>
+<li>[1] <a name="ref1" href="http://owlapi.sourceforge.net" target="_blank">OWL API</a></li></li>
+</ul>
+<hr />
+<p><em><a href="../">Back to Ontology Manager</a></em></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/stanbol/docs/trunk/ontologymanager/registry/index.html
==============================================================================
--- websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry/index.html (added)
+++ websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry/index.html Mon Feb 20 16:53:54 2012
@@ -0,0 +1,104 @@
+<!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="/stanbol/css/stanbol.css" rel="stylesheet" type="text/css">
+  <title>Apache Stanbol - Ontology Registry Manager</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link rel="icon" type="image/png" href="/stanbol/images/stanbol-logo/stanbol-favicon.png"/>
+</head>
+
+<body>
+  <div id="navigation"> 
+  <a href="/stanbol/index.html"><img alt="Apache Stanbol" width="220" height="101" border="0" src="/stanbol/images/stanbol-logo/stanbol-2010-12-14.png"/></a>
+  <h1 id="stanbol">Stanbol</h1>
+<ul>
+<li><a href="/stanbol/index.html">Home</a></li>
+<li><a href="/stanbol/docs/trunk/tutorial.html">Tutorial</a></li>
+<li><a href="/stanbol/docs/trunk/">Documentation</a></li>
+<li><a href="/stanbol/docs/trunk/building.html">Building</a></li>
+</ul>
+<h1 id="project">Project</h1>
+<ul>
+<li><a href="/stanbol/docs/trunk/mailinglists.html">Mailing Lists</a></li>
+<li><a href="https://issues.apache.org/jira/browse/STANBOL">Issue Tracker</a></li>
+<li><a href="/stanbol/team.html">Project Team</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+</ul>
+<h1 id="downloads">Downloads</h1>
+<ul>
+<li><a href="/stanbol/docs/trunk/downloads.html">Overview</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>
+  </div>
+  
+  <div id="content">
+    <h1 class="title">Ontology Registry Manager</h1>
+    <p>Registry management is a facility for Stanbol <strong>administrators</strong> to pre-configure sets of ontologies that Stanbol should load and store, or simply be aware of, <em>before</em> they are included in a part of the ontology network (e.g. a scope or session). Via the registry manager, it is possible to configure whether these ontologies should be loaded immediately when Stanbol is initialized, or only when explicitly requested. The Ontology Registry Manager is essentially an ontology bookmarker with caching support. It is also possible to cache multiple versions of the same ontology if needed.</p>
+<h2 id="terminology">Terminology</h2>
+<ul>
+<li>A <strong>Library</strong> is a collection of references to ontologies, which can be located anywhere on the Web. CMS administrators and knowledge managers can create a library by any criterion, e.g. a library of all <em>W3C ontologies</em>, a library of all the ontologies that describe a <em>social network</em> (which can include <a href="http://sioc-project.org/ontology">SIOC</a>, <a href="http://xmlns.com/foaf/spec">FOAF</a> etc.), a library of <em>ontology alignments</em> (which includes ontologies that align DBPedia to Schema.org, GeoNames to DBPedia, or a custom product ontology to GoodRelations).</li>
+<li>A <strong>Registry</strong> is an RDF resource (i.e. an ontology itself) that describes one or more libraries. It is the physical object that has to be accessed to gain knowledge about libraries.</li>
+</ul>
+<h2 id="usage_scenarios">Usage Scenarios</h2>
+<p>TODO</p>
+<h2 id="configuration">Configuration</h2>
+<p>Ontology registries (and, by extension, the libraries they reference) are configured by the Stanbol administrator via the Felix Web console. <em>Note that the following links assume Stanbol to be deployed on http://localhost:8080 .</em></p>
+<ol>
+<li>Go to the <a href="http://localhost:8080/system/console/configMgr">Felix console Configuration Manager</a> and select <strong>Apache Stanbol Ontology Registry Manager</strong> (or follow this <a href="http://localhost:8080/system/console/configMgr/org.apache.stanbol.ontologymanager.registry.impl.RegistryManagerImpl">direct link</a>)</li>
+<li>Under <strong>Registry locations</strong> you can add or remove the physical URIs of ontology registries, i.e. RDF resources that contain knowledge about ontology libraries.</li>
+<li>If you wish all the registry contents to be loaded altogether on startup, uncheck the <strong>lazy ontology loading</strong> box.</li>
+<li>You can select one <strong>Caching policy</strong> between Centralised (default) and Distributed. In <em>Centralised</em> caching, all the libraries that reference an ontology with the same URI will share the very same version of that ontology. In <em>Distributed</em> caching, each library will reference its own version of each ontology. Centralised caching is generally recommended, as distributed caching allows multi-version ontology management, but occupies much more storage space, depending on the amount of ontologies in common.</li>
+</ol>
+<h2 id="usage">Usage</h2>
+<h3 id="setup_an_ontology_registry">Setup an Ontology Registry</h3>
+<p>To create a Registry, you simply need to make an OWL ontology with certain types of axioms. See <a href="registry/language.html">Registry Language</a> for examples on how to create a Registry and add Library instances to it. </p>
+<p>Then upload the ontology on the Web and add it to the <strong>Registry locations</strong> from the <a href="http://localhost:8080/system/console/configMgr/org.apache.stanbol.ontologymanager.registry.impl.RegistryManagerImpl">Felix console Configuration</a>.</p>
+<p>Note that not only can a single registry describe multiple libraries, but also multiple registries can describe the same library, each adding information on the ontologies referenced by it. Library descriptions are <em>monotonic</em>, in that registries can only <em>add</em> information about libraries, never <em>remove</em> any.</p>
+<h3 id="access_a_cached_ontology">Access a cached ontology</h3>
+<p>A cached ontology does not need to be loaded into an OntoNet scope or session in order to be available. It can be accessed at @/ontonet/{ontologyURI} .</p>
+<h3 id="service_endpoints">Service Endpoints</h3>
+<p>Because the configuration of registries is a task for <strong>administrators</strong> and is performed through the Felix administration console, there are no RESTful services for modifying ontology registries. It is however possible to browse the known ontology libraries.</p>
+<ul>
+<li><a href="http://localhost:8080/ontonet/registry"><strong>Libraries</strong></a>. If called from a Web browser, shows a list of known ontology libraries, and for each of them the caching state and the number of referenced ontologies. <em>Note that this service does not provide information on the registries that describe these libraries; that is classified information for administrators.</em> This endpoint supports only GET with no parameters, and generates text/html only.</li>
+</ul>
+<hr />
+<p><em><a href="../">Back to Ontology Manager</a></em></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/stanbol/docs/trunk/ontologymanager/registry/language.html
==============================================================================
--- websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry/language.html (original)
+++ websites/staging/stanbol/trunk/content/stanbol/docs/trunk/ontologymanager/registry/language.html Mon Feb 20 16:53:54 2012
@@ -87,8 +87,8 @@ Supported formats are RDF/XML, OWL/XML, 
 
 
 <hr />
-<p><em><a href="../registry.html">Back to RegistryOntology Manager</a></em></p>
-<p><em><a href="../../ontologymanager.html">Back to Ontology Manager</a></em></p>
+<p><em><a href="./">Back to Registry Manager</a></em></p>
+<p><em><a href="../">Back to Ontology Manager</a></em></p>
   </div>
   
   <div id="footer">