Ich versuche, eine Abfrage in Cypher zu schreiben, die in der Lage ist, einen einzelnen Knoten mit der Bezeichnung zu finden: CONVERSATION mit den angegebenen Nachbarknoten. Die Nachbarknoten sind Benutzer mit der Bezeichnung: USER und einer Eigenschaft namens "username". In der Abfrage ist eine Liste von "Benutzername" s gegeben und ein Ziel ist es, einen Konversationsknoten zu finden, der als Nachbar alle Benutzer mit dem Benutzernamen in der gegebenen Liste hat. Ich habe einige Abfragen versucht, aber sie geben nicht zurück, was ich will. Gibt es jemanden, der eine Idee hat, wie die Abfrage aussehen könnte?Cypher gibt einen Knoten mit den angegebenen Nachbarn zurück
1
A
Antwort
3
Angenommen, Sie die angegebenen Benutzernamen als {users}
Parameter und die Beziehung zwischen den Benutzern sind vorbei und die Gespräche wird IN_CONVERSATION
genannt:
MATCH (c:Conversation)
WHERE ALL(x IN {users} WHERE (:User {name:x})-[:IN_CONVERSATION]->(c))
RETURN c
Wenn Sie die Abfrage durch die Benutzernamen vorbei in den Neo4j Browser testen möchten
WITH ["adam","john","sally"] AS users
MATCH (c:Conversation)
WHERE ALL(x IN users WHERE (:User {name:x})-[:IN_CONVERSATION]->(c))
RETURN c
Eine andere Lösung anzupassen ist zuerst die Benutzer auch: für zB können Sie die Parameter mit WITH
simulieren
MATCH (u:User) WHERE u.name IN {users}
MATCH (c:Conversation)
WHERE ALL(x IN collect(u) WHERE (x)-[:IN_CONVERSATION]->(c))
RETURN c
Verwandte Themen
- 1. Gibt Beschriftungen für einen Knoten mit Cypher zurück
- 2. Cypher - erhalten Sie den neuesten Knoten
- 3. Wie gibt man den Beziehungstyp mit den Cypher-Abfragen von Neo4J zurück?
- 4. IllegalArgumentException gibt den in object declueration angegebenen Wert zurück
- 5. Cypher: Knoten aus Pfad entfernen
- 6. Label zu bestehendem Knoten mit Cypher hinzufügen
- 7. MySQL gibt einen anderen Wert als den maximalen Wert im angegebenen Beispielcode zurück
- 8. getNodeName() -Operation für einen XML-Knoten gibt #text zurück
- 9. Iterierte Nachbarn zusammen mit Attributen
- 10. Neo4j Check Eigenschaft cypher
- 11. Cypher Query gibt keine nicht vorhandenen Beziehungen zurück
- 12. Jsoup select gibt nicht alle Knoten zurück
- 13. Cypher Abfrage Unterstützung
- 14. Abrufen von Knoten in Neo4j mit Cypher, Identifizierung nach Eigenschaften
- 15. Cypher: Knoten nicht in derselben Abfrage gefunden
- 16. Wie wähle ich den angegebenen Knoten in Xpath-Knoten durch Index mit Selenium aus?
- 17. Verwenden von Neo4j Cypher, um den längsten Pfad ohne den ersten oder letzten Knoten zu erhalten
- 18. Neo4j - gibt Ergebnisse von Übereinstimmungsergebnissen beginnend mit spezifischem Knoten zurück
- 19. Cypher löschen einen Knoten und alle zugehörigen Knoten, wenn sie keine weiteren Relationen haben
- 20. Cypher: Einen bereits existierenden Schema-Index erstellen
- 21. SHGetFolderPath gibt den Pfad mit Fragezeichen zurück
- 22. .net cf 3.5 treeview Checkbox nur für den angegebenen Knoten
- 23. Gibt alternative Elemente von 3 angegebenen Listen zurück. Scheme
- 24. Cypher: Shared Nodes ausschließen?
- 25. Cypher: variable Länge Pfad mit Bedingung auf jedem Knoten
- 26. Hinzufügen einer Beziehung zu bestehenden Knoten mit Cypher
- 27. Erstellen von mehreren Knoten in Neo4j mit Cypher
- 28. Postgres „Gibt Table“ gibt einen String zurück
- 29. Finde Knoten und ihre verbundenen Untergraphen mit Neo4j + Cypher
- 30. Geohashing - rekursiv Nachbarn der Nachbarn finden