gpt4 book ai didi

neo4j-spatial - 如何检查节点是否已在 neo4j-spatial 索引中编入索引?

转载 作者:行者123 更新时间:2023-12-04 05:50:05 25 4
gpt4 key购买 nike

我正在运行最新的 neo4j v2,并安装了空间插件。我已经设法索引了我需要在地理索引中索引的几乎所有节点。我正在努力解决的问题之一是如何轻松检查节点是否已被编入索引?

我找不到任何 REST 端点来获取此信息,并且使用 cypher 不容易获取此信息。但是我尝试了这个查询,因为它似乎给了我想要的结果,除了运行时是 Not Acceptable 。

MATCH (a)-[:RTREE_REFERENCE]->(b) where b.id=989898 return b;

由于地理索引仅存储对已在关系 RTREE_REFERENCE 引用的节点中的 id 属性值中编入索引的节点的引用,我认为这可能是要走的路。

此查询现在需要:14459 msneo4j-shell 运行.

我的数据库不大,大约41000 nodes ,我想总共添加到空间索引中。

必须有更好的方法来做到这一点。任何想法和/或指针将不胜感激。

最佳答案

既然知道自己的数据节点的ID,就可以不用索引直接在Cypher中访问,只需检查传入的RTREE_REFERENCE关系即可:

START n=node(989898) MATCH (p)-[r:RTREE_REFERENCE]->(n) RETURN r;

作为侧节点,您的 Cypher 的语法为“WHERE n.id=989898”,但如果这是内部节点 ID,则该方法无效,因为 n.id 将查找键为“id”的属性。对于内部节点 ID,请使用“id(n)”。

如果您的“id”实际上是一个节点属性(而不是内部 ID),那么我认为 @deemeetree 建议更好,在此属性上使用索引。

关于neo4j-spatial - 如何检查节点是否已在 neo4j-spatial 索引中编入索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com