Skip to main content

DOI Project Status - Active GitHub - Release Date - PublishedAt GitHub - Last Commit - Branch PyPI - Project Language - Version CodeFactor Grade pre-commit pre-commit.ci status License - GitHub

OntoUML JSON2Graph

OntoUML JSON2Graph logo

ontouml-json2graph transforms OntoUML JSON projects into RDF graphs that use the OntoUML Vocabulary. It can retain project and diagrammatic information or produce a model-only graph.

Use the command-line interface to convert files directly, or the supported Python API to obtain an RDFLib Graph. The package supports Python 3.10 or newer.

Installation

pip install ontouml-json2graph

Command-line quick start

Convert one JSON file to Turtle in the current directory:

python -m json2graph.decode -i my_ontology.json

Choose an output directory and serialization explicitly:

python -m json2graph.decode -i my_ontology.json -o results -f json-ld

Convert every .json file directly inside a directory:

python -m json2graph.decode -a -i models -o results

Display all supported options and their defaults with:

python -m json2graph.decode --help

Python quick start

from json2graph.library import decode_json_project, save_graph_file

graph = decode_json_project("my_ontology.json")
save_graph_file(graph, "my_ontology.ttl", "ttl")

The supported public API consists of:

  • decode_json_project for model and diagrammatic information;
  • decode_json_model for model-only output; and
  • save_graph_file for explicit RDF serialization.

Important behavior

  • Without an explicit base URI, the package derives a deterministic urn:uuid: namespace from the parsed JSON content.
  • The default policies preserve invalid stereotypes and cardinality source values where possible, omit unresolved diagrammatic modelElement references, and warn about information that the vocabulary cannot represent.
  • The correct option enables a legacy set of class and property corrections. It is independent of the explicit policy options.
  • Input is decoded as UTF-8, with a warned CP1252 fallback. The package expects the OntoUML JSON structure but does not perform JSON Schema validation.
  • Complete-project output is not a guarantee of lossless reconstruction. Path point order, non-empty propertyAssignments, and legacy diagrammatic Text.value content have no direct normative representation in OntoUML Vocabulary 1.1.1.

See the documentation for the complete CLI and Python guides, policy consequences, diagnostics, limitations, and 1.x-to-2.0 migration guidance.

Development

Install the project and development dependencies with Poetry:

poetry install

Run the primary validation commands from the repository root:

poetry check --strict --lock
poetry run python update_documentation.py
poetry run pytest
poetry run pre-commit run --all-files

Generated Sphinx HTML is written to docs/_build/html and is not committed.

Author and organization

The author of ontouml-json2graph is Pedro Paulo Favato Barcelos.

Personal website GitHub profile LinkedIn profile ORCID profile

The project is maintained in the OntoUML organization, linked to the Semantics, Cybersecurity & Services Group at the University of Twente, The Netherlands.

The software is distributed under the Apache License 2.0.

Metadata

Release files for ontouml-json2graph 2.0.1

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

Source distribution (sdist)

Source distribution for ontouml-json2graph 2.0.1
File Size Uploaded
ontouml_json2graph-2.0.1.tar.gz 199.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ontouml-json2graph 2.0.1
File Interpreter ABI Platform
ontouml_json2graph-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 421.7 kB

Release files / ontouml_json2graph-2.0.1.tar.gz

Download URL ontouml_json2graph-2.0.1.tar.gz
Size 199.9 kB
Tags Source
SHA-256 checksum
How to use checksums
31e97ea32da26ee8174e3d34928c47af2aac9f6e862082fa29b727e329f0ef62
BLAKE2b-256 checksum
How to use checksums
a7210825c9cfbdf6f0448031351ca9567f34d39d1ad1fc13acc7c429f06f1793
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.13.7 Windows/11

Release files / ontouml_json2graph-2.0.1-py3-none-any.whl

Download URL ontouml_json2graph-2.0.1-py3-none-any.whl
Size 221.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
607e43541f999a0bf2abb9f585962118e96f2d297b6eab45da8c62c7f36798c6
BLAKE2b-256 checksum
How to use checksums
9745eaea7ad82496d26dfac451ee61bb94a8bf7231463963aea84d31639fa764
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.13.7 Windows/11

Release history Release notifications | RSS feed

2.0.2

2 release files

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.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