Offener Standard

Composition Facts

Ein offener Standard für die Zusammensetzung von Nahrungs­ergänzungs­mitteln und Kosmetik – maschinenlesbar, web-nativ, gebaut für Europa.

v1.0.0-rc.1 GitHub Context JSON Schema CC BY 4.0

Ausgangslage

Nahrungsergänzungsmittel, Kosmetika und apothekenpflichtige wie freiverkäufliche Arzneimittel werden auf Websites und in Webshops – Versandapotheken wie Vor-Ort-Apotheken – nicht maschinenlesbar dargestellt. Das Produktlisting enthält bestenfalls wenige strukturierte Daten wie Produktname oder Identifier (PZN).

Was in einem Produkt steckt, steht heute überall – und nirgends. Die Zusammensetzungstabelle existiert auf der Herstellerseite als zugeklapptes HTML, im Apothekenshop als PDF, auf dem Etikett als Pflichtangabe. Als Daten existiert die Zusammensetzung nicht. Ein Sprachmodell, das nach dem Magnesiumgehalt gefragt wird, liest Fließtext von der Seite, die zufällig am besten aufbereitet ist – oft nicht die des Herstellers. Eine Apotheke, die ihr Sortiment beschreiben will, tippt ab, was der Hersteller längst weiß. Und wer sieben europäische Märkte bedient, pflegt dieselben Angaben sieben Mal in sieben Systemen.

Das Ergebnis: Die teuerste und am strengsten regulierte Information des Produkts – was drin ist und wie viel – ist die am schlechtesten verfügbare.

Nutzen von Schemas

Strukturierte Daten sind die Grundlage dafür, dass ein Produkt maschinell überhaupt korrekt eingeordnet und zitiert werden kann. schema.org ist das gemeinsame Vokabular, das Suchmaschinen und Sprachmodelle verstehen; Erweiterungen wie die Shopify Product Taxonomy setzen mit stabilen Kategorieknoten darauf auf. Für klassische Suchmaschinen heißt diese Praxis SEO, für generative KI-Systeme zunehmend GEO (Generative Engine Optimization) – in beiden Fällen entscheidet das Markup, nicht der sichtbare Text, ob ein Produkt gefunden und richtig wiedergegeben wird. Wie groß die Lücke bei Nahrungsergänzungsmitteln ist, zeigt eine einzige Zahl: schema:DietarySupplement wird laut schema.org-eigener Nutzungsstatistik von unter 1.000 Domains verwendet.

Für Apothekenshops

Sichtbarkeit läuft über Daten. KI-Suche und Agenten beantworten Produktfragen aus dem, was maschinenlesbar ist. Die Apotheke, die strukturierte Daten ausspielt, ist die Quelle, die zitiert wird.

Für Brands

Kontrolle über die eigene Aussage. Wo Plattformen Texte umschreiben, ist die strukturierte Zahl die einzige Fassung, die nicht verfälscht wird – bei gesundheitsbezogenen Angaben die Absicherung des Herstellers.

Composition Facts – eine Symbiose, nicht Konkurrenz

SystemBeitrag im Datensatz
schema.orgdie Basis – Produkte sind schema:DietarySupplement, lesbar für jede Suchmaschine und jedes Sprachmodell
Shopify Product Taxonomydie Einordnung – Kategorieknoten als stabile Verweise
GS1die Identität – GTIN, UN/ECE-Einheiten
compositionfactsdie Lücke – definiert Substanz, Menge und eine gemeinsame Bezugsgröße je Tabelle

Composition Facts definiert nur, was keines dieser Systeme hat – und spricht die Sprachen aller.

Was Composition Facts anders macht

Das vollständige Tripel – als offene Liste

Substanz, Menge und eine gemeinsame Bezugsgröße je Tabelle. Offen statt fester Spalten: funktioniert für Vitamin C genauso wie für Ashwagandha-Extrakt oder Kollagen.

Die Quellverbindung

„300 mg Magnesium aus 694 mg Magnesiummalat“ – strukturiert, mit eigenen Mengen je Verbindung. Die Information, an der Kaufberatung und KI-Antworten heute scheitern.

Claims mit Rechtsstatus

Jede gesundheitsbezogene Angabe trägt Rechtsgrundlage und Registerstatus – prüfbar für Hersteller und Plattform.

Gebaut für Europa

Texte sprachmarkiert, Marktstatus je Land, Substanzen über offene Register verankert (Wikidata, PubChem). Einmal erfasst, trägt der Datensatz in jedem Mitgliedstaat.

So sieht das aus

Am Beispiel eines echten Produkts: 300 mg Magnesium in der Tagesdosis stecken tatsächlich in 694 mg Magnesiummalat, 500 mg Magnesiumtaurinat, 400 mg Magnesiumcitrat und 334 mg Magnesiumbisglycinat – vier Verbindungen, vier Gewichte, eine gemeinsame Menge Magnesium. Auf der Herstellerseite steht dieser Zusammenhang nur in einem einzigen Wort: „aus“ – sonst nirgends, die vier Verbindungen stehen gleichrangig neben der Gesamtmenge. Composition Facts trennt das strukturiert in Substanz, Menge, Bezugsgröße und Quellverbindung:

"composition": {
  "type": "SupplementComposition",
  "basisDescription": { "de": "pro Tagesportion (2 Kapseln)" },
  "entry": [{
    "substance": { "de": "Magnesium" },
    "identifier": [{ "scheme": "wikidata", "code": "Q660" }],
    "amount": { "value": 300, "unitText": "mg" },
    "referenceIntake": 80,
    "sourceCompound": [
      { "name": { "de": "Magnesiummalat" },
        "amount": { "value": 694, "unitText": "mg" } }
    ]
  }]
}

Baumstruktur interaktiv – zoomen, Knoten auf- und zuklappen. In groß öffnen (jsoncrack.com).

Vollständige Profile mit echten Daten: naturafit Magnesium · Orthomol Immun – dieselben Daten stecken maschinenlesbar im Quelltext dieser Seite.

Das Vokabular in Zahlen

Anders als eine Produkttaxonomie, die festlegt, wo im Regal ein Produkt steht, legt Composition Facts fest, welche Felder eine Zusammensetzungstabelle überhaupt haben kann. Stand v1.0.0-rc.1:

11eigene Typen – cf:SupplementComposition, cf:NutrientDeclaration, cf:SourceCompound u. a.
45eigene Felder, zusammen mit wiederverwendeten schema.org-Properties 89 Einträge im Context
11Felder sprachmarkiert – Sprachmap statt Übersetzungskopie, ausgelegt auf sechs Länder (DE vollständig, AT/IT/BE/ES/FR als Gerüst)
3Produktklassen – SupplementComposition heute, CosmeticComposition und MedicineComposition geplant

Mitmachen

Wir freuen uns über Beiträge. Details folgen. github.com/compositionfacts/spec

Lizenz

Schema, JSON Schema und Dokumentation stehen unter CC BY 4.0 – nutzbar in jedem Produkt, auch kommerziell, einzige Bedingung ist die Namensnennung. Die Lizenz gilt für das Schema, nicht für die Daten: Produktdatensätze gehören denen, die sie erstellen.