Skip to main content

Ontology Quality Suite

Python tools for checking that an OWL2 ontology stays internally consistent across versions, and that TARQL/oxi-gen CONSTRUCT-query transformation files stay aligned with the ontology(ies) they triplify against -- namespaces, class/property usage -- with suggested diffs for automated repair, either against local files or a live Fuseki (SPARQL 1.1 Protocol) triplestore.

This package carries forward the full ontology_suite pipeline from the sibling consolidated_ontology_suite checkout (OntoQA/OQuaRE metrics, SHACL+SPARQL registry checks, OWL2 profile/reasoner-backed consistency, docgen -- the same logic is also ported to TypeScript in consolidated_ontology_suite_webapp, the VS Code extension) and adds three things that didn't exist in Python before:

  • Ontology-version consistency + rename detection (ontology_suite.versioning.rename_detection) -- pairs up a version diff's removed/added classes and properties into probable renames, using either an explicit owl:equivalentClass/dcterms:isReplacedBy migration annotation (high confidence) or local-name similarity (fallback).
  • Automated repair suggestions (ontology_suite.repair, ontology_suite.checks.repair) -- turns a TARQL/ontology misalignment or a registry-check finding into a concrete unified diff: a PREFIX line fix, an IRI-rename substitution across a query file, an ontology declaration stub, or a real SPARQL 1.1 Update -- reviewable as a .patch file, or applied directly.
  • Live triplestore support (ontology_suite.remote) -- runs the same checks against a Fuseki (or any SPARQL 1.1 Protocol) dataset, named-graph aware: diff two ontology versions held as separate named graphs, run the existing registry .rq checks scoped to exactly the graphs they should see, or three-way check a live triplified named graph against its ontology graph and its local TARQL source file.

Every --ontology/--data/query-source argument throughout accepts a local file, an http(s) URL, or either gzip-compressed, transparently (see ontology_suite/io_utils.py and docs/ARCHITECTURE.md's "Loading files" section).

New here? Start with docs/PRIMER.md -- a task-oriented guide to which command answers which question, worked examples for every major use case (auditing an ontology, validating a CSV-to-RDF pipeline, releasing a new version, auto-repairing drift, taxonomy governance, live-triplestore checks, CI wiring), and a suggested adoption path. New to RDF/OWL? It opens with a short, plain-language glossary. Prefer running things over reading them? docs/primer.ipynb is a Jupyter notebook covering most of the same ground with live, executable cells against this repo's own examples/ fixtures (validated on every push by .github/workflows/notebook.yml).

See docs/CONSISTENCY_AND_REPAIR.md for the local-file workflow, docs/FUSEKI.md for the live-triplestore one, docs/ARCHITECTURE.md for the inherited pipeline this all sits on top of, and docs/UPSTREAM_README.md for that pipeline's own original README.

Want one continuous, realistic worked example instead of task-by-task fixtures? docs/ACME_ROBOTICS_WALKTHROUGH.md runs nearly every stage above against a single small org chart built on two real external vocabularies (W3C Organization Ontology, FOAF) -- with two companion notebooks, docs/acme_robotics_lifecycle.ipynb and docs/acme_robotics_data_pipeline.ipynb (also validated on every push).

Quick start

uv sync
uv run ontology-quality-suite consistency --new domain-v2.ttl --old domain-v1.ttl --queries queries/
from ontology_suite import consistency

report = consistency.check_consistency(
    "domain-v2.ttl", old_ontology="domain-v1.ttl", tarql_sources=["queries/"],
)
print(consistency.format_consistency_report(report))
consistency.apply_repairs(report.repairs, min_confidence=0.7)

CLI

ontology-quality-suite ontology            --ontology domain.ttl
ontology-quality-suite checks              --ontology domain.ttl [--data data.ttl]
ontology-quality-suite sketch              --queries queries/ [--ontology domain.ttl]
ontology-quality-suite triplify            --csv-dir csv/ --queries queries/
ontology-quality-suite data                data.ttl [more.ttl ...] [--ontology domain.ttl]
ontology-quality-suite docgen              --ontology domain.ttl
ontology-quality-suite run                 whichever of --ontology/--queries/--csv-dir/--data apply
ontology-quality-suite version-diff        old.ttl new.ttl
ontology-quality-suite consistency         --new domain.ttl [--old domain-v1.ttl] [--queries queries/] [--apply-repairs]
ontology-quality-suite consistency-remote  --query-endpoint URL --manifest graphs.json

Tests

uv run pytest

Download files

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

Source Distribution

ontology_quality_suite-0.4.0.tar.gz (629.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ontology_quality_suite-0.4.0-py3-none-any.whl (238.4 kB view details)

Uploaded Python 3

File details

Details for the file ontology_quality_suite-0.4.0.tar.gz.

File metadata

  • Download URL: ontology_quality_suite-0.4.0.tar.gz
  • Upload date:
  • Size: 629.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ontology_quality_suite-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e8f507f63c8148e769aca601d9a56e2a6a84fb01f02ca48393cb34be060bb4c8
MD5 fbb557a4b5934b013b06236b86704d47
BLAKE2b-256 8dbb91eb2b204fc13a456ab3e4069318ee8633b6acef429e5280e323b7f03e24

See more details on using hashes here.

Provenance

The following attestation bundles were made for ontology_quality_suite-0.4.0.tar.gz:

Publisher: publish.yml on pwin/consolidated-ontology-quality-suite-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ontology_quality_suite-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ontology_quality_suite-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90a37a069c023f63659bf77b14bd139e303365f290c7b77b7552e1f35a2280d1
MD5 39931e08dc765f2233f49333753c8000
BLAKE2b-256 2152c571aebea8191daf27c76238724ef02aae7ad8a2e415886dbbb9e0c6dd18

See more details on using hashes here.

Provenance

The following attestation bundles were made for ontology_quality_suite-0.4.0-py3-none-any.whl:

Publisher: publish.yml on pwin/consolidated-ontology-quality-suite-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page