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 "logical lenses". 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
"interesting" 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 © 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">"social"</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">"social"</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">"http://xmlns.com/foaf/spec/index.rdf"</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">"http://rdfs.org/sioc/ns"</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">"social"</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">"social"</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 "Accept:
application/turtle" 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"><</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">></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"><</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">></span> <span class="p">.</span>
+<span class="p">@</span><span class="n">prefix</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">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="p">.</span>
+<span class="p">@</span><span class="n">prefix</span> <span
class="n">xml</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><span
class="n">XML</span><span class="o">/</span>1998<span class="o">/</span><span
class="n">namespace</span><span class="o">></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"><</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">></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"><</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">></span>
<span class="p">.</span>
+<span class="p">@</span><span class="n">base</span> <span
class="o"><</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="p">.</span>
+
+<span class="o"><</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">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"><</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">></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 "Accept:
application/turtle"
http://localhost:8080/ontonet/ontology/social/core</span>
+
+<span class="p">@</span><span class="n">base</span>
+ <span class="o"><</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">></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">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">></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"><</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">></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">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">/></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<O,P></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 © 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 © 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">