【发布时间】:2018-08-15 04:14:41
【问题描述】:
我有一个 Neo4j 数据库,包括由 ACTED_IN 关系连接的 Film 和 Person 节点。使用 APOC,我成功地在 Person 节点之间直接创建了一组虚拟 ACTED_WITH 关系,反映了它们通过它们都出现的 Film 间接相关的事实:
MATCH (a:Person)-[:ACTED_IN]->()<-[:ACTED_IN]-(b:Person)
WITH a, b
CALL apoc.create.vRelationship(a, 'ACTED_WITH', {}, b) YIELD rel
RETURN a, rel, b
这似乎捕捉到了我正在寻找的间接关系。现在我想将结果流式传输到 Gephi 以进行可视化。但相关的 APOC 函数采用 paths 参数。所以这行得通:
MATCH path = ()-[:ACTED_IN]->()
WITH collect(path) AS paths
CALL apoc.gephi.add(null, 'workspace0', paths) YIELD nodes, relationships, time
RETURN nodes, relationships, time
如何从第一个代码块中产生的虚拟关系创建一组路径,以便像第二个代码块一样传递给 Gephi? (或者有没有更好的方法来处理这种情况?)
【问题讨论】:
标签: neo4j gephi neo4j-apoc