Author: enridaga
Date: Fri Aug 26 17:14:31 2011
New Revision: 1162174

URL: http://svn.apache.org/viewvc?rev=1162174&view=rev
Log:
Moved the README to the reactor.
Added notes about implementation and examples.
STANBOL-185

Added:
    incubator/stanbol/branches/jena-reasoners/reasoners/README
      - copied, changed from r1162171, 
incubator/stanbol/branches/jena-reasoners/reasoners/web/README
Removed:
    incubator/stanbol/branches/jena-reasoners/reasoners/web/README

Copied: incubator/stanbol/branches/jena-reasoners/reasoners/README (from 
r1162171, incubator/stanbol/branches/jena-reasoners/reasoners/web/README)
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/branches/jena-reasoners/reasoners/README?p2=incubator/stanbol/branches/jena-reasoners/reasoners/README&p1=incubator/stanbol/branches/jena-reasoners/reasoners/web/README&r1=1162171&r2=1162174&rev=1162174&view=diff
==============================================================================
--- incubator/stanbol/branches/jena-reasoners/reasoners/web/README (original)
+++ incubator/stanbol/branches/jena-reasoners/reasoners/README Fri Aug 26 
17:14:31 2011
@@ -1,7 +1,80 @@
 STANBOL REASONERS
 
 
-TODO:
+
+What is it?
+* A serviceapi for ReasoningServices, using SCR
+* Base OWLApi and Jena abstract services
+* Jena RDFS,OWL,OWLMini reasoning services
+* HermiT reasoning service
+
+* A common REST endpoint at /reasoners/services with the following preloaded 
services:
+**    /rdfs
+**    /owl
+**    /owlmini
+**    /owl2
+
+each can be accessed with one of three tasks: check,enrich,classify, for 
example:
+
+/reasoners/owl/check    (the Jena owl service with task classify)
+or
+/reasoners/owl2/classify (the hermit service with task classify)
+
+Tasks description:
+* check    : is the input consistent? 200 =true, 204 =false
+* classify : return only rdf:type inferences
+* enrich   : return all inferences
+
+This is how the endpoint behave:
+
+GET (same if POST and Content-type: application/x-www-form-urlencoded)
+params:
+* url        // Loads the input from url
+* target  // (optional) If given, save output in the store (TcManager) and 
does not return the stream
+
+for example:
+$ 
http://localhost:8080/reasoners/services/owl2/classify?url=http://xmlns.com/foaf/0.1/
+
+POST   [Content-type: multipart/form-data]
+* file       // Loads from the input stream
+* target  // (optional)  If given, save output in the store (TcManager) and 
does not return the stream
+
+
+Output formats:
+Supported return formats are all classic RDF types (n3,turtle,rdf+xml) and 
HTML. For HTML the returned statements are provided in Turtle (Jena) or OWL 
Manchester syntax (OWLApi), wrapped in the stanbol layout. It would be nice to 
have all in the latter, which is very much readable (todo).
+
+Support for input from Ontonet and Rules:
+These additional paramters can be sent:
+* scope
+* session
+* recipe
+TODO
+
+
+Todo:
+* Support for return types json and json-ld (need to write jersey writers)
+* The front service actually returns only inferred statements. It is useful 
also to have the complete set of input+inferred statements
+* Support for long-term operations. This is crucial for reasoning tasks, since 
it can take some time with large graphs. This is needed in general for Stanbol, 
something like "Stanbol Jobs".
+* Decouple input preparation from the rest endpoint resource, creating 
something like an InputProvider SCR api;  each InputProvider is bound to a set 
of additional parameters. 
+This have several benefits:
+** Remove of additional optional parameters, bound to specific input sources 
from the default rest api (ex, session, scope, recipe)
+** Remove dependencies to ontonet, rules and other modules which are not 
needed for standard usage. They could be implemented as InputProvider/s, bound 
to specific parameters.
+** Allow the addition of other input parameters (for example 'graph', 'entity' 
or 'site')
+* Implement a Custom Jena ReasoningService, to use a Jena rules file or a 
stanbol recipe (when implemented the toJena() functionality in the rules 
module) from configuration. This could be done as multiple SCR instance, as it 
is now for entityhub sites, for example.
+* Provide a validation report in case of task CHECK (validity check).
+* Implement a progress monitor, relying on the jena and owlapi apis, which 
have this feature, for debugging purpose
+* Implement a benchmark endpoint, relying on OWL manchester syntax, to setup 
benchmark tests in the style of the one made for the enhancer
+* Implementing owllink client reasoning service
+
+General issues:
+The main problem is performance, which decrease while the input grows, in some 
cases dramatically. This coould be faced (IMHO), in two directions:
+* Improve input preparation. In particular, the preparation of input form 
ontonet scope/session needs to stream the ontologies, in cases of more input 
(url provided) twice!, and this have tragic drawback on performance! This issue 
should be faced partly at Ontonet side... 
+* Support long-term operations
+
+Differences between Jena and OWLApi services:
+* CHECK have different meaning (TODO explain)
+* TODO
+
 
 EXAMPLES:
 #


Reply via email to