Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Metadata

Release files for dosdp 0.1.10.dev1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dosdp 0.1.10.dev1
File Size Uploaded Provenance Actions
dosdp-0.1.10.dev1.tar.gz 23.3 kB Without provenance Details for dosdp-0.1.10.dev1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dosdp 0.1.10.dev1
File Interpreter ABI Platform Actions
dosdp-0.1.10.dev1-py3-none-any.whl Python 3 none any Details for dosdp-0.1.10.dev1-py3-none-any.whl

Total release size: 48.6 kB

Release files / dosdp-0.1.10.dev1.tar.gz

Download URL dosdp-0.1.10.dev1.tar.gz
Size 23.3 kB
Tags Source
SHA-256 checksum
How to use checksums
772738e38d6252c324dd4768d5871e4e746695ca079a8a813130d27cadcf53bb
BLAKE2b-256 checksum
How to use checksums
74b316304f82564bfe0c1ff5c4804746b85603a8303b98e09ae0bff53e36a4fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

Release files / dosdp-0.1.10.dev1-py3-none-any.whl

Download URL dosdp-0.1.10.dev1-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c69f7ea9a02dfbb4f055d4329367c99b223cce80b49a687fef5580c323a82179
BLAKE2b-256 checksum
How to use checksums
a082425b457b014d5af58f74eb72d24135185fc4686fb4e0107c51a109c22a4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

Security for dosdp 0.1.10.dev1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page