Skip to main content

The aim of this project is to specify a simple OWL design pattern system that can easily be consumed, whatever your code base.

Project description

Build Status

Dead simple owl design pattern (DOS-DP) exchange format

For details please see:

Dead Simple OWL Design Patterns David Osumi-Sutherland, Melanie Courtot, James P. Balhoff and Christopher Mungall Journal of Biomedical Semantics 2017 8:18 DOI:10.1186/s13326-017-0126-0

Motivation

The job of editing the GO and many other OBOish OWL ontologies increasingly involves specifying OWL design patterns. We need a simple, light-weight standard for specifying these design patterns that can then be used for generating documentation, generating new terms and retrofitting old ones. The solution must be readable and editable by anyone with a basic knowledge of OWL and the ability to read manchester syntax. It must also be easy to use programatically without the need for custom parsers - i.e. it should follow some existing data exchange standard.

Human readability and editability requires that Manchester syntax be written using labels, but sustainability and consistency checking requires that the pattern record IDs.

Approach

  • Patterns are specified in the subset of YAML that can be converted to JSON.

    • JSON format is the ideal exchange format for programatic consumption: It is already javascript; Standard libraries are available to convert it into datastructures in many languages;Developers are typically experienced at consuming it.
    • But YAML is much easier than JSON for humans to edit (it can be difficult for human editors to keep curly braces and quotes balanced and to add commas correctly in JSON). YAML also has the great advantage over JSON of allowing comments to be embedded. Conversion between YAML and JSON is trivial
  • All patterns contain dictionaries (hash lookups) that can be used to lookup up OWL shortform IDs from labels. OWL ShortFormIDs are assumed to be sufficient for entity resolution during usage of the pattern. Labels are assumed to be sufficient for entity resolution within a pattern.

  • Variable interpolation into Manchester syntax and text is specified using printf format strings. Variable names are stored in associated lists.

  • Variables are specified in a dictionary with variable name as key and value as range specified as a Manchester syntax expresssion.

DOSDP Specification:

JSON schema specification in YAML.

The same specification rendered in mardown, with references resolved. This is generated from the original spec using the dosdp document command (see below for details).

Setup

pip install dosdp

See https://pypi.org/project/dosdp/

Validator spec

See validator documentation

Documentation generation spec

See documentation_generation

Implementation

The aim of this project is to specify a simple design pattern system that can easily be consumed, whatever your code base. This repository includes a simple Python validator (src/simple_pattern_tester.py).

For implementation, we recommend dosdp-tools.

Uses

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dosdp-0.1.9.dev1.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

dosdp-0.1.9.dev1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file dosdp-0.1.9.dev1.tar.gz.

File metadata

  • Download URL: dosdp-0.1.9.dev1.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for dosdp-0.1.9.dev1.tar.gz
Algorithm Hash digest
SHA256 08a26c83feeed4d74a4e71a31a40431ce06af0a35871045264103f8927150bd7
MD5 edadaf4d0d964d8fb7f11fb0891ac89d
BLAKE2b-256 09a297742dc8cd4f654110ea92105f115f2a649cefd81d91ca68c0f0315e6c2c

See more details on using hashes here.

File details

Details for the file dosdp-0.1.9.dev1-py3-none-any.whl.

File metadata

  • Download URL: dosdp-0.1.9.dev1-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for dosdp-0.1.9.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 2890e0c07ebd08ffe1e79c63b7d8920e1a0efb711c7b35f558d286a02fae885e
MD5 86cbb5aa8055f45558c34ea73173b2bf
BLAKE2b-256 314911bebaab60dd4b2282ede5b746a01b306222c9185de29f22b37be3cf080f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page