2012-03-22 14 views
2

SQLデータベースへのグラフの格納とクエリに問題があります。ツリーをリレーショナルデータベースに格納するチュートリアルを読んだことがありますが、私のグラフはちょっと違います。グラフをMySQLデータベースに保存する

私の写真のサンプルグラフはhttp://i.stack.imgur.com/J57v6.pngです。ルートノードがあり、エッジによっていくつかの特定のノードに「歩く」ことができます。重要なことは、このグラフには円(ループ)が含まれていないことです。あるノード、たとえば3を選択すると、ノード4,5,6に移動します。したがって、訪問されたノードの最終的な量は常にあります。

これを保存することは大きな問題ではありませんが、問題はこのグラフを照会する必要があることです。たとえば、私のクエリの入力はノード3である可能性があります。結果にはノード4,5,6が含まれていますが、3と4の間にエッジはありませんが、3から4へのパスが5以上あります。

このグラフには約10 000個のノードがあると思います。最も重要なのは、私が上記で書いた質問の速度です。ノードとエッジの挿入/削除/更新ははるかに遅くなる可能性があります。

このグラフを保存してクエリする方法はありますか? http://i.stack.imgur.com/J57v6.png

答えて

関連する問題