1

次のエンティティを想定します。

「ユーザー」には「ブログ」があり、ブログには「エントリ」があります。ブログには複数のユーザーを含めることができ、エントリにはユーザー、ブログ、および文字列エントリの 3 つのプロパティがあります。特定のブログとユーザーのすべてのエントリを返す暗号クエリを作成したいと考えています。ユーザー ノード ID とブログ ID の両方があります。ユーザー ID を使用してノードを開始できますが、ブログ ID はどのように使用できますか? 他に一意のものにはアクセスできないため、ノード ID が使用されています。

start user=(1) match (user)->[:BLOG]-(blog)->[:ENTRY](entry) where entry.blog = blogId return entry

推奨事項をいただければ幸いです。

4

2 に答える 2

2

パラメーターを使用してブログとユーザー ID を渡すこともできます。

START user=({userId}), blog=({blogId}) MATCH user-[:BLOG]->blog-[:ENTRY]->entry RETURN entry

Map次に、を含むパラメーターを使用して暗号クエリを実行しますuserId=1,blogId=2

ブログ ID を持っている場合は、ユーザーを渡す必要はありません。user と entry の関係 ( など) を指定しなかったためAUTHOR、ブログのすべてのエントリが返されますが、これはおそらくあなたが望むものではありません。

START user=({userId}), blog=({blogId}) MATCH blog-[:ENTRY]->entry<-[:AUTHOR]-user RETURN entry
于 2011-11-07T00:37:58.043 に答える
0

最初は暗号クエリが間違っているように見えますが、おそらく安定版以外のバージョンですか?

start user=(1) match (user)->[:BLOG]-(blog)->[:ENTRY](entry) where entry.blog = blogId return entry

ユーザー ID とブログ ID をお持ちの場合は、これを試すことができると思います。

START user=(userId), blog=(blogId) MATCH user-[:BLOG]->blog-[:ENTRY]->entry RETURN entry

外部キーを使用したグラフデータベースでは不要だと思います。

于 2011-10-25T07:42:41.157 に答える