Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将查询中的节点连接到一行中,以便使用Cypher在Neo4J中导出为csv_Neo4j_Cypher_Concatenation_Export To Csv - Fatal编程技术网

将查询中的节点连接到一行中,以便使用Cypher在Neo4J中导出为csv

将查询中的节点连接到一行中,以便使用Cypher在Neo4J中导出为csv,neo4j,cypher,concatenation,export-to-csv,Neo4j,Cypher,Concatenation,Export To Csv,我有一个neo4J图,它代表了一场国际象棋比赛 假设我运行这个: MATCH(c:ChessMatch{m_id:1“})-[:PLAYED](p:Player)RETURN* 这给了我两位棋手在一场国际象棋比赛中的结果 图表如下所示: | m_id | date | comments | p_id_A | name_A | p_id_B | name_B | |------|------------|-------------|--------|--

我有一个neo4J图,它代表了一场国际象棋比赛

假设我运行这个:

MATCH(c:ChessMatch{m_id:1“})-[:PLAYED](p:Player)RETURN*

这给了我两位棋手在一场国际象棋比赛中的结果

图表如下所示:

| m_id | date       | comments    | p_id_A | name_A    | p_id_B | name_B           |
|------|------------|-------------|--------|-----------|--------|------------------|
| 1    | 1969-05-02 | epic battle | 1      | Roy Lopez | 2      | Aron Nimzowitsch |

这些属性是这样的:

|--------------|------------------|
| (ChessMatch) |                  |
| m_id         | 1                |
| date         | 1969-05-02       |
| comments     | epic battle      |
|--------------|------------------|
| (player)     |                  |
| p_id         | 1                |
| name         | Roy Lopez        |
|--------------|------------------|
| (player)     |                  |
| p_id         | 2                |
| name         | Aron Nimzowitsch |
|--------------|------------------|
我想将此数据导出到csv,如下所示:

| m_id | date       | comments    | p_id_A | name_A    | p_id_B | name_B           |
|------|------------|-------------|--------|-----------|--------|------------------|
| 1    | 1969-05-02 | epic battle | 1      | Roy Lopez | 2      | Aron Nimzowitsch |

谷歌搜索,令人惊讶的是,我没有找到任何可靠的答案。我能想到的最好方法就是使用
py2neo
,将所有数据作为单独的表格拉下来,合并到Pandas中,但这似乎没有什么启发性。任何关于如何使用cypher的想法都会非常有启发性。

APOC有一个程序:

apoc.export.csv.query 
查看更多详细信息。注意,您必须将以下内容添加到neo4j.conf:

apoc.export.file.enabled=true
希望这有帮助

问候,,
Tom

谢谢你的快速回答。我从哪里运行
apoc.export.csv.query
from?从neo4j shell?(我在插件目录中正确地找到了apoc jar文件。)。我是否只在命令前面使用CALL out?此外……我如何将所有3个节点的属性放在一行中进行csv导出?是的,没错。从浏览器中,neo4j shell或cypher shell……都可以工作:-)。例如:调用apoc.export.csv.query(“匹配(u:User)-[r:RATED]->(m:Movie)返回u.name,r.rating,m.title LIMIT 10”results.csv“,{})我会接受你的答案…如果我能想出如何在单行中返回结果…照目前的情况,在你的示例中,我们会得到3行不同的结果:名称、评级和标题。好吧,快速尝试一下可能是:MATCH(p1:Player)-[:PLAYED]>(c:ChessMatch{m_id:1})你仍然可以得到两行(显然有两个结果符合该匹配),但一个简单的限制1(因为两条线实际上是相同的,但相反)解决了这个问题。