Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specification: changes to include OWL ontologies #89

Open
sbesson opened this issue Oct 29, 2018 · 0 comments
Open

Specification: changes to include OWL ontologies #89

sbesson opened this issue Oct 29, 2018 · 0 comments
Labels
enhancement New feature or request

Comments

@sbesson
Copy link
Member

sbesson commented Oct 29, 2018

Introduction

Following the presentation of the Riken Metadatabase at the 2018 OME Users meeting, @norikoba has been driving the translation of the OME xsd schema into OWL ontology. The current version is available as an incubator project at https://gitlab.com/openmicroscopy/incubator/ome-owl/. As discussed recently during the OME team visit in Kobe, this work is now reaching production level.

The ome-model repository was created and consumed starting from Bio-Formats 5.2.0 and OME-Files 0.3.0. It is composed of two components:

  • the specification component contains the XSD schemas, the XSLT transforms and the OME-XML samples for all releases of the OME data model as well as some utility Java classes for creating objects
  • the ome-xml component contains Java and C++ code-generated classes for working with the model

This issue discusses how to integrate of the OWL ontologies as part of the specification component. None of the changes below are formally breaking the specification itself or any of the API although the new file layout would require a few changes discussed in each section.

Specifications

Each release of the data model is versioned using a calendar format of type YYYY-MM and the corresponding XSD schemas are stored under a YYYY-MM folder under specification/src/main/resources/released-schema/.

It was agreed that the OWL ontology should use the same versioning strategy YYYY-MM for consistency. We could simply introduce another top-level folder under specification/src/main/resources/. While doing so, it might be worth cleaning up the released- suffix.

Proposal

  • rename the XSD schemas folder as specification/src/main/resources/schemas/YYYY-MM/
  • update all code in specification, OME-XML Java and C++ classes as well as downstream components classes to consume the new schemas location
  • create specification/src/main/resources/ontologies/2016-06/ and move the 2016-06 ontology alongside the XSD schema

Transforms

XSLT transforms are currently located under specification/src/main/resources/transforms/. The way ttl files will be transformed between different versions of the ontology is still not clear to me. Discussions seemed to indicate a process consuming the new ontology as well as the inference engine. No action needed at the moment although transform files could be added to this folder if necessary.

Samples

For each release of the XSD schema, representative samples are created (or upgraded) under the form of OME-XML files under a specification/samples/YYYY-MM folder. @norikoba starting working on a
corresponding set of Turtle (ttl) samples for the OWL ontology.

Having a representation of each sample both in xml and ttl is valuable. Next action here is probably to look into some tooling to batch convert all XML samples into TTL. In terms of organization, having both samples under the same umbrella would be the most sensible. Primary question is whether both types of samples should be under the same folder or under separate subfolder like the specifications.

Additinoally, migrating the samples under specification/src/main/resources/ would increase consistency and simplofy the bundling of these samples if we wished so.

Proposal

  • migrate the OME-XML samples under specification/src/main/resources/samples
  • generate a set of TTL samples (maybe.ome.ttl) and add them to the same directory
  • depending on the outcome, split samples per type

Publication

Most of the OME data model resources are available online. The XSD schemas are served under https://www.openmicroscopy.org/Schemas/ e.g. https://www.openmicroscopy.org/Schemas/OME/2016-06/ome.xsd for the latest OME Data model schema. For OWL ontologies, discussion tended to go towards https://www.openmicroscopy.org/Ontologies.

In terms of process, the HTML pages above are created by the publish script at the moment which aggregates all the xsd resources and create a set of navigation HTML pages. These pages are then served statically and proxied from the main https://www.openmicroscopy.org/ website (https://github.com/openmicroscopy/prod-playbooks/blob/master/www/www-deploy.yml#L30). This primarily comes from the migration of the www.openmicroscopy.org website in Summer'18 rather than architectural design.

As we will want to create new online resources, we might want to review the publication process. One option here will be to move these pages to Jekyll. Advantages of this approach is that it unifies the process with the other front-facing resources and facilitates the integration with the OME website. In terms of deployment and review, this means we should also be able to use the GitHub pages service to deploy and review staging specification pages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant