【发布时间】:2017-05-18 05:02:57
【问题描述】:
现在我正在使用 Neo4j 并从错误的方面解决了任务。
起初我得到allShortestPaths,然后用java在其中搜索正确的。
当然这种方式即使存在也不能保证结果。
所以,我正在寻找任何可以本地搜索我需要的图形 DBMS。
数据模型很简单:
节点:除识别号外无属性
关系:1 个属性具有 double 值
为了清楚起见 - 这是他们彼此拥有的组织和股份的列表(即 property=percentage >0
通过路径的标准是:
- 如果下一个关系为 50++,则包含节点(路径继续)
- 如果下一个关系小于,则为 50,但路径中的所有节点都拥有 50+ 这个节点,那么路径仍然继续
这意味着算法不仅要计算路径本身的关系,还要计算“边”关系(最好不总是,而仅当“下一个关系”为 50 时)。
最后但并非最不重要的一点是:它有望具有本地最短路径的性能(即在 1800 万个节点上几毫秒 + 4000 万个关系)或接近。不是几小时甚至几分钟。现在 shortestpath 可以在几毫秒内找到 30-40-50 跳的路径,这太神奇了。使用关系值我可以在几秒钟内得到几个长度的最短路径。但这不是理想的解决方案。
我不是 Neo4j 专家(还 :),从我目前发现的情况来看 - allsSortestPaths 的性能相当厚实。添加额外的标准会使性能从几毫秒降低到几小时。这是不可接受的:( 10++ 的路径长度也是必须的。
我想,我想要的太多了,但仍然欢迎任何提示、想法和解决方案!
【问题讨论】: