Ich habe zwei Abfragen.neo4j wie man mit zwei übereinstimmen
erste Abfrage ist
match (user)-[r:CreatesChat]-(chatitems)
zweite Abfrage
match (chatitems)-[r:PartOf]-(teamschat)-[s:OwnedBy]-()
ist ich die ersten 3 Benutzer von der ersten Abfrage
Und zurückzukehren, die ersten drei Teams aus der zweiten zurückkehren wollen Abfrage
Ziel ist es, zu überprüfen, ob Benutzer von der ersten Abfrage die Teams von se haben cond Abfrage
Meine Neo4j Abfrage ist
match (user)-[r:CreatesChat]-(chatitems)
with user.id as uid,chatitems.id as chatid
order by uid desc
with collect([uid])[..3] as users,collect([chatid])[..3] as chats
UNWIND users AS idusers
match (chatitems)-[r:PartOf]-(teamschat)-[s:OwnedBy]-()
return idusers
Diese Abfrage Rückkehr
Retour 133.239 Zeilen in 1360 ms, Anzeigen ersten 1000 Zeilen
Aber ich ausführen, um die Abfrage
match (user)-[r:CreatesChat]-(chatitems)
with user.id as uid,chatitems.id as chatid
order by uid desc
with collect([uid])[..3] as users,collect([chatid])[..3] as chats
UNWIND users AS idusers
return idusers
IDusers retu rned sind richtig
Zurückgegeben 3 Zeilen in 539 ms.
Wie kann ich diese beiden Abfragen beziehen?
Können Sie Ihre Absicht, im Hinblick auf den zweiten Teil Ihre Abfrage mit Teams klären? Versuchen Sie, die Top-3-Teams in einer bestimmten Reihenfolge zu erreichen und festzustellen, ob sich einige der Benutzer Ihrer ersten Abfrage darin befinden? Oder versuchen Sie zu sehen, ob die 3 Benutzer Ihrer ersten Abfrage ein Team besitzen? Oder wenn sie im selben Team sind? Ein besserer Ausdruck dessen, was Sie versuchen, kann uns helfen, genauere Antworten zu geben. – InverseFalcon
Ich möchte Top-3-Teams in der Reihenfolge und sehen, ob einer der Benutzer in ihnen bin – user3712581