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

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j

這篇具有很好參考價(jià)值的文章主要介紹了知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

安裝py2neo

安裝python中的neo4j操作庫:pip install py2neo
安裝py2neo后我們可以使用其中的函數(shù)對(duì)neo4j進(jìn)行操作。

圖數(shù)據(jù)庫Neo4j中最重要的就是結(jié)點(diǎn)和邊(關(guān)系),結(jié)點(diǎn)之間靠邊聯(lián)系在一起,每個(gè)結(jié)點(diǎn)也有屬于自己的屬性。

也就是說我們?cè)谟?code>pyhton操作Neo4j的時(shí)候只需要?jiǎng)?chuàng)造出節(jié)點(diǎn)(Node )和節(jié)點(diǎn)之間的關(guān)系:邊(Relationship ),如果節(jié)點(diǎn)存在附加屬性,可以再給結(jié)點(diǎn)附上一些屬性。

注意: 在我們用python的時(shí)候我們必須啟動(dòng)Neo4j。如圖所示,點(diǎn)擊connect進(jìn)行連接。

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j,知識(shí)圖譜,知識(shí)圖譜,neo4j,人工智能,sklearn,數(shù)據(jù)庫,python,機(jī)器學(xué)習(xí)

創(chuàng)建節(jié)點(diǎn)-連線關(guān)系圖

下面我們就創(chuàng)建三個(gè)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)有兩個(gè)屬性,兩結(jié)點(diǎn)之間有一個(gè)關(guān)系。

from py2neo import Graph, Node, Relationship
# 連接neo4j數(shù)據(jù)庫,輸入地址、用戶名、密碼
graph = Graph("http://localhost:7474", name="neo4j", password='xxx')
graph.delete_all() #清除neo4j中原有的結(jié)點(diǎn)等所有信息

# 創(chuàng)建結(jié)點(diǎn)
node1 = Node('person', name = 'chenjianbo')   #該結(jié)點(diǎn)語義類型是person  結(jié)點(diǎn)名字是chenjianbo  也是它的屬性
node2 = Node('major',name = 'software')       #該結(jié)點(diǎn)語義類型是major  結(jié)點(diǎn)名字是software  也是它的屬性
node3 = Node('person',name = 'bobo')          #該結(jié)點(diǎn)語義類型是person  結(jié)點(diǎn)名字是bobo   也是它的屬性


#給結(jié)點(diǎn)node1 添加一個(gè)屬性 age
node1['age'] = 18
#給結(jié)點(diǎn)node2 添加一個(gè)屬性 college
node2['college'] = 'software college'
#給結(jié)點(diǎn)node3 添加一個(gè)屬性 sex
node3['sex'] = '男'

#把結(jié)點(diǎn)實(shí)例化 在Neo4j中顯示出來
graph.create(node1)
graph.create(node2)
graph.create(node3)
# 創(chuàng)建關(guān)系
maojor = Relationship(node1, '專業(yè)', node2)
friends = Relationship(node1, '朋友', node3)
maojor1 = Relationship(node3, '專業(yè)', node2)
#把關(guān)系實(shí)例化 在Neo4j中顯示出來
graph.create(maojor)
graph.create(maojor1)
graph.create(friends)

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j,知識(shí)圖譜,知識(shí)圖譜,neo4j,人工智能,sklearn,數(shù)據(jù)庫,python,機(jī)器學(xué)習(xí)

導(dǎo)入csv文件

該網(wǎng)站有大量匯總的知識(shí)圖譜數(shù)據(jù)集,可供學(xué)習(xí)使用。
http://openkg.cn/dataset

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j,知識(shí)圖譜,知識(shí)圖譜,neo4j,人工智能,sklearn,數(shù)據(jù)庫,python,機(jī)器學(xué)習(xí)

周杰倫歌曲知識(shí)數(shù)據(jù)集csv,應(yīng)用三元組的形式將歌曲、歌手所屬專輯聯(lián)系在一起。

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j,知識(shí)圖譜,知識(shí)圖譜,neo4j,人工智能,sklearn,數(shù)據(jù)庫,python,機(jī)器學(xué)習(xí)

  • dataframe格式讀入數(shù)據(jù)
import pandas as pd

df = pd.read_csv('relation.csv',index_col=0)

df
	Column1	Column2	Column3
id			
1	Dare for more	周杰倫	歌手
2	Dare for more	蔡依林	歌手
6	Mine Mine	驚嘆號(hào)	所屬專輯
7	Now You See Me	周杰倫	歌手
8	Now You See Me	方文山	作詞
...	...	...	...
624	最后的戰(zhàn)役	周杰倫	歌手
625	最后的戰(zhàn)役	方文山	作詞
626	最后的戰(zhàn)役	八度空間	所屬專輯
627	最長的電影	周杰倫	歌手
628	最長的電影	我很忙	所屬專輯
  • 使用py2neoneo4j添加節(jié)點(diǎn)和邊
graph.delete_all() #清除neo4j中原有的結(jié)點(diǎn)等所有信息

for index,row in df.iterrows():
    node1 = Node('person',name=row[0])
    node2 = Node('person',name=row[1])
    
    graph.create(node1)
    graph.create(node2)
    
    each = Relationship(node1, row[2], node2)
    graph.create(each)

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j,知識(shí)圖譜,知識(shí)圖譜,neo4j,人工智能,sklearn,數(shù)據(jù)庫,python,機(jī)器學(xué)習(xí)
這樣生成的知識(shí)圖譜只是簡(jiǎn)單的節(jié)點(diǎn)-邊的關(guān)系,存在大量冗余的實(shí)體entity

可以通過neo4j的刪除方法將重復(fù)節(jié)點(diǎn)進(jìn)行刪除,之后將邊重新連接。

刪除重復(fù)節(jié)點(diǎn)并連接邊

查詢重復(fù)節(jié)點(diǎn),如果有重復(fù)節(jié)點(diǎn)就不create。這樣節(jié)點(diǎn)和邊全部聯(lián)系在一起,形成完整的沒有冗余的知識(shí)圖譜。

目前的缺點(diǎn)是節(jié)點(diǎn)Node的命名都是以person命名,所以節(jié)點(diǎn)暫時(shí)沒有區(qū)分。

graph.delete_all() #清除neo4j中原有的結(jié)點(diǎn)等所有信息
from py2neo import NodeMatcher
entity = []

for index,row in df.iterrows():
    if row[0] not in entity:
        entity.append(row[0])
        node1 = Node('person',name=row[0])
        graph.create(node1)
    else:
        node_matcher = NodeMatcher(graph) 
        node1 = list(node_matcher.match('person').where(name=row[0]))[0]
        print(node1)

    if row[1] not in entity:
        entity.append(row[1])  
        node2 = Node('person',name=row[1])
        graph.create(node2)
    else:
        node_matcher = NodeMatcher(graph) 
        node2 = list(node_matcher.match('person').where(name=row[1]))[0]
        print(node2)
        
    each = Relationship(node1, row[2], node2)
    graph.create(each)

知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j,知識(shí)圖譜,知識(shí)圖譜,neo4j,人工智能,sklearn,數(shù)據(jù)庫,python,機(jī)器學(xué)習(xí)文章來源地址http://www.zghlxwxcb.cn/news/detail-830766.html

到了這里,關(guān)于知識(shí)圖譜:py2neo將csv文件導(dǎo)入neo4j的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【知識(shí)圖譜】python連接neo4j報(bào)錯(cuò):py2neo.errors.ProtocolError: Cannot decode response content as JSON

    【知識(shí)圖譜】python連接neo4j報(bào)錯(cuò):py2neo.errors.ProtocolError: Cannot decode response content as JSON

    源代碼如下 報(bào)錯(cuò)信息: 從graph.run這里報(bào)錯(cuò),報(bào)出一個(gè)JSon相關(guān)的錯(cuò)誤,百思不得其解。 解決方法: 需要加上一個(gè)name=“neo4j”,才能成功,如下 或者這樣 完整demo

    2024年02月11日
    瀏覽(26)
  • Py之py2neo:py2neo的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略

    Py之py2neo:py2neo的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略

    CV之DL之YOLOv8:YOLOv8的簡(jiǎn)介、安裝和使用方法、案例應(yīng)用之詳細(xì)攻略 目錄 YOLOv8的簡(jiǎn)介 1、Yolov8的概述 2、YOLOv8對(duì)比前身YOLOv5 YOLOv8的安裝和使用方法 1、安裝和使用 T1、采用yolov8安裝和使用 第1步,安裝YOLOv8 第2步,使用YOLOv8 T1、采用CLI T2、采用Python T2、采用ultralytics安裝和使用

    2024年02月13日
    瀏覽(19)
  • py2neo 查詢語句

    可以對(duì)查詢結(jié)果進(jìn)行進(jìn)一步查詢: =~是不等于的意思,.是任意字符,*是前面的字符大于等于0個(gè)。整體意思就是查到節(jié)點(diǎn)中name屬性不以J開頭的節(jié)點(diǎn)

    2024年02月08日
    瀏覽(30)
  • py2neo和neo4j

    py2neo 和 neo4j 是兩個(gè) Python 中與 Neo4j 圖數(shù)據(jù)庫交互的庫,但它們有不同的設(shè)計(jì)和使用方式。 py2neo : 類型 : py2neo 是一個(gè)面向?qū)ο蟮膸欤?提供了一個(gè)對(duì)象模型 ,使得與 Neo4j 數(shù)據(jù)庫的交互 更加 Pythonic 。 API 風(fēng)格 : 使用 Node 和 Relationship 對(duì)象表示圖數(shù)據(jù)庫中的節(jié)點(diǎn)和關(guān)系,使得代碼

    2024年02月21日
    瀏覽(24)
  • Python中py2neo庫的基本使用方法

    Python中py2neo庫的基本使用方法

    因?yàn)樾枰獙⑻幚砗玫腸sv文件用neo4j存儲(chǔ),因此想到使用python將數(shù)據(jù)導(dǎo)入neo4j,就需要用到py2neo庫。 安裝py2neo庫: 首先是建立連接: 注意:這里傳入用戶名和密碼使用的auth元組形式 Node和Relationship可以定義對(duì)應(yīng)的實(shí)例,Node第一個(gè)參數(shù)是label, 再利用graph.create()創(chuàng)建。打開neo4j可以

    2024年02月16日
    瀏覽(18)
  • python 與 neo4j 交互(py2neo 使用)

    python 與 neo4j 交互(py2neo 使用)

    參考自:neo4j的python.py2neo操作入門 官方文檔:The Py2neo Handbook — py2neo 2021.1 安裝: pip install py2neo -i https://pypi.tuna.tsinghua.edu.cn/simple 節(jié)點(diǎn)(Node)和關(guān)系(relationship)是構(gòu)成圖的基礎(chǔ),節(jié)點(diǎn)和關(guān)系都可以有多個(gè)屬性(property),并且均可以作為實(shí)體 重點(diǎn): 節(jié)點(diǎn):在圖數(shù)據(jù)庫中,節(jié)點(diǎn)代

    2024年02月21日
    瀏覽(31)
  • 關(guān)于5.x版本的Neo4j與py2neo的訪問技巧

    關(guān)于5.x版本的Neo4j與py2neo的訪問技巧

    先說結(jié)果。?Neo4j是可以使用py2neo來操作的。而且網(wǎng)上搜到的教程和方法里,首推的http連接方法可能并不是最好的,應(yīng)該用 bolt 方法可能更好。 對(duì)于大多數(shù)使用? py2neo ?與 Neo4j 數(shù)據(jù)庫進(jìn)行交互的應(yīng)用程序來說,建議使用 Bolt 協(xié)議(即第二個(gè)指令)。確保您的 Neo4j 服務(wù)器配置

    2024年04月26日
    瀏覽(74)
  • 探索Py2neo:Python與Neo4j圖數(shù)據(jù)庫的交互實(shí)踐

    探索Py2neo:Python與Neo4j圖數(shù)據(jù)庫的交互實(shí)踐

    在數(shù)據(jù)驅(qū)動(dòng)的世界中,圖形數(shù)據(jù)庫如Neo4j成為處理復(fù)雜關(guān)系數(shù)據(jù)的強(qiáng)大工具。這種數(shù)據(jù)庫類型以圖結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),優(yōu)秀地表示和查詢實(shí)體間的連接關(guān)系。Py2neo,作為Neo4j的Python驅(qū)動(dòng)程序,使得在Python環(huán)境中使用Neo4j變得簡(jiǎn)單而直觀。以下內(nèi)容,將詳細(xì)介紹如何利用Py2neo在Python中

    2024年03月11日
    瀏覽(20)
  • SySeVR環(huán)境配置:joern-0.3.1、Neo4j-2.1.5、py2neo2.0

    SySeVR環(huán)境配置:joern-0.3.1、Neo4j-2.1.5、py2neo2.0

    最近希望在基于圖神經(jīng)網(wǎng)絡(luò)的漏洞檢測(cè)上有所推進(jìn),準(zhǔn)備復(fù)現(xiàn)文章SySeVR: A Framework for Using Deep Learningto Detect Software Vulnerabilities開源代碼,基本環(huán)境配置是python庫環(huán)境以及joern-0.3.1、Neo4j-2.1.5環(huán)境的配置,環(huán)境具體要求如下 假期的時(shí)候就已經(jīng)完成過joern的配置,光是安裝就卡了我

    2023年04月08日
    瀏覽(26)
  • Neo4j企業(yè)版報(bào)錯(cuò):py2neo.errors.ProtocolError: Cannot decode response content as JSON

    環(huán)境為neo4j-enterprise-5.1.0、py2neo、Neo4j Desktop-1.5.2 根據(jù)堆棧追蹤,我們發(fā)現(xiàn)self.graph.name為空,而self.graph為Graph(\\\"http://localhost:7474/ \\\") 所以我們自己修改源碼 打開python的包的安裝位置: X:*****PythonPython37Libsite-packagespy2neodatabase.py 原來的代碼: (990行左右) 更改后的代碼:

    2024年02月12日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包