2016-07-14 4 views
-2

私はこのクエリを持っていますneo4j個別の制限を行う方法10

私は最初に10の別のチーム.idを取得したいと思います。 どうすればいいですか?

このクエリは正しいですか?

match (chatitems) 
with chatitems as C 
match (teams) 
with distinct teams as T 
match (T)-[r:PartOf]-(C) 
with C, T.id as num order by num desc 
return {chatid:C.id, teams:collect(num)[0..10]} 

EDITED

私はこのクエリ

MATCH (u:User)-[:CreatesChat]-(c:ChatItems) 
with u,count(c.id) as chats 
order by chats desc 
with chats,u 
return chats,u limit 10 

を持っている私は、チャットが別のクエリで

MATCH (c:ChatItems)-[:PartOf]->(t:TeamChatSession)-[:OwnedBy]-() 

を使用する必要がある。しかし、私は唯一のチャットの最初の10のコードを必要としています。 idとuser.id

このクエリを作成して、チャットとユーザーの10の値を保持するにはどうすればよいですか?

+0

試しましたか? –

+0

このクエリは遅すぎます。それは時間がかかり、終了しない – user3712581

+0

[Neo4jの最初の10のdescコードを取得する方法]の可能な複製(http://stackoverflow.com/questions/38358351/neo4j-how-to-get-first-10-desc -code) – Luanne

答えて

0

もう一度強調するために、ノードにラベルを追加してください。あなたの質問はあなたがするまで信じられないほど遅くなります!

ラベルを追加して、チームノードが既にユニークであると仮定した場合(Team(id)のユニーク制約があるはずです)、これはおそらくあなたが探しているものです:

チームID順に上位10チームがあります。

しかし、あなたのクエリは他のことをしているので、あなたはトップ10のチームと一緒にやりたいことがあると思います。あなたが探しているヘルプの種類が必要な場合は、あなたが最終的に望む結果が何であるか、これらで何をしたいかを正確に教えてください。

ここにいくつかの推測があります。

トップ10チームの一部であるチャットのチャットIDをすべて取得しますか?

MATCH (team:Team) 
WITH team ORDER BY team.id DESC LIMIT 10 
OPTIONAL MATCH (team)-[:PartOf]-(chat:Chat) 
RETURN team.id, COLLECT(chat.id) AS chats 

各行について、チームIDとそのチームに属するチャットIDのリストが表示されます。

これが必要でない場合は、非常に明確にしてください。あなたが1つの質問にとどまり、新しい問題を作るのではなく、同じ問題に直接関係する2つの質問を毎日作成するのではなく、精巧で明確にすることも役に立ちます。

developer manual全体を再度読み、ブラウザアプリケーションに含まれるすべてのチュートリアルを読むことを強くお勧めします。現在、最も必要なのは、Cypherのクエリの仕組みを基本的に理解し、その上に構築することです。その基本的な知識なしで繰り返しここで質問をしようとすると、あなたにうまく役立たないでしょう。

+0

ラベルに問題があります。 neo4jブラウザでクエリを実行すると、行が返されません。どうしてこれなの? – user3712581

+0

クエリでは、チームノードに既にチームラベルがあり、チャットノードに既にチャットラベルがあることが前提です。ラベルを作成するときにノードにラベルを適用していること、または少なくともラベルを後で設定する必要があることを確認する必要があります。あなたのノードがラベル付けされた後でなければ、クエリは明示的に一致するラベルを持つノードを探しているので、クエリは機能しません。一致する最初の行:Teamは、Teamというラベルのノードがある場合にのみ動作します。 devのマニュアルを読んでください。ラベルとそのア​​プリケーションは、あなたが習得しなければならないneo4jの非常に基本的な部分です。 – InverseFalcon

+0

ありがとうございました。私は今晩チェックします。 – user3712581

関連する問題