Änderungsformate

Änderungsformate dienen der Beschreibung von Änderungen an Daten. Die Formate beinhalten im Wesentlichen Anweisungen zum Hinzufügen, Entfernen und/oder Ersetzen von Elementen eines Datensatzes. Wie bei Abfragesprachen und Schemasprachen sind einzelne Änderungsformate für bestimmte Strukturierungssprachen ausgelegt.

Der Hauptanwendungsfall von Änderungsformaten sind Systeme zur Versionskontrolle. In einem Änderungsformat abgelegte Änderungen werden je nach Anwendung als Diff oder als Patch bezeichnet. Dabei handelt es sich um zwei Seiten derselben Medaille:

In der Formatdatenbank sind bislang folgende Änderungsformate erfasst:

Änderungsformat Strukturierungssprache
Linked Data Patch Format (LD Patch) RDF
Tabular Diff Format CSV
Data Modification Language (DML) SQL
SPARQL RDF
SPARQL Update RDF
SPARQL Patch RDF
RDF Patch RDF
XML Patch XML
JSON Patch JSON
Unified Diff Zeichenkette
XML Diff Language XML
PICA Patch PICA
JSON Merge Patch JSON

Änderungssprachen wie SQL DML und SPARQL Update, die Teil einer umfassenderen Datenbanksprachen sind, beinhalten im Gegensatz zu reinen Änderungsformaten komplexere Regeln unter welchen Bedingungen welche Änderungen anzuwenden sind.

Da für viele Strukturierungssprachen kein etabliertes Änderungsformat existiert, wird oft auf das Änderungsformat einer Serialisierung zurückgegriffen, also beispielsweise Unidiff statt JSON Patch für Änderungen an JSON-Daten. Ein Vorteil dieses kleinsten gemeinsamen Nenners besteht darin, dass Diff-Programme keine Kenntnis über das Strukturierungsformat haben müssen, allerdings können semantisch irrelevante Änderungen auf Syntax-Ebene so nicht erkannt werden.

Für Dokumente die gleichzeitige von mehreren Personen bearbeitet werden sollen (kollaborative Editoren), bieten sich Änderungsformate auch als primäres Dokumentformat an.