Graph 在子图上使用algo算法
假设我有以下子图(或视图): 如何对上述结果图运行Graph 在子图上使用algo算法,graph,neo4j,cypher,subgraph,Graph,Neo4j,Cypher,Subgraph,假设我有以下子图(或视图): 如何对上述结果图运行调用algo.louvain.stream 此外,如何在algo.louvain找到的每个社区上运行algo.scc 如果您没有找到(或无法破译),下面是提供的示例: CALL algo.louvain( 'MATCH (p:User) RETURN id(p) as id', 'MATCH (p1:User)-[f:FRIEND]-(p2:User) RETURN id(p1) as source, id(p2) as targe
调用algo.louvain.stream
此外,如何在algo.louvain
找到的每个社区上运行algo.scc
如果您没有找到(或无法破译),下面是提供的示例:
CALL algo.louvain(
'MATCH (p:User) RETURN id(p) as id',
'MATCH (p1:User)-[f:FRIEND]-(p2:User)
RETURN id(p1) as source, id(p2) as target, f.weight as weight',
{graph:'cypher',write:true});
文档没有明确说明,但是传递给algo.louvain
的第一个查询指定了algo.louvain
要考虑的节点集合,第二个查询指定了查询1中指定的节点(或连接到节点)之间的关系
这意味着您必须指定您在问题中提到的空方括号之间的关系类型。如果没有连接节点的东西,算法就无法运行——如果没有顶点的边,它毕竟不是一个图形
另外,无论第二个查询的形状如何,都必须将返回id(p1)复制为源,id(p2)复制为目标,否则Java将抛出错误
最后,就在每个社区上运行algo.scc
而言,您需要修改上述查询,以将配置中的writeProperty
指定为algo.louvain
。一旦该查询成功运行,在algo.louvain
运行中考虑的每个节点都将有一个0、1、2等值作为您指定的属性。然后,对于这些社区中的每一个,您都可以使用与上面调用algo.louvain
相同的结构调用algo.scc
;但是,在传递给algo.scc
的第一个查询中,您将指定您所关注的社区。例如(这是基于您的问题而不是文档的即兴提问):
然后,正如文档所建议的,您可以找到具有以下内容的最大分区:
MATCH (u:Person)
RETURN u.partition as partition,count(*) as size_of_partition
ORDER by size_of_partition DESC
LIMIT 1;
或者以您选择的任何方式进一步查询(子)图,因为算法的结果作为属性写入Person
节点。HTH.如果您没有找到(或无法破译),下面是提供的示例:
CALL algo.louvain(
'MATCH (p:User) RETURN id(p) as id',
'MATCH (p1:User)-[f:FRIEND]-(p2:User)
RETURN id(p1) as source, id(p2) as target, f.weight as weight',
{graph:'cypher',write:true});
文档没有明确说明,但是传递给algo.louvain
的第一个查询指定了algo.louvain
要考虑的节点集合,第二个查询指定了查询1中指定的节点(或连接到节点)之间的关系
这意味着您必须指定您在问题中提到的空方括号之间的关系类型。如果没有连接节点的东西,算法就无法运行——如果没有顶点的边,它毕竟不是一个图形
另外,无论第二个查询的形状如何,都必须将返回id(p1)复制为源,id(p2)复制为目标,否则Java将抛出错误
最后,就在每个社区上运行algo.scc
而言,您需要修改上述查询,以将配置中的writeProperty
指定为algo.louvain
。一旦该查询成功运行,在algo.louvain
运行中考虑的每个节点都将有一个0、1、2等值作为您指定的属性。然后,对于这些社区中的每一个,您都可以使用与上面调用algo.louvain
相同的结构调用algo.scc
;但是,在传递给algo.scc
的第一个查询中,您将指定您所关注的社区。例如(这是基于您的问题而不是文档的即兴提问):
然后,正如文档所建议的,您可以找到具有以下内容的最大分区:
MATCH (u:Person)
RETURN u.partition as partition,count(*) as size_of_partition
ORDER by size_of_partition DESC
LIMIT 1;
或者以您选择的任何方式进一步查询(子)图,因为算法的结果作为属性写入Person
节点。HTH.@Top.Deck很高兴听到!:)@顶部。甲板很好听!:)