Neo4j : How to create a unique node instead of set of nodes

cypher
operations
(Limengmignx) #1

I want to create a new node (event nodes) among a set of nodes (report nodes) according to the indicator nodes (each report node has several indicator nodes related to it). I want to set the new event nodes with the rules:

  1. a report nodes is only connected one event node
  2. if more than one indicator nodes has the same property "pattern", then they belong to the same event node

here are my query code :

OPTIONAL MATCH 
(indicator_1_1:indicator)<-[:REFERS_TO]-(report_1:report)-[:REFERS_TO]->(indicator_1_2:indicator),
(indicator_2_1:indicator)<-[:REFERS_TO]-(report_2:report)-[:REFERS_TO]->(indicator_2_2:indicator)
WHERE
indicator_1_1.pattern=indicator_2_1.pattern
and
indicator_1_2.pattern=indicator_2_2.pattern
MERGE
(report_1)-[:related_to]->(event:EVENT)<-[:related_to]-(report_2)

and get the result as below,
enter image description here

But i want the three report nodes belong to one event node.
I want to know what changes should I make to my query ,or what next step should I take after getting the two event nodes.

What's more , I want to know wheter there is a more efficient query code than mine.

Thanks!

0 Likes

(Limengmignx) #2

finally, i get the answer : https://stackoverflow.com/questions/55312672/neo4j-how-to-create-a-unique-node-instead-of-set-of-nodes

0 Likes