Unfortunately there isn’t a paper describing the existing architecture. Apparently no one is excited about writing one since we are planning to replace it. Below is a short description of where we are and where we are going. The end-state diagram is attached.
Currently the lowest levels of storage for all information in BioPortal, other than mappings, are a number of MySQL databases. These are not publically queriable. On top of these for various features are LexEVS, Protégé, and some custom NCBO layers for annotation and resource index. These are all in Java. There is also a Java layer that conceals the distinctions between LexEVS and Protégé. Above this is the REST API layer. This is the only publically available layer. The UI calls this layer exclusively. This layer is available for external users to use programmatically.
Mappings are currently handled differently. Mappings have been ported to use a triple-store (as a sort of experiment) but this triple-store is not publically queriable (yet). There is a public triple-store prototype for an old set of ontologies but this is not maintained and there is no assurance that the production triple store implementation of BioPortal will look like this triple-store.
Our long term plan is to replace many of the MySQL databases with a triple-store. This includes all of the ontology storage pieces. This triple-store will be publically queriable with SPARQL. There will also be a REST API.
I am unwilling to commit publically to a date for when this work will be complete. We will begin working on it though within the next few months. It is a big effort. When we gain more experience we will be better able to estimate the effort.
From: Nigam Shah [mailto:[hidden email]] Sent: Thursday, April 21, 2011 7:28 AM To: Dhaval, Rakesh Cc: Ray Fergerson Subject: Re: bioportal server error
Not right now. Currently it is all relational databases (except the sparql.bioontology.org where there is a triple store).
Ray fergerson, our project manager, can tell you more about the most current architecture of BioPortal.