2015-12-14 141 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一個很好的系列博客文章。