phenoscape/owlery

By phenoscape

Updated about 3 years ago

Owlery is a set of HTTP REST web services for querying an OWL reasoner for a set of ontologies.

Image
API Management
Data Science
Integration & Delivery

2.9K

Docker container for Owlery

Docker Hub RepositoryDocker Hub Pulls

This Docker container will automatically run the owlery service, exposed on port 8080 (map to a port suitable for you on the host).

Available image tags

The following tags are currently available from Docker Hub:

  • latest: The latest release. Note that because this tag is currently not rebuilt automatically whenever a new release is made, it may in actuality be behind the latest release.
  • edge: The master branch. Note the image available from Docker Hub is the last build from master that succeeded. (You can see the current build status on Docker Hub for each tag.)
  • Release tag name: The corresponding release tag.

Runtime customization

application.conf

By defaut, the service will expect the application.conf file at /srv/conf/application.conf. Map the directory where you have your conf file to this path, or alternatively override the location on the docker run command line (append -Dconfig.file=</path/to/application.conf> after the image name; this must be a path within the container).

You can find an example application.conf file in src/main/resources/application.conf.example (relative to the project root).

Note that the owlery.port and owlery.host settings in your application.conf are irrelevant, because they are overridden in the entrypoint definition for the container.

Ontologies to be loaded

The ontologies to be loaded are defined in application.conf, section owlery.kbs (see above for example), and can be configured to be loaded from a URL, or from a file. If you have an ontology in a file, map the file into the container at /srv.

Java memory and other options

Owlery will typically benefit from a fair amount of memory. The reasoner will load into and hold in memory all ontologies you configure. By default, Java is allowed up to 8GB of memory in the container.

You can change the memory available to Java, and other options, by setting the JAVA_OPTS environment on the docker run command line, by using the --env option. Note that this will override the default setting, and hence if you set the environemnt, you must include the increased memory as well.

Build configuration

Currently the following build arguments (--build-arg command line option to docker build) are supported:

  • APP_USER and APP_GROUP: designated user and group for running the owlery process within the container (default: owlery)
  • TARGET: the target to build, as the branch, tag, or release. By default, the latest release is built (this may not be the latest tag). To build a specific branch or tag, set TARGET to the corresponding value (e.g., --build-arg TARGET=master to build from the master branch).

Docker Pull Command

docker pull phenoscape/owlery