圖資料庫實踐系列 (二)--Neo4J空間資料儲存

來源:互聯網
上載者:User

上講回顧:介紹了Neo4j的概念和安裝,同時包括介紹了Git和Maven兩個工具。本文會介紹Neo4j Spatial項目以及空間資料(向量)的儲存。

1.Neo4j Spatial 簡介1.1Neo4j Spatial概念

Neo4j Spatial項目是圖資料庫Neo4j的一個外掛程式,它通過將空間資料映射到圖模型(graph model),它將對象和關係當作頂點和邊儲存在圖模型中。因而使得Neo4j具有空間資料的匯入,儲存,查詢等功能[8]。Neo4j Spatial支援的地理要素遵循OpenGIS的規範[9],包括點(point),線段(line-string),面(polygon),多點(multipoint),多線段(multi-linestring)等簡單要素。Neo4j Spatial使用R樹作為空白間索引,主要是整合了Lucene 的索引庫,支援的空間查詢包括覆蓋(cover),被覆蓋(cover by),包含(contian),相交(intersect)等。一般而言,R樹會將葉子結點(COUNT,LEVEL,<OIi,MBRi>)上幾何要素分組並用它們的資料矩形來表示,相比PostGIS所使用的最佳化過GisT[13]索引要低效,會使Neo4j在範圍查詢上效率有所不及PostGIS,但它對適合圖模型的資料(如網路資料)操作效率非常高[14]。綜上所述,Neo4j在符合圖資料模型的分析中如鄰近搜尋,路徑分析等這些特定類型的應用有非常大的優勢。

Neo4J圖資料庫實踐系列

圖資料庫實踐系列 (一)--Neo4J簡介與安裝

圖資料庫實踐系列 (二)--Neo4J空間資料儲存

圖資料庫實踐系列 (三)--Neo4j Spatial的REST整合

1.2 Neo4j Spatial特性

Neo4j Spatial的部分核心特性包括

  • 支援Esri Shapefile格式,OSM(OpenStreetMap)格式(只支援.osm格式)(補充:Open Street Map目前逐步適用PBF替代OSM)
  • 支援所有通用的幾何要素
  • 在空間查詢的時候支援拓撲操作
  • 允許任何圖資料都實現空間操作功能
  • 能夠將單一圖層或者資料集拆分成多個子圖層
2.Neo4j Spatial安裝2.1 EGit安裝

EGit是Eclipse團隊提供的Git外掛程式,它基於JGit(Git的java實現版本)實現的,允許在Eclipse中實現Git的各種命令[15]。它的安裝和其他外掛程式一樣,在eclipse中選擇Help->Install New Software,加入Update site http://download.eclipse.org/egit/updates 會1所示:

圖1 安裝EGit

安裝成功的話,需要重啟Eclipse。File ->New -> Other,會看到Git的字樣。

2.2 M2eclipse安裝

M2eclipse是Maven的Eclipse外掛程式,項目的目標是提供為Eclipse 提供一流的Maven支援,使它能夠更方便地編輯POM檔案,構建項目等[16]。同樣可以通過Update Site 安裝:http://download.eclipse.org/technology/m2e/releases。2所示:

圖2 安裝M2Eclipse

安裝成功的話,需要重啟Eclipse。File ->New -> Other,會看到Maven的字樣。

2.2Neo4j Spatial安裝

Neo4j Spatial源碼可以在Github下載,我們通過以上安裝的兩個外掛程式,來構建和安裝我們的Neo4j Spatial項目。首先在eclipse中File中匯入Git項目,

File -> Import -> Git -> Project from Git.如果本地已經存在Git庫,可以選擇Local.我們遠程下載Spatial,選擇URI,3所示。

圖3 選擇遠程庫

輸入Neo4j Spatial URI,然後Next,-4所示:

圖4 輸入URI

EGit會自動Fetch回所有的源碼,我們可以按照自己需要選擇特定版本,然後Next。5所示:

圖5 選擇源碼版本

然後可以一直Next,直至選擇匯入的項目類型,選擇Import as general projcet.6 所示:

圖6 匯入項目

再Next然後點finish 完成neo4j spatial 的匯出。此時,還需要將該項目轉化成Maven Project ,選中項目,右鍵:Configure ->Convert to Maven Project.最後我們得到了一個git管理下的maven項目。使用如下命令來安裝Neo4j Spatial。

 
mvn clean install
 

在eclipse操作是 Run as ->5. Maven Build ->輸入構建目標。 7所示:

圖7 構建Neo4j Spatial 項目

M2eclipse會自動構建工程。如果安裝失敗的話,可以使用如下命令跳過單元測試

 
mvn clean install -DskipTests
 

最後eclipse的console會報出build success。

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.