Добавить метку к узлу из файла CSV в NEO4J - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь добавить некоторые узлы в базу данных моего графа из CSV, что предполагает:

    |  city         continent         feature_1 ...
    |--------------------------------------------------
0   |  Barcelona    Europe
1   |  Stockholm    Europe
2   |  New York     America
3   |  Nairobi      Africa
4   |  Tokyo        Asia

Первый подход состоял в том, чтобы просто загрузить эти данные как:

// Insert city nodes
USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM 'file:///city_data.csv' AS row
MERGE (city: City {name: row.city})

Следующим шагом было включение информации о континенте, чтобы я мог иметь узлы разных цветов.Это означает наличие двух меток для каждого узла, что я не знаю, как сделать.Во всяком случае, на данный момент я решил просто иметь один ярлык, который содержал информацию о континенте.Поскольку эта информация находится в файле CSV, я считаю, что инструмент apoc.create.node - это то, что нужно.Следовательно, вдохновленный Как использовать apoc.load.csv в сочетании с apoc.create.node Я попробовал следующее:

CALL apoc.load.csv('file:///city_data.csv') YIELD row
CALL apoc.create.node(['row.continent'], {name:['row.continent']}) YIELD node 
RETURN count(*)

Это не вызывает никакой ошибки, но это делаетнечто отличное от того, о чем я думал.Он в основном устанавливает имя столбца ("row.continent") в качестве метки ...

enter image description here

1 Ответ

0 голосов
/ 19 декабря 2018

Проблема в том, что вы заключаете переменную в апострофы, поэтому попробуйте это:

CALL apoc.load.csv('file:///city_data.csv') YIELD row
CALL apoc.create.node([row.continent], {name: row.continent}) YIELD node 
RETURN count(*)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...