Neo4j 空間查詢

2021-09-06 22:07:19 字數 934 閱讀 3107

1. neo4j自帶函式進行簡單計算

neo4j自帶distance(point1, point2)函式,返回乙個浮點數,表示同一座標參照系中兩點之間的測地距離,可以使用round函式來進行四捨五入。

目前neo4j3.3版本不支援return直接返回point型別,3.4版本可以。

節點型別

節點格式

詳情wgs84 3d節點

point()

【crs:wgs-84-3d|srid:4979】

point()

wgs84 2d節點

point()

【crs:wgs-84|srid:4326】

wgs84座標系2d節點,空間引用識別符號 (srid),srid就是wgs84別稱;當使用x、y作為引數是必須指定座標系

cartesian 2d 節點

point()

【crs:cartesian|srid:7203】

cartesian 3d 節點

point()

【crs:cartesian-3d|srid:9157】

2.**中使用neo4j spatial 外掛程式進行空間查詢

2) 將外掛程式jar包放到 %neo4j_home%/plugins下

3) 重啟neo4j

4) 開啟http://your_ip:your_port/ 輸入call spatial. 檢視是否有方法提示

或者檢視/logs/neo4j.log,檢視是否有正確載入的資訊(下圖所示)

github位址 

neo4j server call呼叫函式說明文件 

neo4j查詢優化

1 使用match時,避免使用多個標籤。搜尋使用了2個標籤,同樣的事情竟然訪問了資料庫801次。這是因為cypher執行了額外的 haslabel 過濾器。可以通過使用專門的關係型別來解決這樣的問題,比如為他們新增published和drafted關係,然後用關係來找到指定使用者的published...

neo4j 查詢cypher話語

engine.execute start n node people return n params skip和limit的數字引數12 345mapparams new hashmap params.put s 1 params.put l 1 executionresult result eng...

Neo4j查詢語句總結

最近一直在做圖資料庫的相關工作,對neo4j的查詢語言cypher使用較多,故在此總結記錄。cypher作為圖資料庫的查詢語言,感覺和關係型資料庫的查詢語言sql差不多吧。1.如何找到乙個節點x,x以某種關係同時連線兩個不同節點a和b match a r relation x r relation ...