0

GrapheneDB を使用して Neo4j インスタンスをホストし、Readify の Neo4jClient nuget ライブラリを使用して、ローカルで実行されている 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 です

このパラメータはどこでどのように設定すればよいですか?

第 2 に、csv インポート ファイルが Graphene DB インスタンスからアクセスできるようにする必要がありますか、それともクライアントの問題ですか?

4

1 に答える 1

1

このLOAD CSV句は、ローカル ファイルシステムにアクセスできないリモート Neo4j インスタンスで実行されます。

リモート インスタンスの CSV ファイルからデータをロードするには、次の 2 つのオプションがあります。

ファイルをリモート サーバーのファイル システムにアップロードし、config 設定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://...

これは

于 2016-12-21T10:50:45.133 に答える