По умолчанию LOAD CSV
ожидает, что файл CSV будет использовать разделители запятых, и он не поддерживает посторонние пробелы.Попробуйте изменить содержимое файла CSV следующим образом:
source,destination,miles
a,b,5
a,c,6
a,d,20
Кроме того, вы должны использовать MERGE
вместо CREATE
, чтобы избежать создания дублирующих узлов.И нет очевидной необходимости хранить значение миль в массиве, поэтому этот запрос сохраняет его в виде скалярного значения:
LOAD CSV WITH HEADERS FROM "file:///sample.csv" AS line
MERGE (s:src {id: line.source})
MERGE (d:dst {id: line.destination})
CREATE (s)-[r:trips {miles: line.miles}]->(d)
RETURN s, d, r;
Результат выше:
╒══════════╤══════════╤══════════════╕
│"s" │"d" │"r" │
╞══════════╪══════════╪══════════════╡
│{"id":"a"}│{"id":"b"}│{"miles":"5"} │
├──────────┼──────────┼──────────────┤
│{"id":"a"}│{"id":"c"}│{"miles":"6"} │
├──────────┼──────────┼──────────────┤
│{"id":"a"}│{"id":"d"}│{"miles":"20"}│
└──────────┴──────────┴──────────────┘