2017-09-04 48 views

回答

0

您可以试用包含算法的neo4j graph algorithms插件,您可以使用密码来调用该插件。您只需下载它并将其复制到/plugins文件夹。

他们支持(弱)连接组件。检查documentation

获取连接组件的大小。

CALL algo.unionFind.stream('User', 'FRIEND', {}) 
YIELD nodeId,setId 
RETURN distinct(setId) as component, count(*) as component_size 

您可以检查强连通分量docs数量:

例如:

CALL algo.scc('User','FOLLOW', {write:true,partitionProperty:'partition'}) 
YIELD loadMillis, computeMillis, writeMillis, setCount, maxSetSize, minSetSize 

,然后搜索结果:

MATCH (u:User) 
RETURN distinct(u.partition) as partition,count(*) as size_of_partition 
ORDER by size_of_partition DESC LIMIT 20 

它们还支持标签传播算法,docs

示例呼叫:

CALL algo.labelPropagation(label:String, relationship:String, 
direction:String, {iterations:1, 
weightProperty:'weight', partitionProperty:'partition', write:true}) 
YIELD nodes, iterations, loadMillis, computeMillis, writeMillis, write, weightProperty 
+0

感谢您的响应。但是还有一个问题是,当我们说USER或FRIEND时它代表了什么?看起来像这些查询运行在任何图形数据库上。 – user8494391

+0

检查文档...我们通过标签和关系按类型加载节点 –