2015-12-14 139 views
0

我在寻找Neo4j中的地理位置查询,但我认为没有内置的支持,比如Elasticsearch。我已经看到neo4j-contrib spatial,但我可以看到它基于Java,而我将从.NET中与Neo4j进行交流。似乎有一个服务器插件,但我不确定,因为我没有找到任何样本。Neo4j中的地理位置距离查询

因此,我更喜欢通过Mathematical functions自己编写地理位置查询,但我不确定高性能数据集的性能如何。

在Neo4j中处理这类查询的首选方法是什么?例如,回答以下问题:

谁是我的朋友,喜欢与我一样的产品,并住在我的10公里范围内?

回答

1

安装完成后,空间扩展包括一个可以从Cypher引用的索引提供程序。所以,你的问题可以用这样的查询来回答:

START n=node:geom('withinDistance:[46.9163, -114.0905, 10.0]') 
MATCH (me:Person {name: "Bob"})-[:FRIENDS_WITH]-(n) 
MATCH (n)-[:LIKED]->(p:Product)<-[:LIKED]-(me) 
RETURN n 

有这个herehere一个很好的系列博客文章。