1 Punkte von eastlighting1 15 일 전 | Noch keine Kommentare. | Auf WhatsApp teilen

Ich bin ein Absolvent eines Masterstudiums aus einem Labor, das sich mit Wissensgraphen, Ontologien usw. beschäftigt hat.

Nach dem Abschluss habe ich überlegt, in welchem Bereich ich mein Profil stärken könnte, und dabei fiel mir das an der Hochschule stark betonte Thema „Open Source“ ein. Danach habe ich verschiedene Ideen durchgespielt und erinnerte mich daran, dass ich während meines Masters einmal versucht hatte, Forschung mit neo4j durchzuführen, das Vorhaben aber wegen der zu langen IO-Zeiten aufgeben musste. Deshalb entwickle ich nun mit Unterstützung eines AI Agent unter dem Thema „Graph Ecosystem“ verschiedene Graph-Bibliotheken – mit dem Ziel, Bibliotheken zu bauen, die die Leistung etablierter Libraries beibehalten und zugleich schneller sind.

  • Lynxes

    • Lynxes ist eine Dataframe-Bibliothek mit dem Ziel, eine Graph-Version von Polars zu sein. Daher stammt auch der Name: auf Pandas und Polars folgt Lynxes. (Ein Lynx ist ein Luchs.)
    • Zusätzlich habe ich ein Datenformat namens gf implementiert und im Einsatz, das dem RDF von Ontologien ähnelt.
    • Es basiert auf Apache Arrow, unterstützt aber von Haus aus kein CRUD wie ein gewöhnlicher Dataframe! Deshalb habe ich viel darüber nachgedacht, wie sich das sauber lösen lässt.
    • Wenn man sich das Benchmark ansieht, ist es ehrlich gesagt nicht schneller als etablierte Bibliotheken wie networkx oder igraph, aber für die praktische Nutzung ist es aus meiner Sicht dennoch komfortabel genug, sodass ich damit erst einmal zufrieden bin.
  • CaracalDB

    • CaracalDB ist eine Datenbank-Bibliothek mit dem Ziel, eine Graph-DB-Version von DuckDB zu sein. Dass die Struktur X + DB von DuckDB inspiriert ist, haben Sie vermutlich sofort erkannt, und beim Namen Caracal habe ich mich an GPTs Hinweis orientiert, dass ein Karakal einem Luchs ähnelt.
    • Auch CaracalDB besitzt mit .crcl eine eigene DB-Datei. Ursprünglich war es als Verzeichnisstruktur angelegt, aber nachdem ich darum gebeten hatte, es in eine Datei umzuwandeln, funktionierte es auch im Dateiformat gut, was ich sehr positiv fand.
    • Aufgrund seines Charakters als Embeded DB ist es natürlich schneller als Neo4j, das auf einen Server setzt.

Beide Bibliotheken sind bereits auf PyPI hochgeladen und können daher sofort verwendet werden.

    uv add lynxes  
    uv add caracaldb  

Außerdem führe ich Benchmarking und Optimierungen separat in diesem Repository durch.

  • TASK 1 ist Knowledge Graph, TASK 2 ist GraphRAG. Als Nächstes plane ich, mich mit GNN zu beschäftigen.

Es gibt noch viele Schwachstellen. Kritik und Hinweise wie „Warum ist das so implementiert?“ oder „Warum ist dieses Benchmark so umgesetzt?“ sind ausdrücklich willkommen.

Noch keine Kommentare.

Noch keine Kommentare.