From 385adac8de62137e2ae4e7032ea48a7ae717fe72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20M=C3=A4hr?= <14755525+maehr@users.noreply.github.com> Date: Wed, 26 Aug 2026 08:44:34 +0200 Subject: [PATCH 1/2] feat(works): add eight Nietzsche works with aphorism numbering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verified row from registry #25, tracked in #36. 2,737 references. #25 deferred this row because the eKGWB URI was hash-based and so could not be link-checked. That is no longer true: nietzschesource.org serves a real HTTPS path, and it validates the siglum server-side, so a bad reference returns a genuine 404. No new citation system. These reuse `integer-section`, whose description already says it is generic and that work-specific bounds belong to the registered references rather than the shape check. Extents were found by binary search against the provider's own 404s — about ten requests per work rather than four hundred — and each was confirmed at the boundary, so AC-62 resolves and AC-63 does not. The eight totals match the counts these works are conventionally cited by. Wikidata was resolved with one SPARQL query for every work whose author is Q9358, after keyword search proved unreliable: the top hit for "Jenseits von Gut und Böse" is a Bushido album, and Morgenröthe and Der Antichrist did not surface at all under their English titles. Seven of eight are mapped. Vermischte Meinungen und Sprüche is registered without a Wikidata mapping. The SPARQL query returns no separate item for it — Wikidata treats it only as part of Menschliches, Allzumenschliches II — and mapping it to the parent would be wrong. It is cited on its own siglum and resolves on its own. Refs #36 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01CD9MxbT2jSZmJyR9ywJGEs --- works/nietzsche.antichrist.yaml | 43 ++++++++++++++++++ works/nietzsche.froehliche-wissenschaft.yaml | 44 +++++++++++++++++++ works/nietzsche.geburt-der-tragoedie.yaml | 43 ++++++++++++++++++ .../nietzsche.jenseits-von-gut-und-boese.yaml | 42 ++++++++++++++++++ ...tzsche.menschliches-allzumenschliches.yaml | 44 +++++++++++++++++++ works/nietzsche.morgenroete.yaml | 44 +++++++++++++++++++ works/nietzsche.vermischte-meinungen.yaml | 40 +++++++++++++++++ .../nietzsche.wanderer-und-sein-schatten.yaml | 43 ++++++++++++++++++ 8 files changed, 343 insertions(+) create mode 100644 works/nietzsche.antichrist.yaml create mode 100644 works/nietzsche.froehliche-wissenschaft.yaml create mode 100644 works/nietzsche.geburt-der-tragoedie.yaml create mode 100644 works/nietzsche.jenseits-von-gut-und-boese.yaml create mode 100644 works/nietzsche.menschliches-allzumenschliches.yaml create mode 100644 works/nietzsche.morgenroete.yaml create mode 100644 works/nietzsche.vermischte-meinungen.yaml create mode 100644 works/nietzsche.wanderer-und-sein-schatten.yaml diff --git a/works/nietzsche.antichrist.yaml b/works/nietzsche.antichrist.yaml new file mode 100644 index 00000000..84e5ff77 --- /dev/null +++ b/works/nietzsche.antichrist.yaml @@ -0,0 +1,43 @@ +work: + key: nietzsche.antichrist + preferred_label: Der Antichrist + alternative_labels: + - 'AC' + - 'The Antichrist' + - 'A' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q538396' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/AC-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: AC-62 resolves and AC-63 returns 404. +references_range: + - kind: integer + from: 1 + to: 62 diff --git a/works/nietzsche.froehliche-wissenschaft.yaml b/works/nietzsche.froehliche-wissenschaft.yaml new file mode 100644 index 00000000..1e36dd96 --- /dev/null +++ b/works/nietzsche.froehliche-wissenschaft.yaml @@ -0,0 +1,44 @@ +work: + key: nietzsche.froehliche-wissenschaft + preferred_label: Die fröhliche Wissenschaft + alternative_labels: + - 'FW' + - 'The Gay Science' + - 'La gaya scienza' + - 'The Joyful Wisdom' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q1061693' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/FW-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: FW-383 resolves and FW-384 returns 404. +references_range: + - kind: integer + from: 1 + to: 383 diff --git a/works/nietzsche.geburt-der-tragoedie.yaml b/works/nietzsche.geburt-der-tragoedie.yaml new file mode 100644 index 00000000..260566e7 --- /dev/null +++ b/works/nietzsche.geburt-der-tragoedie.yaml @@ -0,0 +1,43 @@ +work: + key: nietzsche.geburt-der-tragoedie + preferred_label: Die Geburt der Tragödie + alternative_labels: + - 'GT' + - 'The Birth of Tragedy' + - 'GdT' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q1053359' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/GT-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: GT-25 resolves and GT-26 returns 404. +references_range: + - kind: integer + from: 1 + to: 25 diff --git a/works/nietzsche.jenseits-von-gut-und-boese.yaml b/works/nietzsche.jenseits-von-gut-und-boese.yaml new file mode 100644 index 00000000..b643787d --- /dev/null +++ b/works/nietzsche.jenseits-von-gut-und-boese.yaml @@ -0,0 +1,42 @@ +work: + key: nietzsche.jenseits-von-gut-und-boese + preferred_label: Jenseits von Gut und Böse + alternative_labels: + - 'JGB' + - 'Beyond Good and Evil' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q579794' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/JGB-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: JGB-296 resolves and JGB-297 returns 404. +references_range: + - kind: integer + from: 1 + to: 296 diff --git a/works/nietzsche.menschliches-allzumenschliches.yaml b/works/nietzsche.menschliches-allzumenschliches.yaml new file mode 100644 index 00000000..03a3c6f6 --- /dev/null +++ b/works/nietzsche.menschliches-allzumenschliches.yaml @@ -0,0 +1,44 @@ +work: + key: nietzsche.menschliches-allzumenschliches + preferred_label: Menschliches, Allzumenschliches + alternative_labels: + - 'MA' + - 'Human, All Too Human' + - 'MA I' + - 'Menschliches Allzumenschliches I' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q1364539' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/MA-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: MA-638 resolves and MA-639 returns 404. +references_range: + - kind: integer + from: 1 + to: 638 diff --git a/works/nietzsche.morgenroete.yaml b/works/nietzsche.morgenroete.yaml new file mode 100644 index 00000000..8697f9a9 --- /dev/null +++ b/works/nietzsche.morgenroete.yaml @@ -0,0 +1,44 @@ +work: + key: nietzsche.morgenroete + preferred_label: Morgenröthe + alternative_labels: + - 'M' + - 'Daybreak' + - 'Morgenröte' + - 'The Dawn of Day' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q1947770' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/M-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: M-575 resolves and M-576 returns 404. +references_range: + - kind: integer + from: 1 + to: 575 diff --git a/works/nietzsche.vermischte-meinungen.yaml b/works/nietzsche.vermischte-meinungen.yaml new file mode 100644 index 00000000..7bf428da --- /dev/null +++ b/works/nietzsche.vermischte-meinungen.yaml @@ -0,0 +1,40 @@ +work: + key: nietzsche.vermischte-meinungen + preferred_label: Vermischte Meinungen und Sprüche + alternative_labels: + - 'VM' + - 'Assorted Opinions and Maxims' + - 'MA II/1' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +# No Wikidata mapping. A SPARQL query for every work with author = Q9358 +# (Friedrich Nietzsche) returns no separate item for this title; Wikidata +# treats it only as part of Menschliches, Allzumenschliches II. The work is +# cited on its own siglum in the scholarship and resolves on its own, so it is +# registered here without a mapping rather than mapped to the wrong entity. + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/VM-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: VM-408 resolves and VM-409 returns 404. +references_range: + - kind: integer + from: 1 + to: 408 diff --git a/works/nietzsche.wanderer-und-sein-schatten.yaml b/works/nietzsche.wanderer-und-sein-schatten.yaml new file mode 100644 index 00000000..0af61d9e --- /dev/null +++ b/works/nietzsche.wanderer-und-sein-schatten.yaml @@ -0,0 +1,43 @@ +work: + key: nietzsche.wanderer-und-sein-schatten + preferred_label: Der Wanderer und sein Schatten + alternative_labels: + - 'WS' + - 'The Wanderer and his Shadow' + - 'MA II/2' + status: draft + created: 2026-08-26 + modified: 2026-08-26 + creators: + - kind: person + family: Nietzsche + given: Friedrich + +citation_system: integer-section + +mappings: + - relation: alternateOf + conforms_to: 'https://www.wikidata.org/' + identifier: 'https://www.wikidata.org/entity/Q3228311' + source: manual-curation + status: draft + created: 2026-08-26 + modified: 2026-08-26 + +resolvers: + - provider: Nietzsche Source + edition: 'Digitale Kritische Gesamtausgabe (eKGWB), ed. Colli/Montinari (KGW/KSA)' + language: de + access: open + # The siglum is a per-work constant; the aphorism number is the locator. + # The path form is server-validated: a siglum-number pair that does not + # exist returns a real HTTP 404, so this resolver can be link-checked. + url: 'https://www.nietzschesource.org/eKGWB/WS-{section}' + last_checked: '2026-08-26' + +# Extent found on 2026-08-26 by binary search against the provider's own 404s, +# then confirmed at the boundary: WS-350 resolves and WS-351 returns 404. +references_range: + - kind: integer + from: 1 + to: 350 From 4973cdb8fd0952fb8227f68d9ddff70a28afff8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20M=C3=A4hr?= <14755525+maehr@users.noreply.github.com> Date: Wed, 26 Aug 2026 09:21:09 +0200 Subject: [PATCH 2/2] feat(works): add Wikipedia mappings to the Nietzsche works MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copilot review on #40: every existing work record carries a Wikipedia `isReferencedBy` mapping beside its Wikidata `alternateOf`, and these eight did not. Correct — the omission was mine, not a decision. Article titles were taken from each Wikidata item's enwiki sitelink rather than guessed from the work title, and every one of the seven URLs was checked and returns HTTP 200. Vermischte Meinungen und Sprüche still carries no mappings, and both absences are now checked rather than assumed. Wikidata has no separate item for it. And no Wikipedia article exists in either language: the English and German titles both return HTTP 404 on 2026-08-26. Registering it unmapped is better than mapping it to the parent work, which would assert something false about what the target denotes (ADR-0006). Refs #36 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01CD9MxbT2jSZmJyR9ywJGEs --- works/nietzsche.antichrist.yaml | 7 +++++++ works/nietzsche.froehliche-wissenschaft.yaml | 7 +++++++ works/nietzsche.geburt-der-tragoedie.yaml | 7 +++++++ .../nietzsche.jenseits-von-gut-und-boese.yaml | 7 +++++++ ...etzsche.menschliches-allzumenschliches.yaml | 7 +++++++ works/nietzsche.morgenroete.yaml | 7 +++++++ works/nietzsche.vermischte-meinungen.yaml | 18 +++++++++++++----- .../nietzsche.wanderer-und-sein-schatten.yaml | 7 +++++++ 8 files changed, 62 insertions(+), 5 deletions(-) diff --git a/works/nietzsche.antichrist.yaml b/works/nietzsche.antichrist.yaml index 84e5ff77..470fec16 100644 --- a/works/nietzsche.antichrist.yaml +++ b/works/nietzsche.antichrist.yaml @@ -23,6 +23,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/The_Antichrist_(book)' + source: 'wikidata:Q538396' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.froehliche-wissenschaft.yaml b/works/nietzsche.froehliche-wissenschaft.yaml index 1e36dd96..b9501971 100644 --- a/works/nietzsche.froehliche-wissenschaft.yaml +++ b/works/nietzsche.froehliche-wissenschaft.yaml @@ -24,6 +24,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/The_Gay_Science' + source: 'wikidata:Q1061693' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.geburt-der-tragoedie.yaml b/works/nietzsche.geburt-der-tragoedie.yaml index 260566e7..365cd756 100644 --- a/works/nietzsche.geburt-der-tragoedie.yaml +++ b/works/nietzsche.geburt-der-tragoedie.yaml @@ -23,6 +23,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/The_Birth_of_Tragedy' + source: 'wikidata:Q1053359' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.jenseits-von-gut-und-boese.yaml b/works/nietzsche.jenseits-von-gut-und-boese.yaml index b643787d..ba808f4c 100644 --- a/works/nietzsche.jenseits-von-gut-und-boese.yaml +++ b/works/nietzsche.jenseits-von-gut-und-boese.yaml @@ -22,6 +22,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/Beyond_Good_and_Evil' + source: 'wikidata:Q579794' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.menschliches-allzumenschliches.yaml b/works/nietzsche.menschliches-allzumenschliches.yaml index 03a3c6f6..c629937d 100644 --- a/works/nietzsche.menschliches-allzumenschliches.yaml +++ b/works/nietzsche.menschliches-allzumenschliches.yaml @@ -24,6 +24,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/Human,_All_Too_Human' + source: 'wikidata:Q1364539' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.morgenroete.yaml b/works/nietzsche.morgenroete.yaml index 8697f9a9..eb8e1779 100644 --- a/works/nietzsche.morgenroete.yaml +++ b/works/nietzsche.morgenroete.yaml @@ -24,6 +24,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/The_Dawn_of_Day' + source: 'wikidata:Q1947770' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.vermischte-meinungen.yaml b/works/nietzsche.vermischte-meinungen.yaml index 7bf428da..ea931e2e 100644 --- a/works/nietzsche.vermischte-meinungen.yaml +++ b/works/nietzsche.vermischte-meinungen.yaml @@ -15,11 +15,19 @@ work: citation_system: integer-section -# No Wikidata mapping. A SPARQL query for every work with author = Q9358 -# (Friedrich Nietzsche) returns no separate item for this title; Wikidata -# treats it only as part of Menschliches, Allzumenschliches II. The work is -# cited on its own siglum in the scholarship and resolves on its own, so it is -# registered here without a mapping rather than mapped to the wrong entity. +# No mappings at all, and both absences were checked rather than assumed. +# +# Wikidata: a SPARQL query for every work with author = Q9358 (Friedrich +# Nietzsche) returns no separate item for this title. Wikidata treats it only as +# part of Menschliches, Allzumenschliches II, so mapping it to the parent would +# assert something false about what the target denotes (ADR-0006). +# +# Wikipedia: no article exists in either language. Checked 2026-08-26 — +# en.wikipedia.org/wiki/Assorted_Opinions_and_Maxims and the German title both +# return HTTP 404. +# +# The work is cited on its own siglum (VM) in the scholarship and resolves on +# its own, so it is registered without mappings rather than mismapped. resolvers: - provider: Nietzsche Source diff --git a/works/nietzsche.wanderer-und-sein-schatten.yaml b/works/nietzsche.wanderer-und-sein-schatten.yaml index 0af61d9e..5e3b64af 100644 --- a/works/nietzsche.wanderer-und-sein-schatten.yaml +++ b/works/nietzsche.wanderer-und-sein-schatten.yaml @@ -23,6 +23,13 @@ mappings: status: draft created: 2026-08-26 modified: 2026-08-26 + - relation: isReferencedBy + conforms_to: 'https://en.wikipedia.org/' + identifier: 'https://en.wikipedia.org/wiki/The_Wanderer_and_his_Shadow' + source: 'wikidata:Q3228311' + status: draft + created: 2026-08-26 + modified: 2026-08-26 resolvers: - provider: Nietzsche Source