c# - A* Neo4j 返回边缘上的所有路径和条件
问题描述
我目前正在使用 apoc 库来获得成本(长度)的最短路径
apoc.algo.aStar(
startNode, endNode, 'KNOWS|<WORKS_WITH|IS_MANAGER_OF>',
'distance','lat','lon'
) YIELD path, weight
我需要两件事:
我将如何让它返回所有可能的路径而不仅仅是一个?
我如何让它只搜索 PropertyA:true,PropertyB:false,PropertyC 包含“abc”等的egdes?
答案不必使用 apoc,但可以使用 CYPHER 或 C#。谢谢
解决方案
在回答您的第一个问题时,您可以使用allShortestPaths
函数。对于第二个问题,您可以设置一个WHERE CONDITION
或您的关系。
这是我对示例数据库的尝试:
MATCH path=allShortestPaths((:User)-[:MEMBER_OF_GROUP*1..3]-(:Group)) WHERE ALL(x in relationships(path) WHERE x.last_seen > 1534326850) RETURN path
您需要添加您的路径,allShortestPaths
并在边缘检查路径关系WHERE CONDITION
推荐阅读
- nuxt.js - Nuxt.js 配置重用已加载的字段
- reactjs - 执行 Material Ui 时出错
- c# - 位移限制?
- google-cloud-platform - 无法在 Google Cloud Platform 中创建 Jupyter 笔记本实例
- hybris - 使用 ImpEx 多次导出同一行
- reactjs - useEffect 清理函数 Typescript 错误:不可分配给“EffectCallback”类型的参数
- exception - c# wpf 如何捕获 FirestoreChangeListener 异常
- django-rest-framework - dj-rest-auth 与 Django ReST 框架 JSON API 不兼容?
- java - Java 创建目录和子目录(如果不存在)
- angular - Angular:在循环中执行http请求