В следующих запросах предполагается, что узлы уже существуют. Если вы также хотите создать узлы по мере необходимости, замените MATCH
на MERGE
.
Опция 1:
Каждая строка в файле CSV может содержать переменнуюколичество идентификаторов узлов для узлов, которые должны быть соединены вместе в одну цепочку, по порядку. В этом случае CSV-файл не должен иметь строку заголовка.
LOAD CSV FROM "file:///events.csv" AS ids
UNWIND [i IN RANGE(1, SIZE(ids)-1) | {a: ids[i-1], b: ids[i]}] AS pair
MATCH (a:Event {id: pair.a})
MATCH (b:Event {id: pair.b})
MERGE (a)-[:NEXT]->(b)
Опция 2:
Каждая строка в CSV-файле может содержать только пару идентификаторов узлов, которые необходимыбыть соединенным вместе, в порядке. В этом случае CSV-файл может иметь строку заголовка, как показано в этом примере (с использованием a
и b
в качестве заголовков).
LOAD CSV WITH HEADERS FROM "file:///events.csv" AS pair
MATCH (a:Event {id: pair.a})
MATCH (b:Event {id: pair.b})
MERGE (a)-[:NEXT]->(b)