国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

還有和Redis一樣好用的NoSQL

存儲(chǔ) 存儲(chǔ)軟件 Redis
Neo4j是一個(gè)世界領(lǐng)先的開(kāi)源的基于圖的數(shù)據(jù)庫(kù)。它是使用Java語(yǔ)言完全開(kāi)發(fā)的。那么什么是圖數(shù)據(jù)庫(kù)呢?圖數(shù)據(jù)庫(kù)是以圖結(jié)構(gòu)的形式存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)。

[[441486]]

實(shí)際上為了更好的描述實(shí)體之間的關(guān)系,我們要是再繼續(xù)使用Redis的話,是不是感覺(jué)實(shí)體之間的關(guān)系不夠那么的明顯,雖然也是屬于NoSQL的一種,但是相對(duì)來(lái)說(shuō),Redis,表現(xiàn)實(shí)體之間的關(guān)系就沒(méi)有那么清晰了,為了更好的描述實(shí)體之間的關(guān)系,就會(huì)使用圖形數(shù)據(jù)庫(kù)來(lái)進(jìn)行了,那么今天阿粉介紹的,就是一個(gè)圖形化的數(shù)據(jù)可,Neo4J。

什么是Neo4J

Neo4j是一個(gè)世界領(lǐng)先的開(kāi)源的基于圖的數(shù)據(jù)庫(kù)。它是使用Java語(yǔ)言完全開(kāi)發(fā)的。那么什么是圖數(shù)據(jù)庫(kù)呢?圖數(shù)據(jù)庫(kù)是以圖結(jié)構(gòu)的形式存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)。它以節(jié)點(diǎn),關(guān)系和屬性的形式存儲(chǔ)應(yīng)用程序的數(shù)據(jù)。正如RDBMS以表的“行,列”的形式存儲(chǔ)數(shù)據(jù),GDBMS以圖的形式存儲(chǔ)數(shù)據(jù)。

RDBMS與圖數(shù)據(jù)庫(kù)的區(qū)別

1.Tables 表Graphs 圖表

2.Rows 行Nodes 節(jié)點(diǎn)

3.Columns and Data 列和數(shù)據(jù) Properties and its values屬性及其值

4.Constraints 約束Relationships 關(guān)系

5.Joins 加入Traversal 遍歷

說(shuō)完了圖形數(shù)據(jù)庫(kù),我們就來(lái)看看這個(gè) Neo4J 數(shù)據(jù)庫(kù)吧

Neo4J 數(shù)據(jù)庫(kù)的安裝

neo4j是用Java語(yǔ)言編寫(xiě)的圖形數(shù)據(jù)庫(kù),運(yùn)行時(shí)需要啟動(dòng)JVM進(jìn)程,因此,需安裝JAVA SE的JDK。關(guān)于 Java 怎么安裝,我就不用再多廢話了吧,到時(shí)候別忘了檢測(cè)一下 Java 的版本就好了,java -version

接下來(lái)我們就是要進(jìn)行一個(gè)安裝了,我們先去官網(wǎng),下載社區(qū)版,企業(yè)版要收費(fèi)的,注意哈。

官網(wǎng)地址

下載完成,直接開(kāi)始安裝,傻瓜式操作即可。

Neo4j應(yīng)用程序有如下主要的目錄結(jié)構(gòu):

  • bin目錄:用于存儲(chǔ)Neo4j的可執(zhí)行程序
  • conf目錄:用于控制Neo4j啟動(dòng)的配置文件
  • data目錄:用于存儲(chǔ)核心數(shù)據(jù)庫(kù)文件
  • plugins目錄:用于存儲(chǔ)Neo4j的插件

注意,如果你使用的是Zip的壓縮包來(lái)進(jìn)行的使用的話,那么你就需要注意一些地方,比如你如果是用 Zip 的包解壓之后,并且想要通過(guò) bat 的命令啟動(dòng),直接在目錄下進(jìn)行 cmd ,然后 neo4j.bat ,這時(shí)候可能會(huì)出現(xiàn)一個(gè)問(wèn)題,就是版本可能會(huì)出現(xiàn)問(wèn)題,你如果下載使用的是最新版的 Neo4J ,那么就可能會(huì)讓你使用 JDK 11 ,而阿粉就是踩過(guò)了這個(gè)大坑之后,才發(fā)現(xiàn),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 

這樣就是說(shuō)明我們的 JDk 的版本對(duì)應(yīng)的和 Neo4J 需要的 JDK 是不匹配的,我們就需要換一下我們的 JDK 了。把他換成 JDK 11 就好了,再次啟動(dòng)。

  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. 

這時(shí)候,我們就直接訪問(wèn) localhost:7474 的端口,直接就能看到如下的畫(huà)面, 1.jpg

剛進(jìn)入的時(shí)候可能需要大家輸入帳號(hào)密碼,默認(rèn)的帳號(hào)密碼就是,neo4j 修改成你想要的就行了。

這樣登錄進(jìn)去我們就能開(kāi)始正式學(xué)習(xí) Neo4J 的所有內(nèi)容了。

Neo4J 的語(yǔ)法教學(xué)

Neo4j - CQL語(yǔ)法

  • 它是Neo4j圖形數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)言。
  • 它是一種聲明性模式匹配語(yǔ)言
  • 它遵循SQL語(yǔ)法。
  • 它的語(yǔ)法是非常簡(jiǎn)單且人性化、可讀的格式。

我們?cè)谥v語(yǔ)法之前首先我們先得看看 Neo4J 的構(gòu)建模塊,不然之后的查詢(xún)都是無(wú)意義的。

Neo4j圖數(shù)據(jù)庫(kù)主要有以下構(gòu)建塊 -

  • 節(jié)點(diǎn)
  • 屬性
  • 關(guān)系
  • 標(biāo)簽
  • 數(shù)據(jù)瀏覽器

節(jié)點(diǎn)是圖表的基本單位。它包含具有鍵值對(duì)的屬性,如下所示

屬性是用于描述圖節(jié)點(diǎn)和關(guān)系的鍵值對(duì)

關(guān)系是圖形數(shù)據(jù)庫(kù)的另一個(gè)主要構(gòu)建塊。它連接兩個(gè)節(jié)點(diǎn),如下所示。

Label將一個(gè)公共名稱(chēng)與一組節(jié)點(diǎn)或關(guān)系相關(guān)聯(lián)。節(jié)點(diǎn)或關(guān)系可以包含一個(gè)或多個(gè)標(biāo)簽。我們可以為現(xiàn)有節(jié)點(diǎn)或關(guān)系創(chuàng)建新標(biāo)簽。我們可以從現(xiàn)有節(jié)點(diǎn)或關(guān)系中刪除現(xiàn)有標(biāo)簽。

Neo4j數(shù)據(jù)瀏覽器 一旦我們安裝Neo4j,我們可以訪問(wèn)Neo4j數(shù)據(jù)瀏覽器使用以下URL

http:// localhost:7474 / browser /

CQL 語(yǔ)法

CREATE 語(yǔ)法

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

它是我們要?jiǎng)?chuàng)建的節(jié)點(diǎn)名稱(chēng)。

它是一個(gè)節(jié)點(diǎn)標(biāo)簽名稱(chēng)

我們可以創(chuàng)建一個(gè)節(jié)點(diǎn),然后給他安排上一個(gè)標(biāo)簽

  1. CREATE (emp:Employee) 

當(dāng)我們看到

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

這就創(chuàng)建成功了,

那么怎么查看呢?

MATCH語(yǔ)法

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

是這個(gè)樣子的

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

但是看到里面竟然沒(méi)有東西,就相當(dāng)于是一個(gè)空的對(duì)象,那是不是就應(yīng)該給里面放入屬性的操作呢?沒(méi)錯(cuò),肯定有

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

Added 1 label, created 1 node, set 3 properties, completed after 163 ms. 創(chuàng)建成功。

我們?cè)俅尾榭淳湍芸吹?/p>

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

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

RETURN語(yǔ)法

RETURN 可以返回的是一個(gè)對(duì)象,也可以是對(duì)象中的屬性,比如:

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

結(jié)果就是下面這個(gè)樣子的,大家看一下,是不是感覺(jué)還是挺好用的。

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

** WHERE語(yǔ)法**

 

  1. WHERE <condition> 

為什么在前面的位置阿粉說(shuō),CQL 是和 SQL 類(lèi)型的,這完全是因?yàn)楹芏鄸|西和 SQL 是類(lèi)似的。

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

結(jié)果如下:

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

相同的還有

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

DELETE語(yǔ)法

刪除語(yǔ)法必然是有的,因?yàn)橛袆?chuàng)建,肯定有刪除。

 

  1. DELETE <node-name-list> 

但是這個(gè)命令也不是單獨(dú)使用的哈,

  1. MATCH (e: Employee) DELETE e 

直接刪除成功。

基礎(chǔ)的東西講完了,阿粉就得說(shuō)說(shuō)這個(gè)比較重要的內(nèi)容了,關(guān)系,

Neo4j 的關(guān)系

我們之前創(chuàng)建節(jié)點(diǎn)的時(shí)候,那叫一個(gè)簡(jiǎn)單舒適加愉快,但是創(chuàng)建關(guān)系就比較復(fù)雜了,因?yàn)樾枰紤]如何匹配到有關(guān)系的兩個(gè)節(jié)點(diǎn),以及關(guān)系本身的屬性如何設(shè)置。這里我們就簡(jiǎn)單學(xué)一下如何建立節(jié)點(diǎn)之間的關(guān)系。

由于Neo4j CQL語(yǔ)法是以人類(lèi)可讀的格式。Neo4j CQL也使用類(lèi)似的箭頭標(biāo)記來(lái)創(chuàng)建兩個(gè)節(jié)點(diǎn)之間的關(guān)系。

每個(gè)關(guān)系(→)包含兩個(gè)節(jié)點(diǎn)

在Neo4j中,兩個(gè)節(jié)點(diǎn)之間的關(guān)系是有方向性的。它們是單向或雙向的。

如果我們嘗試創(chuàng)建一個(gè)沒(méi)有任何方向的關(guān)系,那么就會(huì)報(bào)錯(cuò)。

關(guān)系創(chuàng)建語(yǔ)法

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

我們這里直接使用創(chuàng)建新的節(jié)點(diǎn)來(lái)創(chuàng)建關(guān)系。

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

提示創(chuàng)建成功

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

這里關(guān)系名稱(chēng)是“CONTAINS”

關(guān)系標(biāo)簽是“contains”。

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

這么看是看不出有啥關(guān)系的,但是,我們可以從另外的一個(gè)位置

 

這樣看下來(lái),這個(gè) Neo4J 簡(jiǎn)單操作是不是就學(xué)會(huì)了,阿粉接下來(lái)的文章中講怎么使用 Java 來(lái)操作 Neo4J 數(shù)據(jù)庫(kù)。歡迎大家來(lái)觀看。

 

責(zé)任編輯:武曉燕 來(lái)源: Java極客技術(shù)
相關(guān)推薦

2023-04-05 14:19:07

FlinkRedisNoSQL

2012-03-07 17:24:10

戴爾咨詢(xún)

2011-02-28 10:38:13

Windows 8

2012-12-20 10:17:32

IT運(yùn)維

2009-06-12 15:26:02

2023-08-09 09:03:25

Typescript工具Jsdoc

2015-08-25 09:52:36

云計(jì)算云計(jì)算產(chǎn)業(yè)云計(jì)算政策

2020-03-02 10:56:41

辦公電腦疫情

2013-01-11 18:10:56

軟件

2020-05-19 10:02:58

CIOIPD集成產(chǎn)品開(kāi)發(fā)

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

聯(lián)宇益通SD-WAN

2015-10-19 12:33:01

華三/新IT

2009-03-07 18:53:46

Chrome瀏覽器訂制

2016-05-09 18:40:26

VIP客戶(hù)緝拿

2022-02-26 09:39:19

前端SSR編譯

2009-11-26 09:47:35

SharePoint2

2018-05-09 15:42:24

新零售
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲人成网www| 电影亚洲精品噜噜在线观看| 久久精品主播| 91精品国产综合久久香蕉| av日韩电影| 亚洲色图视频网| 日本十八禁视频无遮挡| 狠狠狠色丁香婷婷综合激情 | 国产午夜精品一区| 欧美一区二区三区高清视频| 欧美极品少妇xxxxⅹ喷水| 欲香欲色天天天综合和网| 欧美在线观看18| 偷拍25位美女撒尿视频在线观看| 一区二区中文视频| 在线免费视频一区| 欧美国产日韩一二三区| 激情五月宗合网| jlzzjlzz国产精品久久| 日韩亚洲欧美视频| 97成人超碰视| 国产男女在线观看| 91蜜桃婷婷狠狠久久综合9色| 欧美 亚洲 视频| 成人做爰69片免费看网站| 一区二区三区日韩视频| 激情综合色播五月| 国产又爽又黄ai换脸| 狠狠色综合色综合网络| 青青草综合在线| 成人动漫在线一区| 日韩精品一区二区三区不卡| 久久影院午夜论| 国产精品亚洲a| 久久午夜羞羞影院免费观看| 欧美性猛交久久久乱大交小说| 国产欧美日韩三区| 男女18免费网站视频| 亚洲国产另类av| bbbbbbbbbbb在线视频| 7878成人国产在线观看| 色网在线免费观看| 伊人亚洲福利一区二区三区| 国产日韩在线观看视频| 国产成人一区二区三区电影| 第一sis亚洲原创| 91视频免费在线| 亚洲综合另类| 国内少妇毛片视频| 综合久久国产九一剧情麻豆| 户外极限露出调教在线视频| 日韩午夜激情av| 国产色99精品9i| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 日本女人一区二区三区| 一级全黄肉体裸体全过程| 国产91精品久久久久久久网曝门| 免费日韩中文字幕| 亚洲午夜一二三区视频| 性xxxxfjsxxxxx欧美| 久久视频在线直播| 狠狠色丁香婷婷综合影院| www.久久爱.cn| 国产成人精品影院| 天堂中文av| 精品成人一区二区| 精品欧美视频| 91色琪琪电影亚洲精品久久| 久久99深爱久久99精品| 另类图片亚洲色图| 日韩三级.com| 全球av集中精品导航福利| 精品视频第一区| 91亚洲精品乱码久久久久久蜜桃| 色就是色亚洲色图| 国产亚洲精品美女久久久久| 99久久亚洲精品| 欧美黄色免费网址| 欧美日韩精品中文字幕| 欧美xxx网站| 亚洲一区二区少妇| 99视频精品全部免费在线| 黄色片在线免费看| 欧美成人精品xxx| 日韩亚洲精品在线| 福利视频午夜| 亚洲人成电影在线播放| 午夜免费一区| 777777av| 在线综合视频播放| 自拍偷拍欧美一区| 国产性生活免费视频| 色综合天天综合狠狠| 久久er热在这里只有精品66| 国产欧美精品一区二区三区| 国产精品视频一二三区| 激情国产在线| 国产伦精品一区二区三区视频免费| 久久久av毛片精品| 欧美gv在线| 国产乱子伦精品| 亚洲人成影院在线观看| 亚洲电影有码| 日本精品二区| 色一情一伦一子一伦一区| 成人av综合网| 无码专区aaaaaa免费视频| 日韩久久免费av| 欧美日韩免费观看一区=区三区| 成人黄网18免费观看的网站| 国产亚洲欧美视频| 麻豆国产精品777777在线| 天堂中文8资源在线8| 国产精品久久久久久网站| 久久久美女艺术照精彩视频福利播放| 白白色在线观看| 精品麻豆av| 一本大道久久a久久精二百| 一本久久青青| 三上悠亚在线一区二区| 丝袜亚洲另类欧美重口| 久久国产精品99精品国产| h片在线观看网站| 成人做爰66片免费看网站| 亚洲香蕉伊在人在线观| 中文一区二区三区四区| av在线观看地址| 国产亚洲精品久久久久久| 奇米一区二区三区av| 性网站在线观看| 欧美精品亚洲精品| 91精品国产综合久久香蕉的特点 | 日韩动漫一区| 任你操这里只有精品| 中文字幕在线观看日韩| 国产一区二区毛片| 欧美大片高清| 无码人妻精品一区二区蜜桃网站| 日韩成人在线视频观看| 极品少妇xxxx偷拍精品少妇| 中国色在线日|韩| 欧美在线观看黄| 亚洲精品视频播放| 激情深爱一区二区| 日韩欧美看国产| 男女啪啪免费视频网站| 日韩三级影视基地| 国产欧美一区二区在线观看| 超碰精品在线| julia京香一区二区三区| 成人黄在线观看| 欧美性生活影院| 免费久久精品视频| yy6080久久伦理一区二区| 国产成人手机视频| 欧美综合激情网| 欧美视频在线观看 亚洲欧| 国产精品久久久久毛片大屁完整版 | 午夜国产一区| 99精品老司机免费视频| 欧美在线激情| 亚洲欧美一区二区激情| 91免费观看在线| 狠狠综合久久av一区二区蜜桃| 国产有码在线| 亚洲精品在线免费看| 在线免费看av不卡| 亚洲人成人一区二区在线观看 | 亚洲男人天堂网站| 成人午夜激情片| 亚洲电影一区| 激情视频网址| 久久99影院| 一区二区三区视频免费在线观看| 久久久不卡网国产精品一区| 欧美午夜精品一区二区三区电影| wwwxxx在线观看| 丁香婷婷综合激情| 性欧美亚洲xxxx乳在线观看| 在线精品视频一区二区三四| 激情伊人五月天久久综合| 麻豆一区二区麻豆免费观看| 成人免费高清在线播放| 黄色一级片av| 日本精品视频在线| 精品三级在线看| 国产精品久久久久天堂| 欧美三级第一页| 在线免费黄色| 超碰免费在线观看| 亚洲高清成人影院| 在线免费看黄| 理论片午午伦夜理片在线播放| 在线观看亚洲色图| 亚洲jizzjizz日本少妇| 欧美一区二区视频在线观看2020 | 欧美aa国产视频| 欧美特大特白屁股xxxx| 三上悠亚一区| 伊人久久大香线蕉成人综合网|