Kann ich in neo4j einen Mechanismus zur Rückreferenzierung verwenden? Ich bin nicht daran interessiert, was der Abfrage entspricht, nur dass es an vielen Stellen dasselbe ist. Etwas wie:Zurück-Referenz neo4j
MATCH (a:Event {diagnosis1:11})
MATCH (b:Event {diagnosis1:15})
MATCH (c:Event {diagnosis1:5})
MATCH (a)-[rel:Next {PatientID:*}]->(b)
MATCH (b)-[rel1:Next {PatientID:\{1}]->(c)
Die Idee ist, dass ich benötige nur das Attribut IDs von beiden Kanten gleich zu sein, ohne es zu spezifizieren. Der ganze Zweck davon würde nicht alle möglichen Übereinstimmungen erzeugen, um sie dann zu filtern, sondern nur an bestimmten Orten zu springen.
Ich habe etwas auf eine spezifischere Art und Weise gefragt here.
Edit: Ich weiß, WHERE-Klauseln können dafür verwendet werden, aber sie filtern die Abfrage nach dem Abgleich der Kanten und Knoten. Ich will das WÄHREND des Matching tun!
das ist nicht das, was ich will, wenn Sie das tun, generieren Sie alle Matchings und dann filtern dann! Es ist ineffizient! Ich möchte nicht alle Übereinstimmungen generieren, nur diejenigen, bei denen die IDs identisch sind. –
Ich habe die Antwort basierend auf Ihrem zusätzlichen Kontext aktualisiert. –
Vielen Dank! Ich frage mich, ob es etwas Material gibt, um die Java API zu ändern. Die Version mit "WITH" scheint nicht zu funktionieren: /. –