Materialize RDF knowledge graphs from RML/YARRRML mappings with Morph-KGC compatibility
Project description
worph
worph is a public project at wordlift/worph, forked from morph-kgc. It keeps compatibility with retained morph_kgc imports while evolving the primary implementation under src/worph/.
Table of Contents
- Overview
- Repository Layout
- Quick Start
- CLI Commands
- Testing
- Compatibility
- Documentation
- Release
- License
Overview
worph provides RML/YARRRML materialization flows with compatibility for existing morph_kgc consumers. The codebase includes regression suites and compatibility shims used in CI to validate behavior against retained tests.
Repository Layout
src/worph/: primary package implementation.ci_shims/morph_kgc/: compatibility shim re-exporting fromworphtest/: regression and issue-driven test suitesexamples/: runnable configs and sample scriptsspecs/: compatibility, playbook, and agent-guidance documentsspecs/agents/: specialist subagent briefs used during planning/reviewdocs/: operational documentation
Quick Start
uv sync --extra test
uv run python -m worph examples/csv/config.ini
CLI Commands
Run using the package entrypoint:
uv run worph examples/json/config.ini
Equivalent module form:
uv run python -m worph examples/xml/config.ini
Testing
Run full CI-aligned tests with shim compatibility enabled:
PYTHONPATH=.ci_shims:src uv run pytest -q
Run the explicit shim validation test:
PYTHONPATH=.ci_shims:src uv run pytest -q test/test_ci_shim_uses_worph.py
Compatibility
Some retained tests still import morph_kgc. CI sets PYTHONPATH=.ci_shims:src so imports resolve to .ci_shims/morph_kgc first, then delegate to worph.
Documentation
Release
Publishing to PyPI is handled inside .github/workflows/ci.yml.
- Trigger: push a version tag like
0.1.7orv0.1.7 - Gate:
publishjob runs only aftertest-and-examplessucceeds - Auth: PyPI Trusted Publisher (OIDC)
Trusted Publisher settings on pypi.org:
- Owner:
wordlift - Repository:
worph - Workflow name:
ci.yml - Environment: empty (unless you add one in GitHub)
License
All code and documentation in this repository are licensed under the Apache License 2.0.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file worph-0.1.7.tar.gz.
File metadata
- Download URL: worph-0.1.7.tar.gz
- Upload date:
- Size: 558.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5e249b9a6c7c6e8cec24280c0c2b48a67412d01a8d3c6951cc4dad0b4c618f9
|
|
| MD5 |
292f6fb05f34ef95de98d324718a985e
|
|
| BLAKE2b-256 |
da8daa96b21356760ad5024f5c668bfde3f3c104c8820465b18efb959ef2dd3e
|
Provenance
The following attestation bundles were made for worph-0.1.7.tar.gz:
Publisher:
ci.yml on wordlift/worph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
worph-0.1.7.tar.gz -
Subject digest:
e5e249b9a6c7c6e8cec24280c0c2b48a67412d01a8d3c6951cc4dad0b4c618f9 - Sigstore transparency entry: 1254590604
- Sigstore integration time:
-
Permalink:
wordlift/worph@8c4282173220521052bddef617ab911dcc6c28ea -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/wordlift
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@8c4282173220521052bddef617ab911dcc6c28ea -
Trigger Event:
push
-
Statement type:
File details
Details for the file worph-0.1.7-py3-none-any.whl.
File metadata
- Download URL: worph-0.1.7-py3-none-any.whl
- Upload date:
- Size: 42.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a22ee779f26beaaa8432195a3c7292acf39f447baf4fe6a5bff492a9cf127b0
|
|
| MD5 |
704dfae05a0100c6401c2783a753ace9
|
|
| BLAKE2b-256 |
6e6aca595a94ff9f9955d99fea5c7143670e3f21d2ed6e5918b9f84938505fcd
|
Provenance
The following attestation bundles were made for worph-0.1.7-py3-none-any.whl:
Publisher:
ci.yml on wordlift/worph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
worph-0.1.7-py3-none-any.whl -
Subject digest:
0a22ee779f26beaaa8432195a3c7292acf39f447baf4fe6a5bff492a9cf127b0 - Sigstore transparency entry: 1254590718
- Sigstore integration time:
-
Permalink:
wordlift/worph@8c4282173220521052bddef617ab911dcc6c28ea -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/wordlift
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@8c4282173220521052bddef617ab911dcc6c28ea -
Trigger Event:
push
-
Statement type: