當前位置:
首頁 > 最新 > Neo4j 和圖資料庫起步

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 天


    喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

    本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


    請您繼續閱讀更多來自 Linux中國 的精彩文章:

    如何在 Bash 中抽取子字元串
    AWS 幫助構建 ONNX 開源 AI 平台
    2017年30 款最好的支持 Linux的Steam 遊戲

    TAG:Linux中國 |