1 ポイント 投稿者 eastlighting1 15 일 전 | まだコメントはありません。 | WhatsAppで共有

私は知識グラフやオントロジーなどを扱う研究室で修士を修了した学生です。

修了後、自分はどんな部分で実績を積めるだろうかと考えていたところ、大学で強調されていた「オープンソース」を思い出しました。その後、いろいろなアイデアを出しているうちに、修士時代にneo4jを使った研究を進めようとしたものの、IOに時間がかかりすぎて断念したことを思い出しました。そこで、既存ライブラリ並みの性能を維持しつつ速度も速いライブラリを開発してみようと考え、Graph Ecosystem というテーマのもとでAI Agentの助けを借りながら、さまざまなグラフライブラリを開発しています。

  • Lynxes

    • Lynxesは、PolarsのGraph版を目標にしたDataFrameライブラリです。名前も Pandas - Polars に続く Lynxes です。(Lynxはオオヤマネコです)
    • オントロジーのRDFに似た gf というデータファイルもあわせて実装して使用しています。
    • Apache Arrowベースですが、これは基本的にdataframeのようなCRUDをサポートしていません! そのため、これをどう処理するかでかなり悩みました。
    • ベンチマークを見ると、正直に言えば既存ライブラリであるnetworkxやigraphより速いわけではありませんが、それでも利用に不便はない程度なので、私はひとまず満足しています。
  • CaracalDB

    • CaracalDBは、DuckDBのGraph DB版を目標にしたDatabaseライブラリです。X + DB という構造がDuckDBから来ていることはすぐにお気づきかと思いますが、Caracalという名前は、カラカルがオオヤマネコに似た動物だというGPTの助言を参考にしました。
    • CaracalDBにも .crcl という専用のDBファイルがあります。もともとはディレクトリ構造でしたが、ファイル化してほしいと頼んだところ、ファイル形式でも問題なく動いたのでよかったです。
    • Embedded DBという特性上、当然ながらサーバーを使うNeo4jよりは高速です。

2つのライブラリはどちらもPyPIに公開されているので、すぐに使えます。

    uv add lynxes  
    uv add caracaldb  

また、別途ベンチマーク作業と最適化をこのリポジトリで進めています。

  • TASK 1はKnowledge Graph、Task 2はGraphRAGです。次はGNNをやってみようと考えています。

まだ至らない点は多いです。『なぜこんな実装にしたの?』『なぜこのベンチマークをこんな形で実装したの?』といった厳しい指摘やフィードバックも歓迎します。

まだコメントはありません。

まだコメントはありません。