实际地将数据从Neo4j导出到csv文件

时间:2017-04-03 12:31:45

标签: neo4j export-to-csv neo4j-java-api neo4j-apoc

我需要你对neo4j出口事物的建议....我使用“apoc.export.cypher.query”将我的节点和关系导出到csv文件,但导出的内容是cypher语句。这是一个示例导出的csv文件:

begin
CREATE (:`ITEM`:`UNIQUE IMPORT LABEL` {`product_number`:5305, `bi_key`:1910, `mean_review_score`:“4.42”, `review_count`:“24", `site_availability_bitmask`:“2129759”, `UNIQUE IMPORT ID`:117});
CREATE (:`ITEM`:`UNIQUE IMPORT LABEL` {`product_number`:7123, `bi_key`:2261, `UNIQUE IMPORT ID`:121});
CREATE (:`ITEM`:`UNIQUE IMPORT LABEL` {`product_number`:7436, `bi_key`:2330, `mean_review_score`:“4.41", `review_count`:“117”, `site_availability_bitmask`:“2113295", `UNIQUE IMPORT ID`:125});
CREATE (:`ITEM`:`UNIQUE IMPORT LABEL` {`product_number`:7697, `bi_key`:2382, `UNIQUE IMPORT ID`:130});
CREATE (:`ITEM`:`UNIQUE IMPORT LABEL` {`product_number`:7743, `bi_key`:2388, `mean_review_score`:“4.33”, `review_count`:“18", `site_availability_bitmask`:“2113295”, `UNIQUE IMPORT ID`:133});
commit
begin
CREATE INDEX ON :`ITEM`(`product_number`);
CREATE CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT node.`UNIQUE IMPORT ID` IS UNIQUE;
commit
schema await
begin
MATCH (n:`UNIQUE IMPORT LABEL`)  WITH n LIMIT 10 REMOVE n:`UNIQUE IMPORT LABEL` REMOVE n.`UNIQUE IMPORT ID`;
commit
begin
DROP CONSTRAINT ON (node:`UNIQUE IMPORT LABEL`) ASSERT node.`UNIQUE IMPORT ID` IS UNIQUE;
commit

但这不是我想要的,无论如何将图形内容直接导出到csv格式的csv文件?或者我应该依赖解析上面的文件...或使用neo4j jdbc驱动程序来执行cypher并将结果写入csv? 我需要务实地做到这一点......我的意思是它是一个Web应用程序,用户应该能够将图形内容提取为csv格式

1 个答案:

答案 0 :(得分:10)

您可以使用apoc.export.cypher.query将结果写入CSV文件,而不是使用apoc.export.csv.query。例如:

CALL apoc.export.csv.query("MATCH (u:User)-[r:RATED]->(m:Movie) RETURN u.name, r.rating, m.title LIMIT 10", "results.csv", {})

文档here

中的更多信息