TIDAS / TianGong Data System
KernmoduleTIDAS-Schema

Schema-Validierung

TIDAS-Datenstrukturen werden mit JSON Schema definiert. Für Stapelprüfungen dient tidas validate in der einheitlichen Rust-CLI. Der Befehl verwendet offline die in v0.1.1 enthaltenen, integritätsgesicherten JSON-Schema-, ILCD-XSD- und Regel-Assets; ein externer Quellbaum oder eine Python-Umgebung sind nicht nötig.


TIDAS-JSON-Paket validieren

tidas validate ./tidas-package \
  --input-format tidas-json \
  --issues ./issues.jsonl \
  --format json
  • Das positionsgebundene Eingabeverzeichnis enthält die kanonischen TIDAS-Kategorieunterverzeichnisse.

  • --issues schreibt den vollständigen deterministischen JSONL-Problemstrom atomar.

  • --format json beschränkt stdout auf einen stabilen maschinenlesbaren Bericht; Diagnose und Fortschritt werden über stderr ausgegeben.

  • --report <path> speichert den vollständigen Bericht atomar.

ILCD-XML-Paket validieren

tidas validate ./ilcd-package \
  --input-format ilcd-xml \
  --issues ./issues.jsonl \
  --format json

Der Validator verwendet ausschließlich die integritätsgesicherten XSD-Assets der Binärdatei und nutzt Offline-Prüfkontexte wieder.

Fingerabdrücke des Validators prüfen

Protokollieren Sie vor einem reproduzierbaren CI- oder Stapellauf die Fingerabdrücke von Prüfprotokoll, Engine und Schema-Sperre:

tidas validate --describe --format json
tidas version --format json

Das Protokoll document-validation-batch.v1 prüft genau die im Manifest genannten Dokumente und erzeugt deterministische Problemereignisse sowie einen abschließenden Nachweis-Hash:

tidas validate ./batch-root \
  --protocol document-validation-batch.v1 \
  --input-manifest ./document-validation-batch.v1.jsonl \
  --events ./validation-events.jsonl \
  --format json

Umfang der Validierung

Die TIDAS-Validierung kombiniert zwei Prüfarten:

1. Strukturprüfung nach JSON Schema

  • Fehlende Pflichtfelder prüfen

  • Feldtypen wie String oder Zahl prüfen

  • Feldwerte mit Vorgaben wie format und enum vergleichen

  • Modulübergreifende Referenzen ($ref) auflösen

2. Paket- und Klassifikationslogik

Für Klassifikationsstrukturen wie Flüsse, Prozesse und Quellen gelten zusätzlich:

  • Hierarchieprüfung: Reihenfolge der @level-Werte prüfen

  • Coderegeln: Prüfen, ob Kindcodes den Code des Elternelements als Präfix verwenden

  • Branchenzuordnung von Prozessklassifikationen: Branchenkodes gegen die nationale Abbildungslogik prüfen

  • Referenz- und Paketprüfungen: Modulübergreifende und paketbezogene Regeln aus den gesperrten Assets anwenden


Ausgabe der Prüfergebnisse

Der Standardbericht enthält begrenzte Problemzahlen und den Hash des Problemstroms; --issues bewahrt jedes einzelne Problem auf. Dokumentprobleme bedeuten, dass der Scan abgeschlossen wurde. Bericht und Exit-Status unterscheiden Datenprobleme von Protokoll- oder Laufzeitfehlern. Automatisierungen sollten den stabilen Bericht aus --format json auswerten, nicht menschenlesbare Texte vergleichen.


JSON-Schema-Felder und Module beschreibt die Datenstruktur (JSON Schema). Installation, Plattformunterstützung und die Migration früherer Befehle finden Sie bei der einheitlichen TIDAS-CLI.

Auf dieser Seite