Author: enridaga
Date: Fri Nov  4 17:02:00 2011
New Revision: 1197667

URL: http://svn.apache.org/viewvc?rev=1197667&view=rev
Log:
The staging server shows a blank page for reasoners.html . Trying to remove the 
most of the markup code, maybe something wrong was inside (STANBOL-373)

Modified:
    incubator/stanbol/site/trunk/content/stanbol/docs/trunk/reasoners.mdtext

Modified: 
incubator/stanbol/site/trunk/content/stanbol/docs/trunk/reasoners.mdtext
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/site/trunk/content/stanbol/docs/trunk/reasoners.mdtext?rev=1197667&r1=1197666&r2=1197667&view=diff
==============================================================================
--- incubator/stanbol/site/trunk/content/stanbol/docs/trunk/reasoners.mdtext 
(original)
+++ incubator/stanbol/site/trunk/content/stanbol/docs/trunk/reasoners.mdtext 
Fri Nov  4 17:02:00 2011
@@ -33,261 +33,6 @@ We can use the curl command line utility
 
        $ curl -H "Accept: text/n3" 
"http://localhost:8080/stanbol/reasoners/owl/enrich?url=http://xmlns.com/foaf/0.1/";
        
-The above example performs a GET  asking for a <tt>text/n3</tt> representation 
of the result. For example, the equivalency of <tt>foaf:Agent</tt> and 
<tt>dc:Agent</tt> result in the <tt>rdfs:subClassOf</tt> statements for the 
<tt>foaf:Person</tt> type:
-<pre>[...]
-&lt;http://xmlns.com/foaf/0.1/Person&gt;
-      a       &lt;http://www.w3.org/2002/07/owl#Thing&gt; ,
-              &lt;http://www.w3.org/2002/07/owl#Class&gt; ,
-              &lt;http://www.w3.org/2000/01/rdf-schema#Resource&gt; ,
-              &lt;http://www.w3.org/2000/01/rdf-schema#Class&gt; ;
-      &lt;http://www.w3.org/2000/01/rdf-schema#label&gt;
-              "Person" ;
-      &lt;http://www.w3.org/2000/01/rdf-schema#subClassOf&gt;
-              &lt;http://xmlns.com/foaf/0.1/Person&gt; ,
-              &lt;http://purl.org/dc/terms/Agent&gt; ,
-              &lt;http://xmlns.com/foaf/0.1/Agent&gt; ,
-              &lt;http://www.w3.org/2002/07/owl#Thing&gt; ,
-              &lt;http://www.w3.org/2000/01/rdf-schema#Resource&gt; ,
-              &lt;http://www.w3.org/2000/10/swap/pim/contact#Person&gt; ,
-              &lt;http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing&gt; ;
-      &lt;http://www.w3.org/2002/07/owl#disjointWith&gt;
-              &lt;http://xmlns.com/foaf/0.1/Organization&gt; ,
-              &lt;http://xmlns.com/foaf/0.1/Project&gt; ;
-[...]</pre>
-This behaviour is equivalent if we use the method POST with the header 
<tt>Content-type: application/x-www-form-urlencoded</tt>. In addition, if the 
<tt>target</tt> parameter is provided, the service saves the output in the 
given graph in the triple store and does not return the RDF stream.
-
-## Differences between the reasoners
-Let's give some example on the differences between the available reasoners (to 
try the example ontology snippets you can download them from <a 
href="https://github.com/enridaga/reasoners.examples/tree/master/enridaga.reasoners.examples";
 target="_blank">here</a>).
-
-The first snippet uses rdfs:subClassOf to declare that any Article is a 
Document, which is in turn a ContentItem. 
-<pre>
-&lt;!-- item_1 is an Article --&gt;
-&lt;ex:Article rdf:about="http://www.example.org/reasoners/item_1"/&gt;
-
-&lt;!-- An article is a kind of Document --&gt;
-&lt;rdf:Description rdf:about="http://www.example.org/reasoners/Article"&gt;
-       &lt;rdfs:subClassOf 
rdf:resource="http://www.example.org/reasoners/Document"/&gt;
-&lt;/rdf:Description&gt;
-
-&lt;!-- An document is a kind of content item --&gt;
-&lt;rdf:Description rdf:about="http://www.example.org/reasoners/Document"&gt;
-       &lt;rdfs:subClassOf 
rdf:resource="http://www.example.org/reasoners/ContentItem"/&gt;
-&lt;/rdf:Description&gt;
-</pre>
-<a 
href="https://raw.github.com/enridaga/reasoners.examples/master/enridaga.reasoners.examples/rdfs/subclass.xml";
 target="_blank">download it</a>
-
-Giving it to the /rdfs reasoning service, we obtain as resulted inferred 
statement that item_1 is also a Document and a ContentItem. Another feature of 
RDFS is the definition of the domain and range of a property.
-<pre style="overflow: auto">
-&lt;!-- Both enridaga and alexdma are authors of item_1 --&gt;
-&lt;rdf:Description rdf:about="http://www.example.org/reasoners/enridaga"&gt;
-       &lt;ex:author 
rdf:resource="http://www.example.org/reasoners/item_1"/&gt;
-&lt;/rdf:Description&gt;
-&lt;rdf:Description rdf:about="http://www.example.org/reasoners/alexdma"&gt;
-       &lt;ex:author 
rdf:resource="http://www.example.org/reasoners/item_1"/&gt;
-&lt;/rdf:Description&gt;
-
-&lt;!-- ex:author wants a person as subject, and a content-item as object 
--&gt;
-&lt;rdf:Description rdf:about="http://www.example.org/reasoners/author"&gt;
-       &lt;rdfs:domain 
rdf:resource="http://www.example.org/reasoners/Person"/&gt;
-       &lt;rdfs:range 
rdf:resource="http://www.example.org/reasoners/ContentItem"/&gt;
-&lt;/rdf:Description&gt;
-</pre>
-<a 
href="https://raw.github.com/enridaga/reasoners.examples/master/enridaga.reasoners.examples/rdfs/domain-range.xml";
 target="_blank">download it</a>
-We will obtain, in this case, that both <tt>enridaga</tt> and <tt>alexdma</tt> 
are <tt>Authors</tt>, and that <tt>item_1</tt> is a <tt>ContentItem</tt>. RDFS 
semantics is considered also by other reasoners. The <tt>/rdfs</tt> service is 
the less "expressive" of the four.
-
-The following snippet will work with <tt>/owl</tt>, <tt>/owlmini</tt> and 
<tt>/owl2</tt> (but not with <tt>/rdfs</tt>):
-<pre style="overflow: auto">
-&lt;!-- ogrisel, enridaga and alexdma are developers --&gt;
-&lt;ex:Developer rdf:about="#enridaga" /&gt;
-&lt;ex:Developer rdf:about="#ogrisel" /&gt;
-&lt;ex:Developer rdf:about="#alexdma" /&gt;
-
-&lt;!-- We know:
-#alexdma #workedTogheter #enridaga and #ogrisel
---&gt;
-&lt;rdf:Description rdf:about="#alexdma"&gt;
-&lt;workedTogheter rdf:resource="#ogrisel"/&gt;
-&lt;workedTogheter rdf:resource="#enridaga"/&gt;
-&lt;/rdf:Description&gt;
-
-&lt;!-- #workedTogheter is an owl:SymmetricProperty (well, this is an 
example...) --&gt;
-&lt;owl:SymmetricProperty rdf:about="#workedTogheter"/&gt;
-&lt;!-- #workedTogheter is also a owl:TransitiveProperty (well, this is an 
example...) --&gt;
-&lt;owl:TransitiveProperty rdf:about="#workedTogheter"/&gt;
-</pre>
-<a 
href="https://raw.github.com/enridaga/reasoners.examples/master/enridaga.reasoners.examples/owlmini/symmetric.xml";
 target="_blank">download it</a>
-The OWL vocabulary introduce logical capabilities, allowing more complex 
inferences to be produced. In the above example we state that <tt>alexdma 
workedWith enridaga</tt> and <tt>ogrisel</tt>. Since we declare the property 
<tt>workedTogheter</tt> to be "Symmetric" and "Transitive", the result will 
include the following:
-<ul>
-<li><tt>enridaga workedWith alexdma</tt> (is symmetric)</li>
-<li><tt>ogrisel workedWith alexdma</tt></li>
-<li><tt>ogrisel workedWith enridaga</tt> (is transitive)</li>
-<li><tt>enridaga workedWith ogrisel</tt></li>
-</ul>
-
-Next snippet is inconsistent. This means that the OWL based reasoners will not 
return any inference, but a 204 HTTP response:
-<pre style="overflow: auto">
-&lt;!-- enridaga is a person --&gt;
-&lt;ex:Person rdf:about="http://www.example.org/reasoners/enridaga"; /&gt;
-
-&lt;!-- Persons and Organizations are disjoint --&gt;
-&lt;owl:Class rdf:about="http://www.example.org/reasoners/Person"; /&gt;
-&lt;owl:Class rdf:about="http://www.example.org/reasoners/Organization"&gt;
-       &lt;owl:disjointWith 
rdf:resource="http://www.example.org/reasoners/Person"; /&gt;
-&lt;/owl:Class&gt;
-
-&lt;!-- A Public Limited Company is a kind of Company, which is a kind of 
Organization --&gt;
-&lt;owl:Class 
rdf:about="http://www.example.org/reasoners/PublicLimitedCompany"&gt;
-       &lt;rdfs:subClassOf 
rdf:resource="http://www.example.org/reasoners/Company"; /&gt;
-&lt;/owl:Class&gt;
-&lt;owl:Class rdf:about="http://www.example.org/reasoners/Company"&gt;
-       &lt;rdfs:subClassOf 
rdf:resource="http://www.example.org/reasoners/Organization"; /&gt;
-&lt;/owl:Class&gt;
-
-&lt;!-- enridaga cannot be a Public Limited Company --&gt;
-&lt;ex:PublicLimitedCompany 
rdf:about="http://www.example.org/reasoners/enridaga"; /&gt;
-</pre>
-<a 
href="https://raw.github.com/enridaga/reasoners.examples/master/enridaga.reasoners.examples/owlmini/inconsistent-types.xml";
 target="_blank">download it</a>
-The <tt>/owlmini</tt> implements the OWL language with some (more) limitations 
then <tt>/owl</tt> (both are based on the Jena rule based reasoner, as said 
before).
-
-The following example shows the use of class restrictions, in particular the 
usage of <tt>owl:someValuesFrom</tt>:
-<pre style="overflow: auto">
-&lt;!-- john, is an developer, but we don't know anything else --&gt;
-&lt;ex:Developer rdf:about="#john"&gt;
-&lt;/ex:Developer&gt;
-
-&lt;!-- a #SoftwareCompany is a kind of #Organization --&gt;
-&lt;owl:Class rdf:about="SoftwareCompany"&gt;
-       &lt;rdfs:subClassOf rdf:resource="#Organization" /&gt;
-&lt;/owl:Class&gt;
-
-&lt;!-- #Developers #worksAt some #SoftwareCompany (they are not the only 
one..., 
-       this is why we use owl:subClassOf) --&gt;
-&lt;owl:Class rdf:about="#Developer"&gt;
-       &lt;rdfs:subClassOf&gt;
-               &lt;owl:restriction&gt;
-                       &lt;owl:onProperty rdf:resource="#worksAt" /&gt;
-                       &lt;owl:someValuesFrom rdf:resource="#SoftwareCompany" 
/&gt;
-               &lt;/owl:restriction&gt;
-       &lt;/rdfs:subClassOf&gt;
-&lt;/owl:Class&gt;
-
-&lt;!-- Employers are all who #worksAt any kind of Organization 
(owl:equivalentClass) --&gt;
-&lt;owl:Class rdf:about="#Employer"&gt;
-       &lt;owl:equivalentClass&gt;
-               &lt;owl:restriction&gt;
-                       &lt;owl:onProperty rdf:resource="#worksAt" /&gt;
-                       &lt;owl:someValuesFrom rdf:resource="#Organization" 
/&gt;
-               &lt;/owl:restriction&gt;
-       &lt;/owl:equivalentClass&gt;
-&lt;/owl:Class&gt;
-</pre>
-<a 
href="https://raw.github.com/enridaga/reasoners.examples/master/enridaga.reasoners.examples/owl/some-values-from.xml";
 target="_blank">download it</a>
-
-We expect an OWL reasoner to state that John is an <tt>Employer</tt>. This 
example does not work with <tt>/rdfs</tt> (it ignores the OWL semantics), and 
does not work with <tt>/owlmini</tt>, because the Jena OWL(mini) reasoner omits 
the forward entailments for <tt>owl:someValuesFrom restrictions</tt> (see [<a 
href="#ref4">4</a>]). It works correctly if we use the service <tt>/owl</tt>.
-
-The <tt>/owl</tt> service support the most of the semantic of OWL. The HermiT 
reasoner is based on <a href="http://owlapi.sourceforge.net/";>OWLApi</a> and is 
an example of a DL reasoner. It fully covers OWL and OWL2, which introduces lot 
of interesting features. Here is an example:
-<pre style="overflow: auto">
-&lt;!-- any employer must have some features: firstname, familyname, email 
-       and worksAt (in one of the allowed places) --&gt;
-&lt;owl:Class rdf:about="#Employer"&gt;
-       &lt;owl:equivalentClass&gt;
-               &lt;owl:Class&gt;
-                       &lt;owl:intersectionOf rdf:parseType="Collection"&gt;
-                               &lt;rdf:Description rdf:about="#Person" /&gt;
-                               &lt;owl:Restriction&gt;
-                                       &lt;owl:onProperty 
rdf:resource="#firstname" /&gt;
-                                       &lt;owl:someValuesFrom 
rdf:resource="&amp;rdfs;Literal" /&gt;
-                               &lt;/owl:Restriction&gt;
-                               &lt;owl:Restriction&gt;
-                                       &lt;owl:onProperty 
rdf:resource="#familyname" /&gt;
-                                       &lt;owl:someValuesFrom 
rdf:resource="&amp;rdfs;Literal" /&gt;
-                               &lt;/owl:Restriction&gt;
-                               &lt;owl:Restriction&gt;
-                                       &lt;owl:onProperty 
rdf:resource="#email" /&gt;
-                                       &lt;owl:someValuesFrom 
rdf:resource="&amp;rdfs;Literal" /&gt;
-                               &lt;/owl:Restriction&gt;
-                               &lt;!-- --&gt;
-                               &lt;!-- Let's say that Employers can work only 
in #Rome , #Catania and 
-                                       #Bologna --&gt;
-                               &lt;owl:Restriction&gt;
-                                       &lt;owl:onProperty 
rdf:resource="#worksAt" /&gt;
-                                       &lt;owl:someValuesFrom&gt;
-                                               &lt;owl:Class&gt;
-                                                       &lt;owl:oneOf 
rdf:parseType="Collection"&gt;
-                                                               &lt;owl:Thing 
rdf:about="#Rome" /&gt;
-                                                               &lt;owl:Thing 
rdf:about="#Catania" /&gt;
-                                                               &lt;owl:Thing 
rdf:about="#Bologna" /&gt;
-                                                       &lt;/owl:oneOf&gt;
-                                               &lt;/owl:Class&gt;
-                                       &lt;/owl:someValuesFrom&gt;
-                               &lt;/owl:Restriction&gt;
-                       &lt;/owl:intersectionOf&gt;
-               &lt;/owl:Class&gt;
-       &lt;/owl:equivalentClass&gt;
-&lt;/owl:Class&gt;
-
-&lt;owl:DatatypeProperty rdf:about="#firstname" /&gt;
-&lt;owl:DatatypeProperty rdf:about="#familyname" /&gt;
-&lt;owl:DatatypeProperty rdf:about="#email" /&gt;
-
-&lt;!-- #worksAt has range #Place --&gt;
-&lt;owl:ObjectProperty rdf:about="#worksAt"&gt;
-       &lt;rdfs:range rdf:resource="#Place" /&gt;
-&lt;/owl:ObjectProperty&gt;
-
-&lt;!-- all the following places are distinct (no synonyms here) --&gt;
-&lt;owl:AllDifferent&gt;
-       &lt;owl:distinctMembers rdf:parseType="Collection"&gt;
-               &lt;owl:Thing rdf:about="#Rome" /&gt;
-               &lt;owl:Thing rdf:about="#Catania" /&gt;
-               &lt;owl:Thing rdf:about="#Bologna" /&gt;
-               &lt;owl:Thing rdf:about="#Moricone" /&gt;
-       &lt;/owl:distinctMembers&gt;
-&lt;/owl:AllDifferent&gt;
-
-
-&lt;!-- enridaga, to be an employer, must fulfill the restrictions defined 
-       for the class #Employer. --&gt;
-&lt;Person rdf:about="#enridaga"&gt;
-       &lt;!-- If you comment one of the next 4 statement, you won't have 
#enridaga 
-               to result as #Employer. --&gt;
-       &lt;firstname&gt;Enrico&lt;/firstname&gt;
-       &lt;familyname&gt;Daga&lt;/familyname&gt;
-       &lt;email&gt;[email protected]&lt;/email&gt;
-       &lt;worksAt rdf:resource="#Catania" /&gt;
-
-       &lt;!-- If you uncomment the two statements below you will obtain an 
inconsistency, 
-               because #Moricone is not an allowed place for developers --&gt;
-       &lt;!-- &lt;worksAt rdf:resource="#Moricone" /&gt; &lt;rdf:type 
rdf:resource="#Employer" 
-               /&gt; --&gt;
-&lt;/Person&gt;
-</pre>
-<a 
href="https://raw.github.com/enridaga/reasoners.examples/master/enridaga.reasoners.examples/owl2/class-restrictions-owl2.xml";
 target="_blank">download it</a>
-
-The above differences depend on the semantic supported by the specific 
reasoner and from the implementation, which limit the power of the system in 
favour of a better efficiency (is the case of the <tt>/owlmini</tt> 
implementation of Jena, more efficient then the respective <tt>/owl</tt>). If 
you need to work with RDFS semantic, and don't need OWL for your inferences, 
just use the RDFS one.
-## Build and install
-Run Stanbol, for example:
-
- % java -jar -Xmx1g 
org.apache.stanbol.launchers.full-0.9.0-incubating-SNAPSHOT.jar
- 
-
-You must have the Ontonet and Rules modules already installed (they are if you 
have followed the above example).
-Move to the /reasoners directory, then run
-
- % mvn install -PinstallBundle -Dsling.url=<the path to your running Felix 
administration console>
-
-for example
-
- % mvn install -PinstallBundle http://localhost:8080/system/console
-
-### Add the HermiT reasoner
-
-To enable HermiT as OWL2 reasoner you can download and install it from the 
Stanbol (Incubating) svn repository. The steps are the following:
-
-       $ svn co 
https://svn.apache.org/repos/asf/incubator/stanbol/trunk/reasoners/hermit 
stanbol-hermit
-       $ cd stanbol-hermit
-       $ mvn install -PinstallBundle 
-Dsling.url=http://localhost:8080/system/console // change this to the path 
related to your Stanbol instance
-
 
 
 ____


Reply via email to