Referenz · Nachschlagen, während man arbeitet
Manifest-Standard v0.1
Die neun Pflichtfelder, die vier Schnittstellentypen, die vier Prüfstufen und die typischen Fehler.
Auf dieser Seite
Diese Zusammenfassung ist nicht normativ; Wortlaut und Details regelt allein die Standard-Quelle im Register-Repository (registry/standard/README.md). Version 0.1, Entwurf vom 15.08.2026, verbindlich erst nach Ratifikation durch die Standard-Kommission (Art. 13 Statuten).
Pflichtfelder
| Feld | Form | Beispiel |
|---|---|---|
$schema | datierte, unveränderliche Schema-URL | https://ld.openhelvetia.swiss/ns/manifest/schema/2026-08-15/manifest.schema.json |
@context | genau ein String | https://ld.openhelvetia.swiss/ns/manifest/v1 |
@id | stabile HTTPS-URI; Dateiname = Slug | https://ld.openhelvetia.swiss/registry/openhelvetia-fedlex-mcp |
@type | konstant | Manifest |
title | Sprach-Map, ein String je Sprache (de, fr, it, rm, en) | {"de": "…", "en": "…"} |
publisher | IRI | https://ld.openhelvetia.swiss/org/openhelvetia |
license | IRI | https://dcat-ap.ch/vocabulary/licenses/terms_open |
interfaces | Array typisierter Objekte; je Objekt Pflicht: @type, endpoint, auth.authType | [{"@type": "McpInterface", "endpoint": "…", "auth": {"authType": "none"}}] |
issued | ISO-Datum | 2026-08-26 |
Optional und empfohlen: description und keyword (Sprach-Maps), landingPage, conformsTo, legalBasis, exactMatch, modified; je Schnittstelle docs, conformsTo, tier und probe. Unbekannte Schlüssel sind Validierungsfehler.
Schnittstellentypen
| Typ | Bedeutung | Übliche Probe |
|---|---|---|
McpInterface | MCP-Server, direkt von KI-Systemen nutzbar | mcp-discover oder mcp-initialize |
SparqlInterface | SPARQL-Endpunkt für Linked-Data-Abfragen | sparql-ask |
RestInterface | REST-API; Dokumentation, z. B. OpenAPI, in docs | http-get oder http-head |
DownloadInterface | Dumps und Datei-Distributionen | http-head |
auth.authType: none · apikey · oauth2 · other. tier je Schnittstelle: base (zustandslos, günstig) · semantic · generative. Die Zuordnung Typ → Probe ist üblich, nicht vorgeschrieben; der Standard schliesst nur die Liste der Probe-Arten.
So wird geprüft
- JSON-Schema. Struktur und Pflichtfelder,
additionalProperties: false. Selbst möglich mit jedem Validator für JSON Schema 2020-12. - JSON-LD-Roundtrip. Erzwingt die eine kanonische Form (Schlüsselreihenfolge, Sprachreihenfolge de/fr/it/rm/en, zwei Leerzeichen, LF). In
oh-validate, Rust, offline. - SHACL. Gegen die versionierten Shapes; jede Shape-Regel hat einen Negativfall, der nachweislich anschlägt.
- Gesamtgraph. Nach dem Merge: RDFC-1.0-Fingerabdruck und kritische Invarianten als SPARQL-Abfragen; jede Verletzung nennt ihre Knoten.
Alle vier Stufen laufen als Gate vor jeder Änderung am Register.
Typische Fehler
"@context": [ … ]— Arrays und Inline-Kontexte sind unzulässig; genau ein String"title": "…"— Titel ist eine Sprach-Map, kein String"license": "CC BY 4.0"— Lizenz ist eine IRI; bei 10 von 19 erprobten Quellen war sie maschinell nicht eindeutig"licence": …— unbekannter Schlüssel: Validierungsfehler, kein stilles Ignorieren- Dateiname ≠ Slug der
@id— Dateiname = Slug, registry-weit eindeutig
Erprobung
Der Standard ist gegen einen internen Testkorpus aus 19 realen Schweizer Datenquellen entwickelt und validiert. Der Korpus ist Erprobungsmaterial, kein Verzeichnisinhalt. Ein Befund daraus: Bei 10 der 19 Quellen ist die Lizenz maschinell nicht eindeutig auswertbar, der Grund für die Lizenz als Pflichtfeld mit IRI.
Dateien
Kanonischer Daten-Host ist https://ld.openhelvetia.swiss (Spiegel w3id.org/openhelvetia). Im Repository: registry/standard/README.md (normative Quelle), context/v1.jsonld, frame/v1.frame.jsonld, schema/manifest.schema.json, oh-validate/. Öffentlich ausgeliefert, byte-identisch: /ns/manifest/v1 und /ns/manifest/schema/2026-08-15/manifest.schema.json.