TermGenie2

From GO Wiki
Jump to navigation Jump to search

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

Controller