具有2个节点类型的neo4j社区检测

时间:2018-10-07 18:58:03

标签: neo4j cluster-analysis

我是neo4j的新手。我一直在通过:play data_science示例使用“权力的游戏”角色关系研究社区检测。

在此示例中,只有一个节点类型(字符),并且使用标签传播来运行社区检测

CALL algo.labelPropagation(
  'MATCH (c:Character) RETURN id(c) as id',
  'MATCH (c:Character)-[rel]->(c2) RETURN id(c) as source, id(c2) as target, SUM(rel.weight) as weight',
  'OUTGOING',
  {graph:'cypher', partitionProperty: 'community'})

是否可以在具有两种类型的节点的图上进行社区检测(例如,字符和位置,我们想要一个字符社区,并且通过访问的位置间接链接字符)?

我尝试了以下查询:

CALL algo.labelPropagation(
  'MATCH (c:Character) RETURN id(c) as id',
  'MATCH (c:Character)-[*1..2]->(p:Character) RETURN id(c) as source, id(p) as target',
  'OUTGOING',
  {graph:'cypher', partitionProperty: 'community'})

它确实创建了字符社区,但并非如我所期待的那样,

match (c:Character)-[r]->(l:Location) return *

这是正确的方法吗?

谢谢

0 个答案:

没有答案