我是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 *
这是正确的方法吗?
谢谢