Skip to content

Surface the thesis's final shapes as the canonical OEKG shapes - #56

Merged
jh-RLI merged 1 commit into
productionfrom
wf10-canonical-shapes
Aug 14, 2026
Merged

jh-RLI merged 1 commit into
productionfrom
wf10-canonical-shapes

Conversation

@jh-RLI

@jh-RLI jh-RLI commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary of the discussion

oekg/shapes/ held the pre-rework instrument: 350 lines, targeting scenario_study
(OEO_00010252) on the old http://openenergy-platform.org/ namespace. It was surfaced there
for being longer than the alternative — but the thesis folded five shapes (Author,
Institution, ContactPerson, FundingSource, Technology) into CommonShape, so the shorter
317-line file in oekg/eval/ is its successor, not its lesser.

That mistake had a cost. The thesis supervisor, reviewing what this repository offers as its
current shapes, reported three defects as things the student "noch korrigiert haben sollte" —
lines 19, 55 and 62, all three already correct in the file that was sitting in eval/. The old
README compounded it by instructing readers that rebasing that file onto the current namespace
was the first thing future shapes work should do.

So oekg/eval/oekg_shacl.txt becomes oekg/shapes/oekg_shapes.ttl (same content, .txt →
.ttl), and the pre-rework file is removed — losing nothing, since a byte-identical copy is the
frozen thesis record in the archive. oekg/eval/ keeps only the competency questions.

Verified before moving: all 21 rows of the thesis's Tabelle 1 old→new mapping are applied in
this file with no old form remaining, and its 31-term has study descriptor tag enumeration
matches the thesis appendix exactly. Nothing newer exists — the only other candidate, on the
unmerged branch feature-add-shacl-file, is from December 2024, six months older.

Also corrects what the docs claimed. Validated 2026-08-13 with pyshacl 0.40.1 against a dump
of the live graph, these shapes bind: 1,499 focus nodes across all eight shapes, namespaces
matching exactly. 135 violations, 0.99% of 13,700 triples, against the thesis's own baseline of
55 / 0.5%. 133 of the 135 are oeplatform data bugs that no change here can fix; 2 are
enumeration drift. docs/oekg/index.md, docs/oekg/endpoint.md and docs/tech-stack.md each
asserted that no SHACL file here describes the live graph — true of the file that happened to be
in shapes/, false of the shapes that existed. Each now also says why it previously said the
opposite, rather than being edited quietly.

Thesis citations. The thesis cites oekg/oekg_rework/shacl and oekg/oekg_rework by path
for validation reports too long to print. Those paths were removed by d5d99fb "clean repo"
(2026-03-02) — not by the restructure, as previously assumed. This PR is accompanied by the
annotated tag thesis-madbkr-2025 at 5ea4646, the last commit at which the cited paths
existed, and oekg/archive/madbkr_ba/README.md gains an old→new path table.

What was verified before commit

  • The moved file reproduces the validation exactly: 1,031 shape triples, 1,499 focus nodes,
    135 violations; byte-identical to the archive record (md5 d5ab525e…)
  • mkdocs build --strict passes — one heading changed, and its inbound anchor link in
    endpoint.md was updated with it
  • Both deletions confirmed byte-identical to their archive copies beforehand
  • The tagged commit contains the cited paths: 19 files under oekg/oekg_rework/

Not in this PR

  • No CI validation job — that needs a decision about what is validated against what, and with
    133 of 135 violations unfixable here, a blocking check against the live graph would be
    permanently red
  • The 6 sh:in enumerations (382 OEO terms) remain hand-maintained; generating them from the
    OEO is tracked separately
  • The 133 upstream data bugs belong in oeplatform

Type of change (CHANGELOG.md)

Added

  • (none)

Updated

  • The OEKG's canonical SHACL shapes are now oekg/shapes/oekg_shapes.ttl, moved from
    oekg/eval/oekg_shacl.txt (same content, .txt → .ttl) (#XX)
  • oekg/eval/ now holds only the competency questions; shapes work starts in oekg/shapes/ (#XX)
  • The OEKG shapes were validated against the live graph for the first time since the rework;
    documentation claiming no SHACL file here describes the live graph corrected in
    docs/oekg/index.md, docs/oekg/endpoint.md, docs/tech-stack.md (#XX)
  • RELEASE_PROCEDURE.md gains a Citable references convention: publications cite a tag or
    commit SHA, never /tree/<branch>/… (#XX)

Removed

  • oekg/shapes/oekg_shapes.ttl in its pre-rework form (350 lines, old namespace, targeting
    scenario_study). A byte-identical copy is retained as the frozen thesis record at
    oekg/archive/madbkr_ba/oekg_rework/shacl/oekg_shacl_old_graph_txt (#XX)

Workflow checklist

Automation

Closes #58

PR-Assignee

Reviewer

  • 🐙 Follow the Reviewer Guidelines
  • 🐙 Provided feedback and show sufficient appreciation for the work done

`oekg/shapes/` held the pre-rework instrument: 350 lines, targeting
`scenario_study` (OEO_00010252) on the old `http://openenergy-platform.org/`
namespace. It was surfaced there for being longer than the alternative — but
the thesis FOLDED five shapes (Author, Institution, ContactPerson,
FundingSource, Technology) into `CommonShape`, so the shorter 317-line file in
`oekg/eval/` is its successor, not its lesser.

That mistake had a cost. The thesis supervisor, reviewing what this repository
offers as its current shapes, reported three defects as things the student
"noch korrigiert haben sollte" — lines 19, 55 and 62, all three already correct
in the file that was sitting in `eval/`. The old README compounded it by
instructing readers that rebasing that file onto the current namespace was the
first thing future shapes work should do.

So `oekg/eval/oekg_shacl.txt` becomes `oekg/shapes/oekg_shapes.ttl` (same
content, .txt -> .ttl), and the pre-rework file is removed — losing nothing,
since a byte-identical copy is the frozen thesis record in the archive.
`oekg/eval/` keeps only the competency questions.

Verified before moving: all 21 rows of the thesis's Tabelle 1 old->new mapping
are applied in this file with no old form remaining, and its 31-term
`has study descriptor tag` enumeration matches the thesis appendix exactly.
Nothing newer exists — the only other candidate, on the unmerged branch
`feature-add-shacl-file`, is from December 2024, six months older.

Also corrects what the docs claimed. Validated 2026-08-13 with pyshacl 0.40.1
against a dump of the live graph, these shapes BIND: 1,499 focus nodes across
all eight shapes, namespaces matching exactly. 135 violations, 0.99% of 13,700
triples, against the thesis's own baseline of 55 / 0.5%. 133 of the 135 are
oeplatform data bugs that no change here can fix; 2 are enumeration drift.
`docs/oekg/index.md`, `docs/oekg/endpoint.md` and `docs/tech-stack.md` each
asserted that no SHACL file here describes the live graph — true of the file
that happened to be in `shapes/`, false of the shapes that existed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jh-RLI jh-RLI self-assigned this Aug 14, 2026
@jh-RLI
jh-RLI merged commit b4604e0 into production Aug 14, 2026
1 check passed
@jh-RLI
jh-RLI deleted the wf10-canonical-shapes branch August 14, 2026 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

the OEKG's shapes/ directory holds the superseded pre-rework SHACL file

1 participant