1

私の AWS がホストする Neo4j サーバーでは、大量のデータセットが取り込まれています。使用中のバージョンはneo4j:3.5.5-enterpriseおよびapoc-3.5.0.4です。ラップトップでデータセットのサブセットを調べたいので、サブセットをエクスポートして、次のように data.cypher ファイルを作成します。

call apoc.export.cypher.query(
"
MATCH (a:Author {name: '$NAME'})
WITH a
OPTIONAL MATCH (u:UnknownAuthor)-[:MAYBE]-(a)
WITH collect(u)+collect(a) AS authors
UNWIND authors as a
MATCH (a)-[:WROTE]-(p:Paper)
WITH a, p
OPTIONAL MATCH (p)-[]-(n)
return *
",
'/data.cypher',{format:'cypher-shell'});

AWS とローカルの Neo4j はどちらも Docker コンテナーで実行されます。だから私はDockerコンテナからそれを取得します

docker cp neo4j:/var/lib/neo4j/import/data.cypher data.cypher

次に、data.cypher ファイルをラップトップにダウンロードし、ローカルの空の Neo4j コンテナーに取り込もうとします。

docker cp data.cypher neo4j:/var/lib/neo4j/import/data.cypher

echo "starting cypher shell"
docker exec -it neo4j \
    sh -c 'cat /var/lib/neo4j/import/data.cypher | /var/lib/neo4j/bin/cypher-shell --format plain'

残念ながら、これは機能せず、次のエラー メッセージが表示されます。

Invalid input '}': expected whitespace, comment or a property key name (line 2, column 61 (offset: 61))
"UNWIND [{id:"3647617", properties:{name:"Allen Macpherson", }}, {id:"47022847", properties:{name:"Julia E. Anderson", }}, --- REST OMITTED ---] as row"
                                                              ^

このファイルをインポートするにはどうすればよいですか?

4

0 に答える 0