Für Techniker
Hier darf es technisch werden. Ein Überblick über die Architektur und Technologien hinter ChangingGraph.
Warum ein Knowledge Graph?
Daten in isolierten Datenbanken sind schwer zu verknüpfen. Ein Knowledge Graph macht Beziehungen zur nativen Datenstruktur.
Vergleich: Relationale DB vs. Graph
| Aspekt | Relationale DB | Knowledge Graph |
|---|---|---|
| Struktur | Starre Tabellen | Flexible Tripel (Subject-Predicate-Object) |
| Beziehungen | Foreign Keys, JOINs | Native Kanten |
| Schema | Schema-Änderung aufwändig | Erweiterbar ohne Migration |
| Semantik | Keine eingebaute Bedeutung | Ontologien definieren Bedeutung |
| Interoperabilität | Proprietär | Offene Standards (RDF, SPARQL) |
ActivityPub: Mehr als Microblogging
Das Fediverse kann mehr als Microblogging. Viel mehr. Aber wir verhalten uns wie Neandertaler mit einem Stein, obwohl eine Bohrmaschine neben uns liegt.
ActivityPub wurde für beliebige Objekttypen spezifiziert – aber fast jede Implementierung reduziert es auf Notes und die Mastodon-API. Ein Flohmarkt-Artikel wird als Note verschickt. Ein Point of Interest existiert nicht. Die Client-to-Server-API ist quasi tot.
ChangingGraph ändert das:
- Semantische Objekte statt Notes: Ein Lebensmittel, ein Ort, ein Angebot, ein Rezept – Objekte im Fediverse können endlich das sein, was sie sind, nicht nur Text mit einem Hashtag.
- SKOS-Taxonomien statt Hashtags: Ein spezielles SKOS-Tag an ActivityPub-Objekten sagt konkret, zu welcher Taxonomie ein Objekt gehört. #regional kann alles bedeuten – ein SKOS-Konzept ist eindeutig.
- Client-to-Server API: ChangingGraph implementiert die C2S-API von ActivityPub. Nicht nur Server-zu-Server – Clients können direkt mit der Instanz interagieren.
- Föderierte Wissensgraphen: Nicht noch eine Plattform, sondern die Infrastruktur, die es ermöglicht, dass verteilte Daten sich finden, ohne redundant zu sein.
Technologie-Stack
RDF (Resource Description Framework)
ChangingGraph basiert auf RDF – dem W3C-Standard für verknüpfte Daten.
Grundprinzip: Alles ist ein Tripel.
<Apfel> <istEin> <Obst> .
<Apfel> <enthält> <VitaminC> .
<VitaminC> <menge> "5mg/100g" .
SPARQL
Die Abfragesprache für RDF. Ähnlich wie SQL, aber für Graphen.
Beispiel: Finde alle Lebensmittel mit viel Vitamin C
SELECT ?food ?vitaminC WHERE {
?food a cg:Food ;
cg:hasNutrient ?nutrient .
?nutrient cg:nutrientType "Vitamin C" ;
cg:amount ?vitaminC .
FILTER(?vitaminC > 20)
}
Ontologien
ChangingGraph nutzt bestehende Ontologien und erweitert sie:
- FoodOn – Food Ontology (Lebensmittel-Klassifikation)
- ChEBI – Chemical Entities (Inhaltsstoffe)
- Wikidata – Verknüpfungen zu Allgemeinwissen
- SKOS – Taxonomien und Klassifikationen
Datenquellen
ChangingGraph integriert Daten aus verschiedenen Quellen:
Bundeslebensmittelschlüssel (BLS)
Deutsche Referenzdatenbank mit ~7.000 Lebensmitteln und ~120 Nährstoffen pro Lebensmittel.
- Wissenschaftlich validiert (Max Rubner-Institut)
- Tiefe Nährstoffanalyse (Aminosäuren, Fettsäuren, Vitamine, Mineralstoffe)
Open Food Facts (geplant)
Crowd-sourced Produktdatenbank mit Barcodes und Markenprodukten.
Anreicherung
Alle Daten werden mit SKOS-Taxonomien angereichert und mit Wikidata, ChEBI und FoodOn verknüpft.
Architektur-Prinzipien
Design-Ziele:
- Modular: Komponenten sind austauschbar
- Föderierbar: Mehrere Instanzen können miteinander kommunizieren
- Open Standards: RDF, SPARQL, ActivityPub
- Data Sovereignty: Nutzer kontrollieren ihre Daten
Multi-Repository-Design
Daten sind nach Domänen getrennt:
- Food Catalog: Lebensmittel, Nährstoffe, Rezepte
- Actors: Menschen, Initiativen, Organisationen
- User Data: Persönliche Ernährungsdaten, Symptome
Content-Addressed Storage
Versionierung über Content-Hashes – ähnlich wie Git.
Jede Änderung an Daten erzeugt eine neue Version, alte Versionen bleiben verfügbar.
Für Forscher
ChangingGraph soll langfristig Forschung ermöglichen:
- SPARQL Endpoint: Für komplexe Abfragen über die aufbereiteten Daten (API-Zugang kostenpflichtig)
- Anonymisierte Daten: Für Ernährungsstudien (DSGVO-konform)
- Datenquellen: Basiert auf öffentlichen Daten (BLS, OpenFoodFacts) – der Mehrwert liegt in der semantischen Vernetzung und Aufbereitung
Für Entwickler
ChangingGraph ist offen für Kooperationen:
- Standardbasiert: RDF, SPARQL, ActivityPub
- Föderiert: Eigene Instanzen denkbar
- Erweiterbar: Module und Extensions möglich
Open Source Ziel: Sobald durch Mitglieder und Spenden tragfähig finanziert.
Interesse an Kooperation oder technischem Austausch?
Kontakt: office@gsund.rocks
ChangingGraph