Skip to content

WebProtégé Road Map

Matthew Horridge edited this page Nov 6, 2018 · 5 revisions

Below is a list of items on the WebProtégé road map. It is basically an unordered, non-prioritized, collection of items from our wish list, which we would like to see implemented at some point in the future in WebProtégé. It includes both items which we can implement in the context of our currently funded projects, but also items for which we still need to secure funding, to allocate the appropriate resources to work on their implementation.

If you see an item on this list that you would like to see implemented sooner rather than later, or you have other features in mind that would be important for your project, and you would be interested in providing support for that work, please contact the Protégé team. Thank you!

Current road map (last updated Nov 6, 2018)

Support for feature branches

We would like to provide support for branching a project so that features and bugs can be worked on in isolation with the changes being merged back into the master branch.

Continuous Integration Style Checks

We would like to provide a suite of tests that are commonly used in ontology development projects. Checks would typically be run after a batch of edits. Example tests and checks could include:

  • Check that each entity has a label and that it is spelled correctly.
  • Check that there are labels for a set of languages.
  • Check that each entity has a textual definition.
  • Check that no entities have been deleted from the signature of the ontology since the previous release.
  • Check for certain patterns of axioms (specified as axiom templates)
  • Check that the ontology is consistent
  • Check that each class and property is satisfiable
  • Check that obsoleted classes are not used in the “main” signature of the ontology
  • Check that certain constructors are not used
  • Check that a given profile is adhered to
  • Check that multiple inheritance is not stated explicitly
  • Check that multiple typing is not stated explicitly
  • Check that siblings are disjoint (or disjoint classes axioms are applied in a uniform manner)
  • Check that reasoning performance is maintained (or does not get significantly worse)

Github Integration

Integrate with GitHub Issues. Consider integrating with GitHub repos for push/pull access.

Tags for publishing releases

Add the ability to tag revisions. Add the ability to comment on revisions or tags. Support for producing diffs between releases.

Better support for merging

Users should be able to upload any ontology file or set of axioms and merge it into a WebProtégé ontology. We might consider a format for applying a patch/diff.

Better support for multiple ontology documents

It should be easier to work with multiple ontology documents. Move to a collection of documents rather than an imports closure of documents.

OBO Style mixed hierarchy

Showing “is-a” and “part of”

Reimplementation of Forms Mechanism

Reimplement the forms mechanism using “native” GWT UI code and provide axiom templates with late binding to axioms.

Support for different source documents

Users will be able to use other types of documents (e.g., spreadsheets, document outlines, JSON files) to edit the content of the ontology. A compile function will generate at request an ontology representation using some mapping language. The main source of the content will remain the source document, and the ontology representation will be generated on-the-fly.

Support for Dead Simple OWL Design Patterns

Support transforming information entered in forms into OWL axioms using DOS-DPs

Support for reasoning

Support reasoning in WebProtégé. The reasoning will happen in the background, and users will be able to continue editing, while the reasoning is going on. The reasoner will be puggable and run as a separate service.

Better integration with Protégé Desktop

Users should be able to open an ontology from WebProtégé in Protégé desktop. It should be easy to upload/merge an ontology from Protégé desktop into WebProtégé.

Integration with BioPortal and other Ontology Repositories such as OLS

Users should be able to open an ontology from BioPortal in WebProtégé. It should be easy to publish a certain (version of an) ontology in WebProtégé to BioPortal.

Provide statistics or a dashboard for admin (and a restricted form of it to the public)

For general public (maybe as a page that can be reached through the About page): See number of users, projects, classes and/or axioms, number of daily commits (average or last), In addition, for admins only: most active projects, projects with most users, etc.

Implement an admin tool for WebProtege

Provide capabilities for:

  • Viewing/editing/deleting users,
  • Resetting passwords
  • Reassign owner of projects

Completed items

Integration with Slack

Get slack notifications when comments are posted. Consider other event types. This is tied to the Webhooks functionality.

Webhooks

Provide the ability to add notifications for certain events e.g. project change event, tag published etc. Events are posted to specified URLs. For inspiration see GitHub webhooks and Slack webhooks. Webhooks can be used to integrate WebProtégé with other apps.

Provide graphical visualisations

Graphical visualisation of class hierarchies and other relationships.