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

标签 neo4j-spatial

我正在运行最新的 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/

相关文章:

java - Neo4j Spatial 导致生命周期异常

java - 如何在 Neo4J 空间中创建 SimplePointLayer?

neo4j - 在 neo4j 中创建 geohash 关系

Neo4j Spatial,索引和图层之间的关系

java - Neo4j-spatial Maven 构建失败

java - Neo4j-spatial无法导入OSM

java - Neo4j-spatial 导入 OSM 发现不匹配的顶点

neo4j - 如何在spring数据neo4j空间中表示地理空间圆形或多边形区域?

neo4j 空间包含搜索

openstreetmap - 如何使用 OSM 和 Neo4jSpatial 运行 Neo4j?