Не удается загрузить данные CSV в экземпляр GrapheneDB
Я использую GrapheneDB для размещения своего экземпляра Neo4j и использую библиотеку Nuget Readify Neo4jClient для подключения к ней из моего локально работающего приложения MVC, например:
var uri = new Uri(HttpContext.Current.Server.MapPath("~/App_Data/Data.csv"));
client.Connect();
client.Cypher
.LoadCsv(uri, "user")
.Create("(u:User { Id: user[1], Name: user[2] })")
.ExecuteWithoutResults();
Это вызывает исключение LoadExternalResourceException:
Невозможно загрузить из URL 'file:///C:/source/blah/src/App_Data/Data.csv': свойство конфигурации 'dbms.security.allow_csv_import_from_file_urls' имеет значение false
Где и как мне настроить этот параметр?
Во-вторых, необходимо ли, чтобы файл импорта csv был доступен из экземпляра Graphene DB, или это проблема клиента?
1 ответ
LOAD CSV
Предложение выполняется на удаленном экземпляре Neo4j, который не имеет доступа к локальной файловой системе.
Чтобы загрузить данные из файла CSV на удаленном экземпляре, было бы два варианта:
Файл должен быть загружен в файловую систему удаленного сервера и настройки конфигурации dbms.security.allow_csv_import_from_file_urls
должен быть установлен в true.
Это невозможно в GrapheneDB по очевидным причинам безопасности.
Пример:
LOAD CSV FROM file://...
Решение:
Файл загружается на сервер или в облачную службу, т. Е. AWS S3, Google Docs, Dropbox или на ваш собственный сервер. LOAD CSV
используется с URL файла. Файл должен быть общедоступным, чтобы Neo4j мог действительно загрузить файл для его обработки.
Пример:
LOAD CSV FROM http://...
Это будет