本站教程收集整理的这篇文章主要介绍了Neo4j – Java堆空间.错误的查询或设置?,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。
我有neo4j的问题.
我不知道问题是我的查询还是别的.
介绍
我必须构建一个存储公共汽车/火车路线的应用程序.
这是我的架构:
节点:
>组织:有路线/公共汽车等的公司.
>路线:巴士路线如:巴黎 – 柏林.
>车辆(在这种情况下为公交车):带有独特车牌的Fisical公交车.
>停止:指向具有纬度和经度的地图.
重要关系:
>下一个:这是一个非常重要的关系.
NEXT关系包含以下属性:
> startHour
> startminutes
> endHour
> endminutes
> dayOfWeek(从0到6 – 太阳,周一等……)
> vehiclEID
问题
我的查询是:
@H_931_42@mATCH (s1:Stop {id: {departureStopID}}), (s2:Stop {id: {arrivalStopID}}) OPTIONAL MATCH (s1)-[nexts:NEXT*]->(s2) WHERE ALL(i in nexts WHERE toInt(i.dayOfWeek) = {dayOfWeek} AND toInt(i.startHour) >= {hour}) RETURN nexts LIMIT 10 香港vps
例如:我想找到所有nexts关系,其中dayOfWeek是星期日(0)和属性startHour> 11
之后我通常在我的nodejs后端解析并验证最终对象.
这在我开始时有效…与1k关系..
现在我有10k的关系,我的查询有一个TIMEOUT问题或查询在30s解决..太多时间……
我不知道如何解决这个问题.
我使用Neo4j和docker,我试着阅读设置文档,但我不知道Java是如何工作的.
你能帮帮我们吗?
updatE
谢谢大家!
现在我用“allShortestPaths”解决了,但我想我会重命名所有关系(比如Michael Hunger所说).
解决方法:
你有没有尝试过:
@H_931_42@mATCH p=allShortestPaths((s1:Stop {id: {departureStopID}})-[:NEXT*]-> (s2:Stop {id: {arrivalStopID}}) ) WHERE ALL(i in RELS(p) WHERE toInt(i.dayOfWeek) = {dayOfWeek} AND toInt(i.startHour) >= {hour}) RETURN rels(p) as nexts LIMIT 10
这应该使用快速最短路径算法,因为:
有关详细信息,请参见https://neo4j.com/docs/developer-manual/current/cypher/execution-plans/shortestpath-plAnning/#_shortest_path_with_fast_algorithm.
本站总结
以上是本站教程为你收集整理的Neo4j – Java堆空间.错误的查询或设置?全部内容,希望文章能够帮你解决Neo4j – Java堆空间.错误的查询或设置?所遇到的程序开发问题。
如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。