Neo4j 和圖資料庫起步
我們將安裝 Neo4j 並通過網頁客戶端在圖中插入並查詢數據。
-- Ruth Holloway
編譯自 https://opensource.com/article/17/7/neo4j-graph-databases-getting-started
作者 Ruth Holloway
譯者 happygeorge01
在這個三篇文章系列中的第二篇中,安裝 Neo4j 並通過網頁客戶端來在圖中插入和查詢數據。
在本系列的第一篇
[1]
中,我們介紹了圖資料庫中的一些核心概念。在這篇,我們將安裝Neo4j
[2]
並通過網頁客戶端在圖中插入並查詢數據。
可通過他們的網站
[3]
下載社區版的 Neo4j!你可以下載 Windows 或 OSX 版來測試,也有各 Linux 發行版對應的版本,還有 Docker 版。
我會在 Debian 9 (stretch) 上安裝軟體。你可在這裡
[4]
查看完整說明。如果你正在使用 Debian 8 (jessie) 或更老的版本,你可以安裝當前的版本,但會出現的一點小問題是 jessie 中並沒有安裝 Neo4j 運行所需要的 Java 8 環境。
在我的系統中,出於某些原因,我創建好 之後它就可以很輕鬆地開始了。Neo4j 給了一個「最大打開文件數」的警告,但因為是測試環境所以我不太需要關心這個問題。Neo4j 默認只會監聽本機 localhost 上的連接。如果你的機器是 Debian ,那這很好,但是我的不是。我修改了 ,取消注釋了下面這行:
在重啟 Neo4j 之後,我可以通過 7474 埠來訪問伺服器的 Neo4j 服務。默認的用戶名和密碼是 和 ; 你需要設置一個新密碼,然後會出現初始頁面:
Installing Neo4J
讓我們在 Neo4j 上創建上篇文章
[1]
中使用過的圖。如下圖:
Graph database image 2, defining a new type of node
類似 MySQL 和其它的資料庫系統,Neo4j 的各類操作也使用一套查詢語句。Cypher,就是 Neo4j 使用的查詢語句,但有一些語法區別需要去學習和注意。節點node需要用圓括弧表示,而關係relationship需要放在方括弧中。因為這是系統中唯二的數據類型,所以了解這些就夠了。
首先,我們創建所有的節點。你需要將下面內容複製黏貼到瀏覽器頂部區域中,在那裡運行查詢語句。
注意,在標籤前的字元就是變數。這些信息會在出現在各個地方,但我們在這裡並不會用到。但你不能不指定相應信息就盲目創建,所以我們使用它們然後就忽略它們。
在上面一共創建了 10 個節點和 13 個屬性。想查看它們? 通過下面語句來匹配查詢所有節點:
這條語句會返回一個可視化的圖。(在應用內,你可以在返回的圖中使用」全屏」按鈕來查看大圖)。你將會看到類似下面的圖像:
Visual graph
添加關係需要一點技巧;你需要連接的節點必須是 「在限定範圍內的in scope」,意思連接的節點是在當前查詢語句所限定的範圍內的。我們之前使用的查詢語句範圍太大,所以讓我們找到 John 和 Jane 並讓他們結婚:
這條語句會創建一個關係並設置兩個屬性。重新運行該 語句會顯示那個關係。你可以通過滑鼠點擊任意的節點或關係來查看它們的屬性。
我們來添加其它的關係。比起使用一些列的 語句,我會一次性做完並從中 創建多個關係。
重新運行該 語句,你將會看到下面圖像:
Graph after re-querying with MATCH
如果你喜歡,你可以將節點拖拉成像我之前畫的圖的樣子。
在這個例子中,我們唯一使用的 就是 所有的東西。下面這個查詢會返回兩個結婚了的夫妻並顯示他們之間的關係:
在一個更複雜的圖中,你可以做更多的細節查詢。(LCTT 譯註:此例子為 Neo4j 自帶例子的)例如,你有關於電影和人的節點,還有像 、、 等屬性的關係,你可以運行下面這個查詢:
……上述是查詢和 Mel Gibson 相關的所有影片。但如果你想查詢他演過的所有電影,下面這條語句會更有用:
還有更多更炫酷的 Cypher 語句可以使用,但我們就簡單介紹這些。更詳細完整的 Cypher 語句可以在 Neo4j 的官網
[5]
上查看, 並且也有很多例子可以練習。
在此系列的下篇文章中,我們會通過寫些 Perl 腳本來展示如何在應用中使用圖資料庫。
via:https://opensource.com/article/17/7/neo4j-graph-databases-getting-started
作者:Ruth Holloway
[7]
譯者:happygeorge01校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出
LCTT 譯者
happygeorge01
共計翻譯:1篇
貢獻時間:1 天
※如何在 Bash 中抽取子字元串
※AWS 幫助構建 ONNX 開源 AI 平台
※2017年30 款最好的支持 Linux的Steam 遊戲
TAG:Linux中國 |