Java Neo4j cypher计数并显示两个给定节点之间的所有关系
这里我使用的是neo4j rest api, 在第一步中,我想收集信息,比如两个给定节点之间有多少关系 示例:Java Neo4j cypher计数并显示两个给定节点之间的所有关系,java,graph,playframework,neo4j,cypher,Java,Graph,Playframework,Neo4j,Cypher,这里我使用的是neo4j rest api, 在第一步中,我想收集信息,比如两个给定节点之间有多少关系 示例:MATCH(n:Node{id:{parameter1}})-[r:someType]-(m:Node{id:{parameter2})返回计数(r) 然后我想收集所有指定给边的值,以便我可以计算进一步的计算。我需要两个给定节点之间所有不同类型的关系及其属性 如果可能的话,我想用单键密码 然后我想收集所有指定给边的值 请注意,我唯一更改的是将collect(r)AS rels添加到返回中
MATCH(n:Node{id:{parameter1}})-[r:someType]-(m:Node{id:{parameter2})返回计数(r)
然后我想收集所有指定给边的值,以便我可以计算进一步的计算。我需要两个给定节点之间所有不同类型的关系及其属性
如果可能的话,我想用单键密码
然后我想收集所有指定给边的值
请注意,我唯一更改的是将collect(r)AS rels
添加到返回中,这为您提供了一个Relationship
对象集合,这些对象表示这些节点之间带有标签someType
的所有边
要获取任何类型的所有边,请执行以下操作:
MATCH (n:Node {id: {parameter1}})-[r]-(m:Node {id: {parameter2}})
RETURN COUNT(r) AS count, collect(r) AS rels ORDER BY labels(r)
从匹配中删除标签要求,以返回任何类型的所有关系的集合。按标签对集合进行排序,以便按类型对返回的关系列表进行排序,便于您根据“进一步计算”的需要区分它们
此代码未经测试,我不能100%确定您可以调用集合上的标签。如果没有,请告诉我,我将提供另一种解决方案 嘿,谢谢德雷莫!这里的rels是数组对的,我如何将neo4j数组访问到java输出中,有什么线索吗?@SagiruddinMondal rels是所有匹配查询的关系的集合,是的。至于你的另一个问题,假设你在问“我如何将关系对象的集合转换为类的对象数组-这是一个非常大的问题。你这样做的策略将是你整体设计策略的一部分。请参阅域建模,这对我很有帮助。
MATCH (n:Node {id: {parameter1}})-[r]-(m:Node {id: {parameter2}})
RETURN COUNT(r) AS count, collect(r) AS rels ORDER BY labels(r)