neo4jneo4j入門


備註

本節概述了neo4j是什麼,以及開發人員為什麼要使用它。

它還應該提到neo4j中的任何大型主題,並鏈接到相關主題。由於neo4j的文檔是新的,您可能需要創建這些相關主題的初始版本。

Cypher查詢語言

這是Cypher,Neo4j的查詢語言。在許多方面,如果您熟悉它,Cypher與SQL類似,除了SQL指的是存儲在表中的項目,而Cypher指的是存儲在圖形中的項目。

首先,我們應該從學習如何創建圖表和添加關係開始,因為這基本上就是Neo4j的全部內容。

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • 您使用CREATE來創建數據
  • 要指示節點,請使用括號:()
  • ab:Object部分可以按如下方式細分:變量'ab'和新節點的標籤'Object'。請注意,變量可以是任何變量,但您必須在Cypher Query行中保持一致
  • 要向節點添加屬性,請使用括號:{}括號

接下來,我們將學習如何找到MATCH

MATCH (abc:Object) WHERE abc.destination = "England" RETURN abc;
 

MATCH指定您要搜索某個節點/關係模式(abc:Object)是指一個節點Pattern(帶有標籤Object),它將匹配存儲在變量abc中。您可以將整行視為以下內容

abc =  find the matches that is an Object WHERE the destination is England.
 

在這種情況下,WHERE添加一個約束,即目標必須是英格蘭。您必須在所有MATCH查詢的末尾包含一個返回值(neo4j不會只接受匹配...您的查詢必須始終返回一些值[這也取決於您正在編寫的查詢類型...我們將更多地討論稍後我們將介紹您可以製作的其他類型的查詢]。

在我們討論了Cypher查詢語言的更多元素之後,將在未來解釋下一行。這是為了讓您體驗一下我們用這種語言可以做些什麼!下面,您將找到一個示例,其中包含標題以“T”開頭的電影

MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE movie.title STARTS WITH "T"
RETURN movie.title AS title, collect(actor.name) AS cast
ORDER BY title ASC LIMIT 10;
 

完整的命令列表及其語法可在此處的官方Neo4j Cypher參考卡中找到

安裝和啟動Neo4j服務器

先決條件步驟:

  • 在您的計算機上安裝Java
  • 訪問neo4j網站 ,然後單擊“下載社區版” 鏈接或直接訪問下載鏈接
  • 將.tar下載的文件解壓縮到主目錄中

從控制台啟動Neo4j(無頭,沒有Web服務器)

  • 訪問解壓縮文件夾的子目錄/bin ,並在終端./neo4j console 執行
  • 您現在可以在終端中執行neo4j查詢

啟動Neo4j Web服務器

  • 訪問解壓縮文件夾的子目錄/ bin,並在終端./neo4j start 執行
  • 訪問http:// localhost:7474 /
  • 只有第一次,您必須使用默認帳戶登錄並更改默認密碼。從社區版本3.0.3開始,默認用戶名和密碼是neo4j和neo4j。
  • 您現在可以在Web瀏覽器中提供的控制台中插入Neo4j查詢,並直觀地調查每個查詢的結果。

啟動Neo4j Web服務器

目前每個Neo4j服務器(在社區版中)可以託管一個Neo4j數據庫,因此為了設置新的數據庫:

  • 訪問子目錄/bin 並執行./neo4j stop 以停止服務器
  • 訪問子目錄/conf 並編輯neo4j.conf 文件,將參數dbms.active_database 的值更改為要創建的新數據庫的名稱。
  • 再次訪問子目錄/ bin並執行./neo4j start
  • Web服務器已使用新的空數據庫再次啟動。您可以再次訪問http:// localhost:7474 /以使用新數據庫。
  • 創建的數據庫位於子目錄/data/databases ,位於參數dbms.active_database 指定名稱的文件夾下。

刪除其中一個數據庫

  • 確保Neo4j服務器沒有運行;轉到子目錄/ bin並執行./neo4j status 。如果輸出消息顯示服務器正在運行,則執行./neo4j stop

  • 然後轉到子目錄/數據/數據庫並刪除要刪除的數據庫的文件夾。

安裝或設置

轉到安裝Neo4j ,它應該通過Web瀏覽器檢測OS平台,下載並按照操作系統的常規安裝說明進行操作。

Neo4j是用Java創建的,因此可以在安裝了Java的任何平台上運行,但是Neo4j團隊通過為流行平台提供簡單的安裝包來簡化安裝(例如,針對Mac的.dmg,針對Debian和Ubuntu的.deb,.exe。適用於Windows 64和32位平台......)。

要查看其他可用的版本和平台,請參閱其他Neo4j版本頁面

將Neo4j設置為Docker容器:

## Required : Docker machine, docker cli

# Pull neo4j image from the docker hub
docker pull neo4j

# create the docker container
docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    neo4j

# If you are running docker directly on the host (e.g ubuntu, RHEL, CentOs etc)
#     Access the neo4j console at http://localhost:7474
# If you are on OSX/ Windows
#     Access the neo4j console at http://<docker-machine-ip>:7474
 

RDBMS與圖數據庫

RDBMS 圖數據庫
圖表
節點
列和數據屬性及其值
約束關係
加盟穿越