Dokumentation

Übersicht

Tutorials
Anleitungen
Infrastruktur
Referenz
Erklärung
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

FeldFormBeispiel
$schemadatierte, unveränderliche Schema-URLhttps://ld.openhelvetia.swiss/ns/manifest/schema/2026-08-15/manifest.schema.json
@contextgenau ein Stringhttps://ld.openhelvetia.swiss/ns/manifest/v1
@idstabile HTTPS-URI; Dateiname = Slughttps://ld.openhelvetia.swiss/registry/openhelvetia-fedlex-mcp
@typekonstantManifest
titleSprach-Map, ein String je Sprache (de, fr, it, rm, en){"de": "…", "en": "…"}
publisherIRIhttps://ld.openhelvetia.swiss/org/openhelvetia
licenseIRIhttps://dcat-ap.ch/vocabulary/licenses/terms_open
interfacesArray typisierter Objekte; je Objekt Pflicht: @type, endpoint, auth.authType[{"@type": "McpInterface", "endpoint": "…", "auth": {"authType": "none"}}]
issuedISO-Datum2026-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

TypBedeutungÜbliche Probe
McpInterfaceMCP-Server, direkt von KI-Systemen nutzbarmcp-discover oder mcp-initialize
SparqlInterfaceSPARQL-Endpunkt für Linked-Data-Abfragensparql-ask
RestInterfaceREST-API; Dokumentation, z. B. OpenAPI, in docshttp-get oder http-head
DownloadInterfaceDumps und Datei-Distributionenhttp-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

  1. JSON-Schema. Struktur und Pflichtfelder, additionalProperties: false. Selbst möglich mit jedem Validator für JSON Schema 2020-12.
  2. JSON-LD-Roundtrip. Erzwingt die eine kanonische Form (Schlüsselreihenfolge, Sprachreihenfolge de/fr/it/rm/en, zwei Leerzeichen, LF). In oh-validate, Rust, offline.
  3. SHACL. Gegen die versionierten Shapes; jede Shape-Regel hat einen Negativfall, der nachweislich anschlägt.
  4. 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.