TermGenie2
TG2 will be a java rewrite of TG1. It will make use of standard components where possible
See also: TermGenie
Components
User Interface
The current prototype uses GWT, but we have encountered some limitations and are considering javascript/jQuery
Currently testing a JSON RPC for communication between server (Java) and JQuery (UI) client in the browser. Allows re-use of any Java code on the server and faster/stable Javascript code for the browser (no additional translation required as in GWT, which can lead to some instability).
Meeting in Berkeley June 19 2011 to discuss UI framework
Ontology Model
We will use the OWL API (+OWLTools wrapper)
Template Model
In progress (Heiko to add link to source)
- language for generating class expression from template
- constraint rules for excluding non-sensical expressions. Options:
- encode as OWL (higher reasoner penalty)
- hardcoded java rules (not scalable, no declarative)
- declarative rule language
Text Generation
New compositional terms have auto-generated
- names and synonyms
- textual definitions
We would have some declarative language for specifying these, but some could be hardcoded for now.
Reasoning
TG1 used custom prolog reasoning to efficiently place new terms in the hierarchy. TG2 will use standard OWL reasoners.
We are still evaluating options
- Pellet has a useful incremental reasoning feature, but may be awkward to use. Pellet can be configured to run faster (See RobH's paper on EL-Vira)
- JCel should be fast
- CB should be very fast, but harder to install/use
Transaction Manager
TG1 wrote out 3 diff files. A separate script is executed by the gatekeeper.
We can retain this model but ultimately TG will have direct cvs access and the gatekeeper should be able to release all changes to the live ontology
TODO: ask owlapi list for standard way of representing transactions
Authentication
- basic authentication
- some metadata generated from usernames