2016-05-25 4 views
4

で失われたのNeo4j、このサイファークエリ:のNeo4jのLOAD - 私はのNeo4j 3.0.1使用しているので、ディレクトリ

USING PERIODIC COMMIT 500 
LOAD CSV WITH HEADERS 
FROM >"file:///home/user/Documents/links.csv" AS csvLine 

...

戻り

Couldn't load the external resource at: file:/home/user/Documents/neo4j-community-3.0.1/import/home/user/Documents/links.csv 

Neo4jは私のマシン(Ubuntu 14.04)の "Documents"フォルダ内の "links.csv"ファイルにあります。

(のNeo4jの2.xxのバージョンでこの正確なクエリが完璧に働いていた)

neo4j3.0は「輸入」フォルダ内のCSVファイルのパスを再構築しようと、なぜ私はundersandない...
httpプロトコルの作品を通してのNeo4jを照会するために、FTPでファイルをアップロードするので、それは「輸入 『フォルダのアクセス許可ではないのです』。私の 『links.csv』ファイルのパーミッションは、664

任意のアイデア?

答えて

8

これはneo4j 3.0に統合されたセキュリティで、スクリプトがunからのソースを読み込まないようにしますディレクトリが必要です(例えば、/etc/passwordのように)。

dbms.security.allow_csv_import_from_file_urls=true 

をそれともインポートディレクトリにCSVファイルを置く:

あなたはこれを回避するために、conf/neo4j.confに以下の設定を追加することができます。

+2

...データベースを再起動してください... – mquantin

0

設定ファイルから 'neo4j.conf':

# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or uncomment it to 
# allow files to be loaded from anywhere in filesystem; this introduces possible security problems. See the `LOAD CSV` 
# section of the manual for details. 
#dbms.directories.import=import 
2

あなたはneo4j.conf ラインからこの行をコメントアウトする必要があります

dbms.directories.import=import 

またはインポート時にファイルを設定し

+1

これは私のために働いた!ありがとう。 – Amir

1

同様のエラーが発生しました。他の人の回答を読んだら、これは確かにセキュリティ上の問題だと思います。私のための迅速な修正は、Neo4jがどこにでもリダイレクトしようとしているNeo4j/default.graphdb/importディレクトリの下に自分のデータを移動することでした。私の場合は、インポートディレクトリを作成する必要がありました。これで、my_data_dirがNeo4j/default.graphdb/importの下にネストされている限り、 "file:///my_data_dir/test.csv"を使用してファイルをロードできます。

注:私はMac OS X El Capitan 10.11です。 6を実行し、Neo4j Community Edition 3.1.0-BETA1を実行します。

関連する問題