Skip to main content

OntoInk

Interactive ontology visualization, SHACL validation, and live TTL editing for MkDocs.

CI PyPI Python License: MIT

OntoInk is a MkDocs plugin that turns RDF/Turtle files into interactive, publication-ready ontology diagrams with SHACL constraint visualization. Write a code block in your markdown and OntoInk renders a fully interactive graph.

Live demo & full documentation →

Install

pip install ontoink

Use

# mkdocs.yml
plugins:
  - search
  - ontoink

markdown_extensions:
  - pymdownx.superfences:
      preserve_tabs: true
```ontoink
source: shapes/foaf-person/shape-data.ttl
shape: shapes/foaf-person/shape.ttl
height: 600px
```

Then mkdocs serve. See Getting Started for all fence options, GitHub Pages deployment and reasoner setup.

What you get

  • Interactive graphs — formal ontology notation, six layouts, pan/zoom/search, minimap, level-of-detail and clustering for large ontologies, style presets (OntoInk, Chowlk, Graffoo, VOWL)
  • Editable layout — colours, shapes, edge styles, shape size and fonts; multi-select with Ctrl+click and a right-click menu for align / distribute / arrange, selection-scoped ontology actions, and undo
  • SHACL — constraint overlay on the graph, build-time validation with pySHACL, live re-validation in the inline TTL editor
  • Shape recommendation — generate sh:NodeShapes for classes with no coverage, from instance data and OWL axioms, with the evidence behind every constraint; or right-click a class and accept proposed constraints one click at a time as they appear on the graph
  • OWL reasoning — HermiT, Konclude (native or WASM) or owlrl, with inferred triples overlaid on the graph, consistency checking, and a proof tree explaining any inference the in-page reasoner made
  • CI gates — competency questions as executable fences, shape-drift detection, plus ontoink-report.json and README badges written on every build
  • Analytics — ontology metrics, SHACL coverage, shortest paths, in-page SPARQL, and OntoSniff quality checks with a 0–100 score
  • Publication-ready export — PNG/SVG with legend and namespace prefixes, plus TTL download
  • Browser-only tools — Playground · SHACL Editor · SPARQL Explorer · OntoSniff
  • Embeddable — ontoink.embed() mounts a graph in any page, under a strict CSP, with no CDN

Documentation

Getting Started install, configure, deploy
Embedding use OntoInk outside MkDocs
Docker & self-hosting production image, reasoner backends, API mode
Architecture how it works and why
Changelog what changed in each release

Development

git clone https://github.com/ISE-FIZKarlsruhe/ontoink.git
cd ontoink
pip install -e ".[dev]"
pytest -v          # see TESTING.md for the full local test guide
cd demo && mkdocs serve

Contributions welcome — please open an issue first to discuss proposed changes, add tests, and make sure pytest passes.

Requirements

Python ≥ 3.9 · MkDocs ≥ 1.4 · rdflib ≥ 6.0 · pySHACL ≥ 0.25 · pymdown-extensions ≥ 10.0. Browser-side dependencies (Cytoscape.js, dagre, CodeMirror) are vendored — no npm, no CDN.

License & citation

MIT — see LICENSE. If you use OntoInk in published work, please cite it via CITATION.cff; when using either Konclude backend, additionally cite Liebig et al. (2014), Konclude: System Description, Journal of Web Semantics 27-28, 78-85. See NOTICE for full attribution of the bundled reasoners.

Author

Ebrahim Norouzi — FIZ Karlsruhe, ISE. Developed in the context of NFDI and NFDI-MatWerk; visualization powered by Cytoscape.js.

Metadata

Release files for ontoink 0.7.8

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

Source distribution (sdist)

Source distribution for ontoink 0.7.8
File Size Uploaded
ontoink-0.7.8.tar.gz 3.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ontoink 0.7.8
File Interpreter ABI Platform
ontoink-0.7.8-py3-none-any.whl Python 3 none any Details

Total release size: 5.9 MB

Release files / ontoink-0.7.8.tar.gz

Download URL ontoink-0.7.8.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
3ec48ccea4cad8a2fe1ea44d99ca5feb25d1099b45ba47ebc63fb5f7dca393ea
BLAKE2b-256 checksum
How to use checksums
ac96476891199d8cd9bb106266b0537b64f7e6646d76601353d9c1b0b8fa0e36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / ontoink-0.7.8-py3-none-any.whl

Download URL ontoink-0.7.8-py3-none-any.whl
Size 2.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0b06ce724607adf475fdddbb1d8c796dd8a86517a31f5b820b01d8137a38cb34
BLAKE2b-256 checksum
How to use checksums
a967b1742fcfe54ff953bdfacc96611881e2f9fca92c711e20bda899d8704a11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.9

2 release files

This release

0.7.8 This release

2 release files

0.7.7

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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