Создать на NOT MATCH команду для CQL Neo4j?

У меня есть неуникальный узел (: Соседство), который однозначно появляется [: IN] a (: City). Я хотел бы создать новый соседский узел и установить его связь ТОЛЬКО, если этот соседский узел не существует в этом городе. Может быть несколько районов с одинаковыми именами, но каждый район должен отображаться уникальным образом в городе собственности.

Следуя совету Джила, ответ здесь:Вернуть узел, если связь отсутствуетКак я могу сделать что-то вроде:

MATCH a WHERE NOT (a:Neighborhood {name : line.Neighborhood})-[r:IN]->(c:City {name : line.City})
ON MATCH SET (a)-[r]-(c)

Тогда он создаст новый соседский узел, только если он еще не существует в городе.

** ОБНОВЛЕНИЕ: ** Я обновил и профилировал его и до сих пор не могу воспользоваться какой-либо оптимизацией ...

PROFILE LOAD CSV WITH HEADERS FROM "file://THEFILE" as line
WITH line LIMIT 0
MATCH (c:City { name : line.City})
MERGE (n:Neighborhood {name : toInt(line.Neighborhood)})-[:IN]->(c)

;


+--------------+------+--------+---------------------------+------------------------------+
|     Operator | Rows | DbHits |               Identifiers |                        Other |
+--------------+------+--------+---------------------------+------------------------------+
|  EmptyResult |    0 |      0 |                           |                              |
|  UpdateGraph |    5 |      16 | anon[340], b, neighborhood, line |                 MergePattern |
|  SchemaIndex |    5 |      10 |                   b, line | line.City; :City(name) |
| ColumnFilter |    5 |      0 |                      line |            keep columns line |
|       Filter |    5 |      0 |           anon[216], line |                    anon[216] |
|      Extract |    5 |      0 |           anon[216], line |                    anon[216] |
|        Slice |    5 |      0 |                      line |                 {  AUTOINT0} |
|      LoadCSV |    5 |      0 |                      line |                              |
+--------------+------+--------+---------------------------+------------------------------+

Ответы на вопрос(1)

Ваш ответ на вопрос