Digital Farming Training Machine Learning Graph Datenbank

Verifizierung und Optimierung einer Graph Datenbank

Projektziel

Der Schwerpunkt des Projekts bestand darin, die Graph-Daten für das Training von Machine Learning Modellen zu nutzen. Aus diesem Grund wurden verschiedene Szenarien für Datenexport, -import und automatisierte Verarbeitungspipelines erstellt. In diesem Prozess wurde das gesamte Graph-Schema und die Inhalte gegen die ursprüngliche SQL-Datenbank verglichen und validiert, um zusätzliche Optimierungsansätze abzuleiten. Auch verschiedene Optionen zur Erweiterung des Graph-Schemas mit zusätzlichen Daten für weitere Analysen wurden evaluiert. Insbesondere die Integration von Wetterdaten, die in der SQL-Datenbank nicht abgedeckt wurden, war ein Ziel für dieses Projekt.

Es sollte dabei eine effiziente Möglichkeit geschaffen werden, Daten aus dem Graphen zu extrahieren und über Python- und R-Entwicklungsumgebungen zurückzuschreiben. Somit sollen Machine Learning Modelle dynamisch trainiert und auf die Daten des Graphen angewendet werden.

Graph Datenbank used tools SQL Neo4j Python and R

The neo4j graph is fed by an SQL database and should be used for flexible queries to forward data to development environments.

Herausforderungen

Eine verallgemeinerte Dokumentation der komplexen Graphenstruktur ist eine Herausforderung. Außerdem mussten Standardabfragen und Aliase für die Entitäten definiert und dokumentiert werden.

Angewandte Methoden (Umsetzung)

  • Verifizierung: Durch den Export von Daten aus der SQL- und der Graph-Datenbank in dasselbe tabellenbasierte Datenformat konnte ein vollständiger Vergleich beider Datenbanken durchgeführt werden. Die Unterschiede wurden bis zu ihrem Kern zurückverfolgt, und es wurden Empfehlungen für Änderungen im Graph-Schema abgeleitet, um sicherzustellen, dass in Zukunft keine Informationen verloren gehen.
  • Abfragen und Integration: Um die Datenextraktion zu vereinheitlichen, wurden Richtlinien für Abfragen zur optimalen Datenextraktion sowie Abfragevorlagen und Standard-Aliase definiert. Als Schnittstelle zu externen Entwicklungsumgebungen wurde ein Python-BOLT-Treiber in einer Pipeline für maschinelles Lernen implementiert.

Projektergebnis

In diesem Projekt wurde unter anderem ein Empfehlungskatalog erstellt:

  • Änderungen der Syntax und des Datentyps
  • Schema-Abgleiche zur Optimierung häufiger Abfragen zur Leistungssteigerung
  • Datenbankoptimierungen
  • Korrekturen möglicher Schema-Deadlocks
  • Integration von Wetterdaten und weiteren Datenquellen.

Als Schnittstelle zu Entwicklungsumgebungen wurde eine Python / R-Pipeline aufgebaut. Durch Integration in Analysewerkzeuge kann der Graph bei Bedarf abgefragt werden, so dass die Ergebnisse für das Training von Machine Learning Modellen genutzt und direkt auf weitere Daten angewendet werden können.

Kategorie

COMPUTATIONAL LIFE SCIENCE

Technologien

Neo4j
SQL
R
Python

Download

Social Sharing

Weitere Use Cases dieser Kategorie

Alle Use Cases im Überblick

Kontakt

Stefanie Supper
CEO

Kontakt

Stefanie Supper
CEO