Ошибки при загрузке CSV в Neo4j - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь загрузить локально сохраненный файл .csv в Neo4j.Я также пытался опубликовать его на листах Google, но это не приблизило меня к тому, что мне нужно.

Я сохранил CSV в папке импорта, и путь к файлу:

"C: \ Users \ FJ1993.Neo4jDesktop \ neo4jDatabases \ database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 \ import \ GTD sample_location_target_attacker.csv

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

1)

ЗАГРУЗИТЬ CSV С ЗАГОЛОВКАМИ ИЗ "file: // C: /Users/FJ1993/.Neo4jDesktop \neo4jDatabase / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD "sample_location_target_attacker.csv WITH line

Ошибка

Neo.ClientError.Statement.SyntaxES: Неверный ввод 'i': ожидается '\', '' ',' "',' b ',' f ',' n ',' r ',' t ', UTF16 или UTF32 (строка 1, столбец 127 (смещение: 126)) Файл «ЗАГРУЗИТЬ CSV С ЗАГОЛОВОКАМИ ИЗ» файл: // C: /Users/FJ1993/.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD "sample_location_target_attacker.csv WITH line"

2)

ЗАГРУЗИТЬ CSV С ЗАГОЛОВКАМИ ИЗ "файл: // C: / Users / FJ1993 /.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import / GTD sample_location_target_attacker.csv "AS csvDoc

Ошибка:

Ошибка среды.SyntaxError: Неверный ввод 'i': ожидается '\', '' ',' "',' b ',' f ',' n ',' r ',' t ', UTF16 или UTF32 (строка 1, столбец127 (смещение: 126)) Файл «Загрузить CSV с заголовками из» файл: // C: /Users/FJ1993/.Neo4jDesktop \ neo4jDatabases / database-325e28a1-76ac-4268-820e-844bda8d4812 \ installation-3.4.0 / import /GTD sample_location_target_attacker.csv "AS csvDoc"

3) Я также пытался загрузить из листа Google, который я опубликовал.

Ссылка для этого https://docs.google.com/spreadsheets/d/e/2PACX-1vSOpbMUwFnf7gMYm7JaB3gzWGV7or0qU7cLIsjwApq4sH63v88O1fd0RrmbxvBlVWMfVASh0sw9zJX_/pubhtml

Мой Cypher:

ЗАГРУЗИТЬ CSV С ЗАГОЛОВКАМИ ИЗ "https://docs.google.com/spreadsheets/d/e/2PACX-1vSOpbMUwFnf7gMYm7JaB3gzWGV7or0qU7cLIsjwApq4sH63v88O1fd0RrmbxvBlVWMfVASh0sw9zJX_/pubhtml" КАК ВОЗВРАЩЕНИЕ линии 10

К какому сообщению об ошибке относится:

Neo.DatabaseError.General.UnknownError: В https://docs.google.com/spreadsheets/d/e/2PACX-1vSOpbMUwFnf7gMYm7JaB3gzWGV7or0qU7cLIsjwApq4sH63v88O1fd0RrmbxvBlVWMfVASh0sw9zJX_/pubhtml @ position 4388 - есть поле, начинающееся с кавычки, и в то время как оно заканчивается той кавычкой, в этом поле, похоже, есть символы после этой конечной кавычки.Это не поддерживаетсяВот что я прочитал: 'docs-smheo ":'

Кто-нибудь знает, как я могу получить файл CSV в Neo4j? Я недостаточно опытен, чтобы писать в командной строке и полностью зависит от графического интерфейса.

Спасибо

Ответы [ 3 ]

0 голосов
/ 10 июня 2018

Я думаю, что ваша проблема в пути к файлу импорта.

Когда выдается ошибка, есть '^' под 'i' из '... 4812 \ installation ...'?

(Сложно увидеть, но держу пари, что он есть!)

Cypher анализирует командную строку, включая имя файла в кавычках, и интерпретирует '\' как началоescape-последовательностьЭто не так далеко, как попытка прочитать ваш входной файл.

Вам необходимо использовать '/' для разделителей пути.

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

LOAD CSV WITH HEADERS FROM "file:///Neo4jQuestion.csv" as line 
CREATE (SomeNode {location:line.location, target:line.target, attacker:line.attacker});

работает на моей коробке Windows.(Обратите внимание на три слеша после 'file:')

0 голосов
/ 11 июня 2018

Похоже, что после «import / GTD» кавычка была в неправильном месте, отсутствует косая черта после файла, и вам не нужно указывать полный путь.

В пути к файлу также есть косая черта, идущая вперед и назад.Используйте прямые косые черты, но, поскольку вы не указываете полный путь, это полезно, только если у вас есть папки в папке импорта.

Я рекомендую вам удалить пробел после GTD, просто чтобы быть в безопасности.

Попробуйте, и я надеюсь, что это поможет:

LOAD CSV WITH HEADERS FROM "file:///GTD sample_location_target_attacker.csv" WITH line

Оригинал

LOAD CSV WITH HEADERS FROM "file://C:/Users/FJ1993/.Neo4jDesktop\neo4jDatabases/database-325e28a1-76ac-4268-820e-844bda8d4812\installation-3.4.0/import/GTD" sample_location_target_attacker.csv WITH line
0 голосов
/ 09 июня 2018

Во-первых, вы должны уточнить разделитель полей с помощью FIELDTERMINATOR ';'за ;который не должен быть в вашем контенте.Я использую |всегда, когда это возможно.

На сайте neo4j есть много бесплатного образовательного контента, а хорошие книги на рынке добавляют педагогический подход.

Бесстыдный плагин: рекомендую "Learning Neo4j" Второе издание (спойлер: я автор)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...