在cypher neo4j中,查找长度大于x且其权重之和(a属性)大于Y的路径
在我的neo4j图形数据库中,我将问题和人作为我的节点,关系是“链接”(问题到问题)和“资源”(问题到人) 我感兴趣的是找到问题的所有路径,它们的权重之和大于阈值y,链的总长度大于x 我不确定以下是否有效,因为我认为它只是给了我5个链接的问题在cypher neo4j中,查找长度大于x且其权重之和(a属性)大于Y的路径,neo4j,cypher,Neo4j,Cypher,在我的neo4j图形数据库中,我将问题和人作为我的节点,关系是“链接”(问题到问题)和“资源”(问题到人) 我感兴趣的是找到问题的所有路径,它们的权重之和大于阈值y,链的总长度大于x 我不确定以下是否有效,因为我认为它只是给了我5个链接的问题 MATCH (s:Issue)-[rs:links*5..]->(m:Issue) WITH s, rs, m unwind rs as r return s AS source_node, id(s) AS source_id,
MATCH (s:Issue)-[rs:links*5..]->(m:Issue)
WITH s, rs, m
unwind rs as r
return s AS source_node,
id(s) AS source_id,
r,
m AS target_node,
id(m) AS target_id
我也尝试过使用count,但我认为这不是正确的方法。要做到这一点,请使用累积关系的权重。考虑x=5和y=200:
MATCH (s:Issue)-[rs:links*5..]->(m:Issue) // match depths with 5 (x) or more
WITH REDUCE(weights = 0, rel IN rs | weights + rel.weight) AS total_weight, s, rs, m
WHERE total_weight < 100 // filter by total_weight < y (100)
unwind rs as r
return s AS source_node,
id(s) AS source_id,
r,
m AS target_node,
id(m) AS target_id
MATCH(s:Issue)-[rs:links*5..]>(m:Issue)//将深度与5(x)或更多匹配
以减少(重量=0,相对重量为卢比|重量+相对重量)作为总重量,s,rs,m
其中总重量<100//按总重量
Hi@Stefan Georg!我的回答帮你解决问题了吗?如果是,您可以单击复选标记吗?这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。