成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

還有和Redis一樣好用的NoSQL

存儲 存儲軟件 Redis
Neo4j是一個世界領先的開源的基于圖的數據庫。它是使用Java語言完全開發的。那么什么是圖數據庫呢?圖數據庫是以圖結構的形式存儲數據的數據庫。

[[441486]]

實際上為了更好的描述實體之間的關系,我們要是再繼續使用Redis的話,是不是感覺實體之間的關系不夠那么的明顯,雖然也是屬于NoSQL的一種,但是相對來說,Redis,表現實體之間的關系就沒有那么清晰了,為了更好的描述實體之間的關系,就會使用圖形數據庫來進行了,那么今天阿粉介紹的,就是一個圖形化的數據可,Neo4J。

什么是Neo4J

Neo4j是一個世界領先的開源的基于圖的數據庫。它是使用Java語言完全開發的。那么什么是圖數據庫呢?圖數據庫是以圖結構的形式存儲數據的數據庫。它以節點,關系和屬性的形式存儲應用程序的數據。正如RDBMS以表的“行,列”的形式存儲數據,GDBMS以圖的形式存儲數據。

RDBMS與圖數據庫的區別

1.Tables 表Graphs 圖表

2.Rows 行Nodes 節點

3.Columns and Data 列和數據 Properties and its values屬性及其值

4.Constraints 約束Relationships 關系

5.Joins 加入Traversal 遍歷

說完了圖形數據庫,我們就來看看這個 Neo4J 數據庫吧

Neo4J 數據庫的安裝

neo4j是用Java語言編寫的圖形數據庫,運行時需要啟動JVM進程,因此,需安裝JAVA SE的JDK。關于 Java 怎么安裝,我就不用再多廢話了吧,到時候別忘了檢測一下 Java 的版本就好了,java -version

接下來我們就是要進行一個安裝了,我們先去官網,下載社區版,企業版要收費的,注意哈。

官網地址

下載完成,直接開始安裝,傻瓜式操作即可。

Neo4j應用程序有如下主要的目錄結構:

  • bin目錄:用于存儲Neo4j的可執行程序
  • conf目錄:用于控制Neo4j啟動的配置文件
  • data目錄:用于存儲核心數據庫文件
  • plugins目錄:用于存儲Neo4j的插件

注意,如果你使用的是Zip的壓縮包來進行的使用的話,那么你就需要注意一些地方,比如你如果是用 Zip 的包解壓之后,并且想要通過 bat 的命令啟動,直接在目錄下進行 cmd ,然后 neo4j.bat ,這時候可能會出現一個問題,就是版本可能會出現問題,你如果下載使用的是最新版的 Neo4J ,那么就可能會讓你使用 JDK 11 ,而阿粉就是踩過了這個大坑之后,才發現,bat 閃退的原因。

  1. 警告: ERROR! Neo4j cannot be started using java version 1.8.0_181 
  2. 警告: * Please use Oracle(R) Java(TM) 11, OpenJDK(TM) 11 to run Neo4j Server. 
  3. * Please see https://neo4j.com/docs/ for Neo4j installation instructions. 
  4. Invoke-Neo4j : This instance of Java is not supported 
  5. 所在位置 E:\softFile\neo4j-community-4.4.2\bin\neo4j.ps1:21 字符: 7 
  6. + Exit (Invoke-Neo4j -Verbose:$Arguments.Verbose -CommandArgs $Argument ... 
  7. +       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  8.     + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException 
  9.     + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-Neo4j 

這樣就是說明我們的 JDk 的版本對應的和 Neo4J 需要的 JDK 是不匹配的,我們就需要換一下我們的 JDK 了。把他換成 JDK 11 就好了,再次啟動。

  1. neo4j.bat console 
  1. E:\softFile\neo4j-community-4.4.2\bin>neo4j.bat console 
  2. Directories in use: 
  3. home:         E:\softFile\neo4j-community-4.4.2 
  4. config:       E:\softFile\neo4j-community-4.4.2\conf 
  5. logs:         E:\softFile\neo4j-community-4.4.2\logs 
  6. plugins:      E:\softFile\neo4j-community-4.4.2\plugins 
  7. import:       E:\softFile\neo4j-community-4.4.2\import 
  8. data:         E:\softFile\neo4j-community-4.4.2\data 
  9. certificates: E:\softFile\neo4j-community-4.4.2\certificates 
  10. licenses:     E:\softFile\neo4j-community-4.4.2\licenses 
  11. run:          E:\softFile\neo4j-community-4.4.2\run 
  12. Starting Neo4j. 
  13. 2021-12-19 12:37:08.121+0000 INFO  Starting... 
  14. 2021-12-19 12:37:09.665+0000 INFO  This instance is ServerId{25e1fcb1} (25e1fcb1-702c-4b58-bcdc-3564df95b2a1) 
  15. 2021-12-19 12:37:11.957+0000 INFO  ======== Neo4j 4.4.2 ======== 
  16. 2021-12-19 12:37:14.556+0000 INFO  Initializing system graph model for component 'security-users' with version -1 and status UNINITIALIZED 
  17. 2021-12-19 12:37:14.567+0000 INFO  Setting up initial user from defaults: neo4j 
  18. 2021-12-19 12:37:14.568+0000 INFO  Creating new user 'neo4j' (passwordChangeRequired=true, suspended=false
  19. 2021-12-19 12:37:14.589+0000 INFO  Setting version for 'security-users' to 3 
  20. 2021-12-19 12:37:14.594+0000 INFO  After initialization of system graph model component 'security-users' have version 3 and status CURRENT 
  21. 2021-12-19 12:37:14.601+0000 INFO  Performing postInitialization step for component 'security-users' with version 3 and status CURRENT 
  22. 2021-12-19 12:37:15.979+0000 INFO  Bolt enabled on 127.0.0.1:7687. 
  23. 2021-12-19 12:37:17.200+0000 INFO  Remote interface available at http://localhost:7474/ 
  24. 2021-12-19 12:37:17.206+0000 INFO  id: 1ED17593750B5E6E3046A68E5254B92B64EE0B6CECA021D540D1B93BDFE67164 
  25. 2021-12-19 12:37:17.206+0000 INFO  name: system 
  26. 2021-12-19 12:37:17.207+0000 INFO  creationDate: 2021-12-19T12:37:12.956Z 
  27. 2021-12-19 12:37:17.207+0000 INFO  Started. 

這時候,我們就直接訪問 localhost:7474 的端口,直接就能看到如下的畫面, 1.jpg

剛進入的時候可能需要大家輸入帳號密碼,默認的帳號密碼就是,neo4j 修改成你想要的就行了。

這樣登錄進去我們就能開始正式學習 Neo4J 的所有內容了。

Neo4J 的語法教學

Neo4j - CQL語法

  • 它是Neo4j圖形數據庫的查詢語言。
  • 它是一種聲明性模式匹配語言
  • 它遵循SQL語法。
  • 它的語法是非常簡單且人性化、可讀的格式。

我們在講語法之前首先我們先得看看 Neo4J 的構建模塊,不然之后的查詢都是無意義的。

Neo4j圖數據庫主要有以下構建塊 -

  • 節點
  • 屬性
  • 關系
  • 標簽
  • 數據瀏覽器

節點是圖表的基本單位。它包含具有鍵值對的屬性,如下所示

屬性是用于描述圖節點和關系的鍵值對

關系是圖形數據庫的另一個主要構建塊。它連接兩個節點,如下所示。

Label將一個公共名稱與一組節點或關系相關聯。節點或關系可以包含一個或多個標簽。我們可以為現有節點或關系創建新標簽。我們可以從現有節點或關系中刪除現有標簽。

Neo4j數據瀏覽器 一旦我們安裝Neo4j,我們可以訪問Neo4j數據瀏覽器使用以下URL

http:// localhost:7474 / browser /

CQL 語法

CREATE 語法

  1. CREATE (<node-name>:<label-name>) 

它是我們要創建的節點名稱。

它是一個節點標簽名稱

我們可以創建一個節點,然后給他安排上一個標簽

  1. CREATE (emp:Employee) 

當我們看到

  1. Added 1 label, created 1 node, completed after 74 ms. 

這就創建成功了,

那么怎么查看呢?

MATCH語法

  1. MATCH (<node-name>:<label-name>) return xxx 

是這個樣子的

  1. MATCH (emp:Employee) return emp 
  1. ╒═════╕ 
  2. "emp"│ 
  3. ╞═════╡ 
  4. │{}   │ 
  5. └─────┘ 

但是看到里面竟然沒有東西,就相當于是一個空的對象,那是不是就應該給里面放入屬性的操作呢?沒錯,肯定有

CREATE (emp:Employee{ id : 1001 ,name :"lucy", age : 10})

Added 1 label, created 1 node, set 3 properties, completed after 163 ms. 創建成功。

我們再次查看就能看到

  1. ╒══════════════════════════════════╕ 
  2. "emp"                             │ 
  3. ╞══════════════════════════════════╡ 
  4. │{}                                │ 
  5. ├──────────────────────────────────┤ 
  6. │{"name":"lucy","id":1001,"age":10}│ 
  7. └──────────────────────────────────┘ 

如果我們想只要其中的一些對象的屬性,而不是全部屬性,那應該怎么操作呢?

RETURN語法

RETURN 可以返回的是一個對象,也可以是對象中的屬性,比如:

  1. MATCH (emp:Employee) return emp.name 

結果就是下面這個樣子的,大家看一下,是不是感覺還是挺好用的。

  1. ╒══════════╕ 
  2. "emp.name"│ 
  3. ╞══════════╡ 
  4. "Lokesh"  │ 
  5. ├──────────┤ 
  6. "jack"    │ 
  7. ├──────────┤ 
  8. "luxun"   │ 
  9. ├──────────┤ 
  10. "lucy"    │ 
  11. └──────────┘ 

** WHERE語法**

 

  1. WHERE <condition> 

為什么在前面的位置阿粉說,CQL 是和 SQL 類型的,這完全是因為很多東西和 SQL 是類似的。

  1. MATCH (emp:Employee) where emp.name = 'jack' return emp 

結果如下:

  1. ╒════════════════════════════════════════════════╕ 
  2. "emp"                                           │ 
  3. ╞════════════════════════════════════════════════╡ 
  4. │{"name":"jack","id":125,"deptno":10,"sal":35800}│ 
  5. └────────────────────────────────────────────────┘ 

相同的還有

布爾運算符 描述
AND
OR 或者
NOT
XOR 異或
比較運算符 描述
= “等于”運算符
<> “不等于”運算符
< “小于”運算符
> “大于”運算符
<= “小于或等于”運算符。
>= “大于或等于”運算符。

DELETE語法

刪除語法必然是有的,因為有創建,肯定有刪除。

 

  1. DELETE <node-name-list> 

但是這個命令也不是單獨使用的哈,

  1. MATCH (e: Employee) DELETE e 

直接刪除成功。

基礎的東西講完了,阿粉就得說說這個比較重要的內容了,關系,

Neo4j 的關系

我們之前創建節點的時候,那叫一個簡單舒適加愉快,但是創建關系就比較復雜了,因為需要考慮如何匹配到有關系的兩個節點,以及關系本身的屬性如何設置。這里我們就簡單學一下如何建立節點之間的關系。

由于Neo4j CQL語法是以人類可讀的格式。Neo4j CQL也使用類似的箭頭標記來創建兩個節點之間的關系。

每個關系(→)包含兩個節點

在Neo4j中,兩個節點之間的關系是有方向性的。它們是單向或雙向的。

如果我們嘗試創建一個沒有任何方向的關系,那么就會報錯。

關系創建語法

  1. CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>) 

我們這里直接使用創建新的節點來創建關系。

  1. CREATE (book:Book)-[contains:CONTAINS]->(bookStore:BOOKSTORE) 

提示創建成功

  1. Added 2 labels, created 2 nodes, created 1 relationship, completed after 199 ms. 

這里關系名稱是“CONTAINS”

關系標簽是“contains”。

  1. MATCH (book:Book)-[contains:CONTAINS]->(bookStore:BOOKSTORE) return contains 

這么看是看不出有啥關系的,但是,我們可以從另外的一個位置

 

這樣看下來,這個 Neo4J 簡單操作是不是就學會了,阿粉接下來的文章中講怎么使用 Java 來操作 Neo4J 數據庫。歡迎大家來觀看。

 

責任編輯:武曉燕 來源: Java極客技術
相關推薦

2023-04-05 14:19:07

FlinkRedisNoSQL

2011-02-28 10:38:13

Windows 8

2012-03-07 17:24:10

戴爾咨詢

2012-12-20 10:17:32

IT運維

2023-08-09 09:03:25

Typescript工具Jsdoc

2009-06-12 15:26:02

2015-08-25 09:52:36

云計算云計算產業云計算政策

2020-03-02 10:56:41

辦公電腦疫情

2013-01-11 18:10:56

軟件

2020-05-19 10:02:58

CIOIPD集成產品開發

2024-08-19 11:23:36

2021-12-23 15:11:46

Web 3.0元宇宙Metaverse

2011-03-14 16:51:24

2017-05-25 15:02:46

聯宇益通SD-WAN

2015-10-19 12:33:01

華三/新IT

2009-03-07 18:53:46

Chrome瀏覽器訂制

2016-05-09 18:40:26

VIP客戶緝拿

2022-02-26 09:39:19

前端SSR編譯

2009-11-26 09:47:35

SharePoint2

2018-05-09 15:42:24

新零售
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久国产一区二区三区四区小说 | 国产精品美女一区二区三区 | 中文字幕电影在线观看 | va在线| 天堂一区二区三区 | 天天操天天天干 | 国产精品1区2区3区 国产在线观看一区 | 日干夜操 | 久久精品99 | 精品一区二区三 | 久久久黑人 | 亚洲国产成人精品久久久国产成人一区 | 久久a久久 | www.日本国产 | 国产精品18毛片一区二区 | 日韩国产一区二区三区 | 午夜视频在线免费观看 | 国产精品69av | 国产精品久久久久久久久久久久冷 | 欧美二级| 久久在线| 久久久九九 | 鸡毛片 | 国产一区二区精品在线观看 | 91精品在线看 | 国产精品久久国产精品久久 | 久久久成人网 | 一级在线观看 | 中文字幕一二三区 | 色视频www在线播放国产人成 | 在线免费观看成人 | 亚洲一区二区在线播放 | 精品人伦一区二区三区蜜桃网站 | 精品久久亚洲 | 成人免费观看男女羞羞视频 | 成人在线一区二区 | 国产精品成人久久久久 | 欧美一级大片免费观看 | 精品日韩一区二区三区 | 国产欧美日韩综合精品一区二区 | 国产精品亚洲精品 |