Repository navigation
Surface the thesis's final shapes as the canonical OEKG shapes - #56
Merged
Merged
Conversation
`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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of the discussion
oekg/shapes/held the pre-rework instrument: 350 lines, targetingscenario_study(
OEO_00010252) on the oldhttp://openenergy-platform.org/namespace. It was surfaced therefor being longer than the alternative — but the thesis folded five shapes (Author,
Institution, ContactPerson, FundingSource, Technology) into
CommonShape, so the shorter317-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 oldREADME 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.txtbecomesoekg/shapes/oekg_shapes.ttl(same content,.txt→.ttl), and the pre-rework file is removed — losing nothing, since a byte-identical copy is thefrozen 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 tagenumerationmatches 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
oeplatformdata bugs that no change here can fix; 2 areenumeration drift.
docs/oekg/index.md,docs/oekg/endpoint.mdanddocs/tech-stack.mdeachasserted 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 theopposite, rather than being edited quietly.
Thesis citations. The thesis cites
oekg/oekg_rework/shaclandoekg/oekg_reworkby pathfor 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-2025at5ea4646, the last commit at which the cited pathsexisted, and
oekg/archive/madbkr_ba/README.mdgains an old→new path table.What was verified before commit
135 violations; byte-identical to the archive record (
md5 d5ab525e…)mkdocs build --strictpasses — one heading changed, and its inbound anchor link inendpoint.mdwas updated with itoekg/oekg_rework/Not in this PR
133 of 135 violations unfixable here, a blocking check against the live graph would be
permanently red
sh:inenumerations (382 OEO terms) remain hand-maintained; generating them from theOEO is tracked separately
oeplatformType of change (CHANGELOG.md)
Added
Updated
oekg/shapes/oekg_shapes.ttl, moved fromoekg/eval/oekg_shacl.txt(same content,.txt→.ttl) (#XX)oekg/eval/now holds only the competency questions; shapes work starts inoekg/shapes/(#XX)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.mdgains a Citable references convention: publications cite a tag orcommit SHA, never
/tree/<branch>/…(#XX)Removed
oekg/shapes/oekg_shapes.ttlin its pre-rework form (350 lines, old namespace, targetingscenario_study). A byte-identical copy is retained as the frozen thesis record atoekg/archive/madbkr_ba/oekg_rework/shacl/oekg_shacl_old_graph_txt(#XX)Workflow checklist
Automation
Closes #58
PR-Assignee
Reviewer