5

私は neo4j を初めて使用し、ソーシャル ネットワークを構築しています。この質問のために、私のグラフはusereventノードとそれらの間の関係を持つノードで構成されています。

ユーザーはイベントに招待、参加、出席、または主催することができ、それぞれがその前のユーザーのサブセットです。

ステータス/状態ごとに複数の関係を作成したり、現在の状態を保存するプロパティとの関係を 1 つ作成したりするメリットはありますか?

4

2 に答える 2

2

私が理解していることから、グラフタイプのクエリは、プロパティよりも関係タイプでより簡単/効率的に実行できます。

1 つの関係で別のタイプの関係はどうでしょうか?

Cypher を使用してパイプとのいくつかのタイプの関係をクエリできます (クエリで取得したくないイベントへの他の関係がある場合)。

更新 - コンソールの例を追加: http://console.neo4j.org/?id=woe684

または、古いリレーションシップをそこに残しておくこともできますが、少し複雑なクエリを作成する必要はありませんが、このユース ケースでは少し無駄に感じます。

于 2012-09-10T06:57:43.767 に答える
2

可能であれば、プロパティによって修飾された単一のタイプよりも異なる関係タイプを選択すると、グラフをクエリするときにパフォーマンスに大きなプラスの影響を与える可能性があります。前者のアプローチは、後者よりも少なくとも 2 倍高速です。データが高レベルのキャッシュにあり、グラフがネイティブ Java API を使用してクエリされる場合、最初のアプローチはシングルホップ トラバーサルで 8 倍以上高速です。

ソース: http://graphaware.com/neo4j/2013/10/24/neo4j-qualifying-relationships.html

于 2014-07-28T11:49:47.910 に答える