# Registry-Standard

> Manifest-Standard, Schemas, Ontologie und Kontext, auf denen das Verzeichnis steht.

## Was es tut {#was}

Der Registry-Standard ist das Regelwerk, auf dem das Verzeichnis steht: ein Manifest-Profil über DCAT-AP-CH mit einer Erweiterung für KI-Schnittstellen, dazu JSON-Schema, JSON-LD-Kontext, SHACL-Shapes und die oh:-Ontologie. Ein Manifest ist gewöhnliches JSON in genau einer normierten Gestalt — bis hinunter zu den Bytes: feste Schlüsselreihenfolge, zwei Leerzeichen Einzug, LF, Schlusszeile, damit ein Git-Diff Inhalt trägt und nicht Stil. Das Werkzeug oh-validate fährt vier Stufen über den ganzen Korpus: JSON-Schema, JSON-LD-Rundlauf gegen den mitgelieferten Kontext, SHACL gegen die versionierten Shapes, und zuletzt den Zusammenzug aller Dokumente zu einem einzigen Graphen mit RDFC-1.0-Fingerabdruck und kritischen Invarianten als SPARQL-Abfragen. Alle Prozessoren laufen offline auf den mitgelieferten Kopien; ein fremder IRI wird verweigert statt aufgelöst. Zwei weitere Tore hängen daran: ein Siegelregister, das jede Änderung an einem Vertragsartefakt zu einer bewussten Handlung macht, und ein Deckungstor, das jeden Begriff der veröffentlichten Artefakte in der Ontologie nachweist. Was der Standard nicht tut: er nimmt niemanden auf, misst nichts und beansprucht keine Verbindlichkeit — v0.1 ist Entwurf, normativ erst nach Ratifikation durch die Standard-Kommission nach Art. 13 der Statuten.


## Selbst betreiben {#betreiben}

**Sie brauchen:**

- Rust (stable über rustup) und Git; alle Befehle laufen aus der Wurzel des Korpus-Checkouts.

Aus der Wurzel des Korpus-Checkouts, Zeile für Zeile:

```bash
cargo run --locked --manifest-path registry/standard/oh-validate/Cargo.toml -- registry/standard/schema/manifest.schema.json registry/standard/test-corpus --stage2 registry/standard/context/v1.jsonld --stage3 registry/standard/shapes/manifest-v1.ttl --stage4
```

Danach sehen Sie:

```text
checked 19 file(s): OK
```

Die vier Prüfstufen über den Testkorpus, ohne Netz. Das Siegelregister prüft: cargo run --locked --manifest-path registry/standard/seal/Cargo.toml -- --root registry/standard


## Testen {#testen}

```bash
cargo test --locked --manifest-path registry/standard/oh-validate/Cargo.toml
```

- **Aufgezeichnete Fixtures:** `registry/standard/test-corpus`
- Läuft ohne Netz: jede Antwort kommt aus dem Repository, das Ergebnis ist bei jedem Lauf gleich.

## Ansteuern {#ansteuern}

- **Öffentlich:** *noch nicht* — Die Website ist noch nicht unter openhelvetia.swiss aufgeschaltet; die Artefakte werden mit ihr unter /ns/ byte-identisch ausgeliefert.
- **Lokal:** im Website-Build unter /ns/

### Verträge

- **Manifest-Schema (datiert)** `registry/standard/schema/manifest.schema.json`
- **JSON-LD-Kontext** `registry/standard/context/v1.jsonld`
- **SHACL-Shapes** `registry/standard/shapes/manifest-v1.ttl`
- **Verzeichnis-Umschlag v0.2** `registry/standard/directory.schema.json`
- **Siegelregister** `registry/standard/artifacts.json`

### Aufruf und Optionen

```text
usage: oh-validate <manifest.schema.json> <file-or-dir>... [--stage2 <context/v1.jsonld>] [--stage3 <shapes/manifest-v1.ttl>] [--stage4] [--write]
```

## Mitwirken {#mitwirken}

Änderungen laufen über Merge Request und dieselben Gates wie für den Verein: Formatierung, Clippy ohne Warnungen, Tests, Siegel- und Drift-Prüfungen. Sicherheitsmeldungen vertraulich an admin@openhelvetia.swiss.

Die Basis-Stufe kostet nichts; wovon der Betrieb lebt, steht unter [Über uns, Finanzierung](../../../about/financing/index.html).

## Steckbrief {#steckbrief}

Zustand, Belege, Download und Abhängigkeiten stehen auf der Infrastruktur-Seite: [Registry-Standard](../../../directory/building-blocks/registry-standard/index.html).

---

Quelle: erzeugt aus public/web/modules.json
