使用apoc.gephi.add()

时间:2017-09-18 14:49:40

标签: neo4j cypher gephi neo4j-apoc

我使用apoc.gephi.add()将图形从neo4j流式传输到Gephi。该方法仅将节点的一个属性作为Gephi中的节点标签传递。这不仅是我想要的节点标签。有没有办法将其他属性作为节点标签转移到Gephi?

例如,我的查询如下:

MATCH p=(a:Artist)-[r:LOVES]->(b:Artist) WITH p LIMIT 5 
call apoc.gephi.add('http://localhost:8080','workspace2', p) yield nodes, relationships, time
return nodes, relationships, time

在上面的查询中,它只显示艺术家的名字。

enter image description here

以上节点还有其他属性,如type,year_of_work等。我想在Gehi的节点中显示其他属性。 apoc方法只传递一个属性作为节点标签。以下是Gephi中的Node表。

enter image description here

那么有没有办法传递其他属性?有没有其他方法可以从neo4j中以期望的行为在Gephi中流式传输图形?

2 个答案:

答案 0 :(得分:1)

此功能刚刚添加。您可以使用:

MATCH p=(a:Artist)-[r:LOVES]->(b:Artist) WITH p LIMIT 5 
call apoc.gephi.add('http://localhost:8080','workspace2',p,'weight',['type', 'year_of_work']) yield nodes, relationships, time
return nodes, relationships, time

其中第四个参数可用于导出权重,第五个参数可用作要从节点和关系导出的所有属性的数组。请查看documentation了解更多信息。

答案 1 :(得分:0)

APOC Procedure docs中的所有示例都显示了在apoc.gephi.add调用之前收集的路径。所以试试吧:

MATCH p=(a:Artist)-[r:LOVES]->(b:Artist)
WITH p LIMIT 5 
WITH collect(p) AS ps
call apoc.gephi.add('http://localhost:8080','workspace2', ps) yield nodes, relationships, time
return nodes, relationships, time