Skip to content
Carlos Rueda edited this page May 22, 2016 · 14 revisions

Similarly as with "ont," the orr-ont service mainly provides a REST API for client applications to access and manage a repository of ontologies, also including management of user accounts and organizations. But there are important differences in underlying technologies, implementation approach. The following is a comparison between "ont" and "orr-ont" with respect to various aspects. This is preliminary, not exhaustive, but should give a good sense of the intent.

Aspect ont orr-ont
Explicit "voc2rdf" format no yes
Explicit "vine" format no yes
Request for latest version Conversion always made from the versioned form Immediately returned
Output formats RDF/XML, N3 RDF/XML, RDF/JSON, JSON-LD, N3, Turtle, N-Triples, N-Quads
Request in other format Conversion always made Conversion only once then cached
Ontology versions stored in Versioned form Un-versioned form
Organization (authority) support Very minimal Better supported (1)
Authentication Limited security Significantly improved (2)
Authorization/permissions Minimal Significantly improved (1)
"self-resolvable" URI HTML dispatch Redirection to separate UI webapp Direct dispatch (3)
Database dependencies BioPortal, MySQL MongoDB
Triple store dependency AllegroGraph AllegroGraph
Language / HTTP mechanism Java / Servlet Scala / Scalatra
Unit/integration testing Limited Comprehensive

In general, because of the new and simplified mechanisms in orr-ont, a number of benefits are expected:

  • Easier installation of main dependencies (MongoDB, AllegroGraph)
  • Better performance (possibly very significant)

Also, the code is simplified and should be easier to maintain and extend thanks to the use of a modern Web micro-framework as provided by Scalatra(4), not to mention the use of Scala itself.

(1) Organizations are explicitly modeled in orr-ont. An organization has members, and only members can register ontologies for that organization. (A user can also register his/her own ontologies.)

(2) Authentication is based on JSON Web Tokens and Basic Authentication.

(3) Direct dispatch so the original ontology URI (URL case) is retained in the browser URL field. (Previous redirection has proved to have caused lots of confusion regarding the proper URI for ontology identification.)

(4) However, other HTTP frameworks, apparently much more actively maintained, may be considered in a future version including Akka HTTP and Play.

Clone this wiki locally