国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

NEO4J的基本使用以及桌面版NEO4J Desktop導(dǎo)入CSV文件

這篇具有很好參考價(jià)值的文章主要介紹了NEO4J的基本使用以及桌面版NEO4J Desktop導(dǎo)入CSV文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

說明

因?yàn)槲乙矂偨佑|知識(shí)圖譜,就是小白,本篇博客相當(dāng)于一些入門級(jí)的Cypher語(yǔ)句的舉例,然后具體說明一下NEO4J?Desktop導(dǎo)入CSV文件是怎么實(shí)現(xiàn)的,以及他的一些基本操作,適合剛接觸的小伙伴。如果大家對(duì)于NEO4J的配置有疑問的話可以參考文章NEO4J桌面版的配置和連接Pycharm_neo4j 桌面版-CSDN博客

基本使用方法

1.清空數(shù)據(jù),刪除之前已有的節(jié)點(diǎn)、關(guān)系和屬性等。

match (n) detach delete n

2.展示知識(shí)圖譜中所有的節(jié)點(diǎn)、關(guān)系和屬性等。

match(n) return n

3.創(chuàng)建

創(chuàng)建節(jié)點(diǎn)

創(chuàng)建沒有屬性的節(jié)點(diǎn)

創(chuàng)建一個(gè)節(jié)點(diǎn),其標(biāo)簽為學(xué)生,沒有屬性。

create (n:學(xué)生) 

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

創(chuàng)建包含屬性的節(jié)點(diǎn)

n代表節(jié)點(diǎn)名 學(xué)生是節(jié)點(diǎn)的標(biāo)簽(label)名 姓名、年齡、性別都是屬性名 ,

標(biāo)簽名和屬性名不用引號(hào)修飾,但是屬性值如果是字符串需要加引號(hào)

create (n:學(xué)生 {姓名:'周杰倫',年齡:40,性別:'男'})

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

創(chuàng)建多標(biāo)簽的節(jié)點(diǎn)

創(chuàng)建一個(gè)既是學(xué)生又是父親的節(jié)點(diǎn)

CREATE (n:學(xué)生:父親)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

我們也可以為周杰倫參加上一個(gè)歌手的節(jié)點(diǎn)標(biāo)簽

MATCH(學(xué)生 {姓名:'周杰倫'}) set 學(xué)生:歌手 

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

創(chuàng)建關(guān)系

創(chuàng)建新關(guān)系
CREATE (n:埠渝)-[r:LIKES]->(m:周杰倫) 
RETURN r

如下圖所示,會(huì)創(chuàng)建出兩個(gè)新的節(jié)點(diǎn) ,一個(gè)新的關(guān)系,即新節(jié)點(diǎn)+新關(guān)系+無屬性關(guān)系

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

創(chuàng)建有屬性的關(guān)系
CREATE (n:學(xué)生{姓名:"李四"})-[relation:LIKES{程度:"十分喜愛"}]->(m:老師{姓名:"唐老師"})

下圖可以看到,我們新建了一條帶屬性的關(guān)系邊。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

為現(xiàn)有的節(jié)點(diǎn)添加關(guān)系
MATCH (n:學(xué)生 {姓名:'埠渝'}), (m:歌手 {姓名:'周杰倫'})
CREATE (n)-[r:likes]->(m)
RETURN n, r, m;

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

當(dāng)然也可以增加一定的限制條件,比如說ID。這里的id要注意是自己電腦上的。

MATCH (n:學(xué)生 ), (m:歌手)
where id(m)=11 and id(n)=12
CREATE (n)-[r:DIS]->(m)
RETURN n, r, m;

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

4.查詢

查找節(jié)點(diǎn)相關(guān)信息

查找節(jié)點(diǎn)

其中這個(gè)學(xué)生是我們要查詢的節(jié)點(diǎn)的標(biāo)簽(label),where里的事節(jié)點(diǎn)的屬性,可以用來篩選節(jié)點(diǎn)標(biāo)簽是學(xué)生中,我們要去查詢的是哪一個(gè)。


match (n:學(xué)生) where n.姓名='埠渝' return n

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查詢節(jié)點(diǎn)的標(biāo)簽

也就是說像前面所說的,我們?yōu)橹芙軅悇?chuàng)建了兩個(gè)節(jié)點(diǎn)標(biāo)簽學(xué)生和歌手,意思就是把周杰倫這個(gè)節(jié)點(diǎn)對(duì)應(yīng)的所有標(biāo)簽都查詢出來。

MATCH (a:學(xué)生) where a.姓名='周杰倫' RETURN labels(a)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查詢節(jié)點(diǎn)的屬性值
MATCH (a:學(xué)生) where a.姓名='埠渝' RETURN properties(a)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查詢節(jié)點(diǎn)的屬性鍵
MATCH (a:學(xué)生) where a.姓名='埠渝' RETURN keys(a)

這里我們可以和上邊的圖對(duì)應(yīng)一下,就很容易理解是什么意思了。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查找與當(dāng)前節(jié)點(diǎn)有關(guān)系的的節(jié)點(diǎn)

查找李四所有有關(guān)系的老師的姓名

MATCH (n:學(xué)生 { 姓名 : '李四' })-->(m:老師) 
RETURN m.姓名
neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查找李四所有喜歡的老師的姓名

MATCH (n:學(xué)生 { 姓名 : '李四' })-[r:LIKES]->(m:老師)
RETURN m.姓名

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查找關(guān)系

查詢節(jié)點(diǎn)間的關(guān)系

查詢埠渝和周杰倫間的關(guān)系類型

match(a) where a.姓名='埠渝' match(b) where b.姓名='周杰倫' match p=(a)-[r]->(b) return type(r)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查詢關(guān)系的所有屬性

查詢李四和唐老師之間的關(guān)系的所有屬性

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

查詢節(jié)點(diǎn)間關(guān)系的屬性鍵
match(a)?where?a.姓名='李四'?match(b)?where?b.姓名='唐老師'?match?p=(a)-[r]->(b)?return?keys(r)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

5.刪除

刪除節(jié)點(diǎn)的所有相關(guān)關(guān)系

注意這里是沒有箭頭的

MATCH (n:學(xué)生{姓名:'埠渝'})-[r]-()
DELETE r

刪除節(jié)點(diǎn)的所有外向關(guān)系

這里就是有剪頭的了

MATCH ()-[r]->(n:老師{姓名:'唐老師'})
DELETE r

刪除某個(gè)檢點(diǎn)的某類關(guān)系

MATCH (n:學(xué)生{姓名:'埠渝'})-[r:LIKES]-()
DELETE r

刪除實(shí)體的屬性

MATCH (n:學(xué)生{姓名:'埠渝'})
REMOVE n.性別

刪除所有節(jié)點(diǎn)和關(guān)系

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

6.修改

修改節(jié)點(diǎn)屬性

create(n:學(xué)生{姓名:'埠渝',年齡:23})
MATCH (n:學(xué)生{姓名:'埠渝'})
SET n.姓名='王哥'

修改節(jié)點(diǎn)標(biāo)簽

MATCH (n:學(xué)生{姓名:'王哥'})
REMOVE n:學(xué)生
SET n:青年

修改關(guān)系的類型

MATCH (n:學(xué)生)-[r:LIKES]-(m:歌手)
WHERE n.姓名='埠渝' and m.姓名='周杰倫'
CREATE (n)-[r2:HATES]->(m)
DELETE r

NEO4J?Desktop導(dǎo)入CSV文件

數(shù)據(jù)準(zhǔn)備

將數(shù)據(jù)另存為下邊的這個(gè)文件格式。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

放入NEO4J中

這里像這樣點(diǎn)擊找到這個(gè)import ,會(huì)打開這個(gè)文件夾,這時(shí)候我們把上邊的CSV文件保存到文件夾里就可以了。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

代碼

打開Neo4j Browser,輸入下列代碼

load csv with headers from "file:///PersonD.csv" as PersonD return PersonD

輸出結(jié)果如下方所示,得到文件對(duì)應(yīng)的結(jié)構(gòu)化信息

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

創(chuàng)建節(jié)點(diǎn)

通過下列代碼可以將文件里的人都抽出來創(chuàng)建節(jié)點(diǎn),節(jié)點(diǎn)的標(biāo)簽為人,節(jié)點(diǎn)有一個(gè)屬性姓名

load csv with headers from "file:///PersonD.csv" as PersonD 
merge?(A:人{(lán)姓名:PersonD.人})
return?count(A)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

當(dāng)然,我們不用上邊的代碼,用下邊的代碼就可以把文件里所有的屬性都給節(jié)點(diǎn)帶上了。

load csv with headers from "file:///PersonD.csv" as PersonD 
merge?(A:人{(lán)姓名:PersonD.人,三種人:PersonD.三種人,黨員:PersonD.黨員,身份證號(hào):PersonD.身份證號(hào)碼,年齡:PersonD.年齡})
return?count(A)

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

依據(jù)CSV數(shù)據(jù)創(chuàng)建關(guān)系

準(zhǔn)備數(shù)據(jù)

保存在上述所說的import文件夾里。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

創(chuàng)建節(jié)點(diǎn)

分別輸入下列兩段代碼,創(chuàng)建節(jié)點(diǎn)

load?csv?with?headers?from?"file:///PersonD1.csv"?as?PersonD1
merge?(f:公民{公民:PersonD1.公民})
return?count(f)
load?csv?with?headers?from?"file:///PersonD1.csv"?as?PersonD1
merge?(B:身份{身份:PersonD1.身份})
return?count(B)

結(jié)果如下圖所示。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

建立關(guān)系

輸入下列代碼,可以將身份和公民之間建立關(guān)系。

load?csv?with?headers?from?"file:///PersonD1.csv"?as?PersonD1
MATCH?(f:公民{公民:PersonD1.公民})
MATCH?(B:身份{身份:PersonD1.身份})
MERGE?(f)-[r:身份是]->(B)

效果圖,如下。

neo4j desktop使用,neo4j,python,人工智能,知識(shí)圖譜

Create和Merge的區(qū)別

Create:

  • CREATE 用于創(chuàng)建節(jié)點(diǎn)、關(guān)系或者屬性,如果給定的模式已經(jīng)存在,CREATE 會(huì)強(qiáng)制性地創(chuàng)建新的節(jié)點(diǎn)、關(guān)系或?qū)傩裕词瓜嗤哪J揭呀?jīng)存在于數(shù)據(jù)庫(kù)中。
  • 它總是創(chuàng)建新的模式,不管之前是否存在相同的模式。

Merge:

  • MERGE 也用于創(chuàng)建節(jié)點(diǎn)、關(guān)系或者屬性,但它會(huì)首先嘗試在數(shù)據(jù)庫(kù)中查找給定的模式。如果找到了匹配的模式,則不會(huì)創(chuàng)建新的,而是將現(xiàn)有的模式返回。
  • 如果沒有找到匹配的模式,則會(huì)創(chuàng)建新的模式。

總的來說:

CREATE 總是創(chuàng)建新的模式,而 MERGE 會(huì)先查找是否已經(jīng)存在相同的模式,存在則返回,不存在則創(chuàng)建。在需要確保模式的唯一性時(shí),MERGE 是一個(gè)很有用的工具,可以避免重復(fù)創(chuàng)建相同的節(jié)點(diǎn)、關(guān)系或?qū)傩浴?/p>

報(bào)錯(cuò)

如果出現(xiàn)這個(gè)報(bào)錯(cuò),他的原因就是你的表格里的數(shù)據(jù)他不同列的個(gè)數(shù)不一樣,比如說第一列20個(gè),第二列19個(gè),這樣的話,你去讀第一列(最長(zhǎng)的這列)時(shí)不會(huì)出錯(cuò),但是去讀第二列的時(shí)候就會(huì)出錯(cuò),就是因?yàn)槟懔斜砝锏臄?shù)據(jù)不一樣長(zhǎng)。

Neo.ClientError.Statement.SemanticError Cannot merge the following node because of null property value for?文章來源地址http://www.zghlxwxcb.cn/news/detail-819358.html

歡迎大家有問題在評(píng)論區(qū)打出來,或者博客有什么問題,歡迎指正。

到了這里,關(guān)于NEO4J的基本使用以及桌面版NEO4J Desktop導(dǎo)入CSV文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Neo4j:入門基礎(chǔ)(二)~ 數(shù)據(jù)導(dǎo)入Neo4J

    Neo4j:入門基礎(chǔ)(二)~ 數(shù)據(jù)導(dǎo)入Neo4J

    neo4j導(dǎo)入數(shù)據(jù)的方式有以下幾種: Cypher create 語(yǔ)句,為每一條數(shù)據(jù)寫一個(gè)create Cypher load csv 語(yǔ)句,將數(shù)據(jù)轉(zhuǎn)成CSV格式,通過LOAD CSV讀取數(shù)據(jù)。 neo4j-admin import導(dǎo)入 官方提供的Java API - BatchInserter 大牛編寫的 batch-import 工具 neo4j-apoc load.csv + apoc.load.relationship 針對(duì)實(shí)際業(yè)務(wù)場(chǎng)景,定制

    2024年02月09日
    瀏覽(27)
  • Neo4j在Ubuntu 20.04上安裝、配置以及Python連接使用 - Neo4j

    1.?進(jìn)入要安裝neo4j的ubuntu環(huán)境。 2.?添加Debian資源庫(kù)。 java 1.8.xx版本對(duì)應(yīng)neo4j 3.xx版本(jdk 11版本對(duì)應(yīng)neo4j 4.xx版本): (1)wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - (2)echo \\\'deb https://debian.neo4j.com stable 3.5\\\' | sudo tee /etc/apt/sources.list.d/neo4j.list(或者:echo \\\'deb

    2024年02月04日
    瀏覽(94)
  • 使用apoc將數(shù)據(jù)從數(shù)據(jù)庫(kù)導(dǎo)入neo4j

    1、創(chuàng)建實(shí)體 這段代碼的目的是從 ClickHouse 數(shù)據(jù)庫(kù)中加載數(shù)據(jù)到 Neo4j 圖數(shù)據(jù)庫(kù),并在加載過程中使用 APOC(Awesome Procedures on Cypher)庫(kù)提供的 apoc.merge.node 過程來合并數(shù)據(jù),確保在圖數(shù)據(jù)庫(kù)中的節(jié)點(diǎn)具有唯一性。 逐行解釋這段代碼: CREATE CONSTRAINT uniq_law_id ON (p:Law) ASSERT p.id IS

    2024年02月21日
    瀏覽(27)
  • 關(guān)于Neo4j的使用及其基本命令

    關(guān)于Neo4j的使用及其基本命令

    進(jìn)入bin目錄: 先創(chuàng)建了兩個(gè)節(jié)點(diǎn): 這個(gè)關(guān)系創(chuàng)建完成! n代表節(jié)點(diǎn),可以替換。 必須先刪除關(guān)系才能刪除節(jié)點(diǎn):

    2024年02月07日
    瀏覽(34)
  • 【Neo4j教程之CQL命令基本使用】

    【Neo4j教程之CQL命令基本使用】

    ?? Neo4j ?? ?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ?? ?? 越難的東西,越要努力堅(jiān)持,因?yàn)樗哂泻芨叩膬r(jià)值,算法就是這樣? ?? 作者簡(jiǎn)介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國(guó)家獎(jiǎng)學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文|經(jīng)驗(yàn)

    2024年02月11日
    瀏覽(19)
  • 圖數(shù)據(jù)庫(kù)_Neo4j學(xué)習(xí)cypher語(yǔ)言_使用CQL_構(gòu)建明星關(guān)系圖譜_導(dǎo)入明星數(shù)據(jù)_導(dǎo)入明星關(guān)系數(shù)據(jù)_創(chuàng)建明星關(guān)系---Neo4j圖數(shù)據(jù)庫(kù)工作筆記0009

    圖數(shù)據(jù)庫(kù)_Neo4j學(xué)習(xí)cypher語(yǔ)言_使用CQL_構(gòu)建明星關(guān)系圖譜_導(dǎo)入明星數(shù)據(jù)_導(dǎo)入明星關(guān)系數(shù)據(jù)_創(chuàng)建明星關(guān)系---Neo4j圖數(shù)據(jù)庫(kù)工作筆記0009

    首先找到明星數(shù)據(jù) ? 可以看到有一個(gè)sheet1,是,記錄了所有的關(guān)系的數(shù)據(jù) ? 然后比如我們搜索一個(gè)撒貝寧,可以看到撒貝寧的數(shù)據(jù) ? 然后這個(gè)是構(gòu)建的CQL語(yǔ)句 ? 首先我們先去啟動(dòng)服務(wù) neo4j console ? ? 然后我們?cè)賮砜匆幌乱郧皩?dǎo)入的,可以看到導(dǎo)入很簡(jiǎn)單, 就是上面有CQL 看一下節(jié)

    2024年02月12日
    瀏覽(28)
  • Ubuntu20.04使用Neo4j導(dǎo)入CSV數(shù)據(jù)可視化知識(shí)圖譜

    Ubuntu20.04使用Neo4j導(dǎo)入CSV數(shù)據(jù)可視化知識(shí)圖譜

    1.安裝JDK( Ubuntu20.04 JDK11) 確認(rèn)安裝路徑為/usr/lib/jvm/java-11-openjdk-amd64/bin/java。 2 安裝Navicat查看知識(shí)庫(kù)(單機(jī)版推薦數(shù)據(jù)庫(kù))(此步驟可忽略) 官網(wǎng)下載安裝包: 手頭的數(shù)據(jù)庫(kù)是.db格式,使用nvicat查看。 安裝好nvicat后,導(dǎo)入demo.db文件,將需要的數(shù)據(jù)轉(zhuǎn)換成csv格式。 3 安裝Neo4

    2024年04月23日
    瀏覽(24)
  • Neo4j 導(dǎo)入CSV數(shù)據(jù)

    Neo4j 導(dǎo)入CSV數(shù)據(jù) 要求 必須有一個(gè)或多個(gè) CSV 文件來表示將在圖中創(chuàng)建的節(jié)點(diǎn)和關(guān)系。 必須有一個(gè)已啟動(dòng)的現(xiàn)有 Neo4j DBMS。 Neo4j 中存儲(chǔ)為屬性的數(shù)據(jù)類型 String:字符串 Long (integer values):整數(shù)值 Double (decimal values):雙精度(十進(jìn)制值) Boolean:布爾值 Date/Datetime:時(shí)間 Point (sp

    2024年02月03日
    瀏覽(22)
  • Neo4j導(dǎo)入csv文件

    Neo4j導(dǎo)入csv文件

    Neo4j 數(shù)據(jù)庫(kù)可以使用 load csv 命令從 CSV 文件中導(dǎo)入數(shù)據(jù)。 load csv 命令可以幫助我們導(dǎo)入中小型的數(shù)據(jù),理論上大概能處理到一千萬條記錄。 其中,CSV文件推薦是使用 UTF-8 編碼,不然就會(huì)造成中文亂碼的糟糕情況。 Neo4j的配置文件是 conf 文件夾下的 neo4j.conf 文件,里面有一句

    2023年04月08日
    瀏覽(105)
  • 圖數(shù)據(jù)庫(kù)_Neo4j的使用場(chǎng)景_以及Windows版Neo4j Community Server安裝_欺詐檢測(cè)_推薦_知識(shí)圖譜---Neo4j圖數(shù)據(jù)庫(kù)工作筆記0003

    圖數(shù)據(jù)庫(kù)_Neo4j的使用場(chǎng)景_以及Windows版Neo4j Community Server安裝_欺詐檢測(cè)_推薦_知識(shí)圖譜---Neo4j圖數(shù)據(jù)庫(kù)工作筆記0003

    可以看到使用場(chǎng)景,比如欺詐檢測(cè), 要建立圖譜,才能進(jìn)行,欺詐人員檢測(cè) ? 可以看到圖譜的各種應(yīng)用場(chǎng)景 然后推薦引擎也需要,可以看到 在金融,旅行,求職招聘,保健,服務(wù),媒體娛樂,都可以進(jìn)行推薦 ? 然后還有知識(shí)圖譜 身份訪問管理,這里,可以進(jìn)行安全管理,可以挖掘出潛在關(guān)系

    2024年02月12日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包