成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系

Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系

熱門標(biāo)簽:ai電話機(jī)器人哪里好 湛江智能外呼系統(tǒng)廠家 百度地圖標(biāo)注沒有了 長(zhǎng)沙高頻外呼系統(tǒng)原理是什么 宿遷星美防封電銷卡 地圖標(biāo)注審核表 ai電銷機(jī)器人源碼 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 外呼并發(fā)線路

Neo4j是一款開源圖數(shù)據(jù)庫,使用Python語言訪問Neo4j可以使用Py2neo。本文介紹了使用Py2neo訪問Neo4j,批量創(chuàng)建節(jié)點(diǎn)和關(guān)系的方法。Py2neo提供了直接執(zhí)行Cypher語句的方法,也提供了諸如Node、Relationship、Path一系列的數(shù)據(jù)結(jié)構(gòu),在不同的場(chǎng)景下可以靈活使用。

​本文使用的Py2neo是2021.1之后的版本,手冊(cè)請(qǐng)戳這里:
The Py2neo Handbook

一、安裝Py2neo

使用pip安裝Py2neo,執(zhí)行:

pip install py2neo

查看已安裝的Py2neo是什么版本的:

pip show py2neo

二、連接Neo4j數(shù)據(jù)庫

本文中會(huì)用到多種數(shù)據(jù)類型,在此一并引用

import numpy as np
import pandas as pd
from py2neo import Node,Relationship,Graph,Path,Subgraph

配置Neo4j數(shù)據(jù)庫的訪問地址、用戶名和密碼

neo4j_url = '訪問地址'
user = '用戶名'
pwd = '密碼'

在此時(shí)間段之前訪問數(shù)據(jù)庫的方式為:

graph = Graph(neo4j_url, username=user, password=pwd)

在此時(shí)間段之后的版本訪問數(shù)據(jù)庫的方式為(就是這么不兼容):

graph = Graph(neo4j_url,  auth=(user, pwd))

1. 使用graph.run執(zhí)行Cypher語句創(chuàng)建節(jié)點(diǎn)

如果熟悉Cypher語句的話,可以通過使用graph.run執(zhí)行Cypher語句來實(shí)現(xiàn)創(chuàng)建節(jié)點(diǎn)等操作,方法如下所示:

cypher_ = "CREATE (:Person {name:'王王', age:35, work:'腳本之家}),\

(:Person {name:'李李', age:20, work:'腳本之家})"
graph.run(cypher_)

這樣就在Neo4j中創(chuàng)建了兩個(gè)label為Person的節(jié)點(diǎn),第一個(gè)節(jié)點(diǎn)的name屬性為“王王”,age屬性為35,work屬性為“腳本之家”,第二個(gè)節(jié)點(diǎn)的name屬性為“李李”,age屬性為20,work屬性為“宇腳本之家”。

同樣,可以通過調(diào)用graph.run執(zhí)行Cypher語句創(chuàng)建關(guān)系。

cypher_ = "MATCH (from:Person{name:'王王'}),\

(to:Person{name:'李李'}) MERGE (from)-[r:同事]->(to)"
graph.run(cypher_)

這樣在Neo4j中就有了具有同事關(guān)系的兩個(gè)Person節(jié)點(diǎn)。

2. 使用Node數(shù)據(jù)結(jié)構(gòu)創(chuàng)建節(jié)點(diǎn)

Py2neo也提供graph.create方法來創(chuàng)建節(jié)點(diǎn)和關(guān)系

node = Node("Person", name="李李", age=20, work="腳本之家")
graph.create(node)

與執(zhí)行Cypher語句的效果相同,在Neo4j中創(chuàng)建了一個(gè)Person節(jié)點(diǎn)。

需要注意的是,這兩種創(chuàng)建方法,如果反復(fù)執(zhí)行的話,是會(huì)在Neo4j中創(chuàng)建出重復(fù)的節(jié)點(diǎn)的,即name、age、work屬性完全一樣,但在Neo4j中的id不一樣的多個(gè)節(jié)點(diǎn)。

3. 使用Node、Relationship和Subgraph數(shù)據(jù)結(jié)構(gòu)創(chuàng)建節(jié)點(diǎn)和關(guān)系

上面兩種方法都是一次創(chuàng)建一個(gè)節(jié)點(diǎn)或者一個(gè)關(guān)系,Py2neo也提供了批量創(chuàng)建節(jié)點(diǎn)和關(guān)系的方法,而且性能更優(yōu)。下面就以下圖中的圖譜為例,使用Py2neo提供Node、Relationship和Subgraph數(shù)據(jù)結(jié)構(gòu)在Neo4j中創(chuàng)建節(jié)點(diǎn)和關(guān)系。

首先創(chuàng)建一些label為Person的節(jié)點(diǎn),即Node對(duì)象,第一個(gè)參數(shù)是label,屬性按key=value依次作為參數(shù)傳入。如果節(jié)點(diǎn)有多個(gè)label,可以用Node.add_label("label_text")來追加label。

node1 = Node("Person", name="王王", age=35, work="腳本之家")
node2 = Node("Person", name="李李", age=20, work="腳本之家")
node3 = Node("Person", name="張張", age=30, work="腳本之家")
node4 = Node("Person", name="趙趙", age=45, work="月亮中學(xué)")
node4.add_label("Teacher")
node5 = Node("Person", name="劉劉", age=20, work="地球電子商務(wù)公司")

再創(chuàng)建一些label為L(zhǎng)ocation的節(jié)點(diǎn)

node6 = Node("Location", name="南京") 
node7 = Node("Location", name="江寧區(qū)") 
node8 = Node("Location", name="祿口機(jī)場(chǎng)") 

建立一些Person和Person節(jié)點(diǎn)之間的關(guān)系,Neo4j中的關(guān)系是有方向的,所以Relationship第一個(gè)參數(shù)為起始節(jié)點(diǎn),第三個(gè)參數(shù)是結(jié)束節(jié)點(diǎn),而第二個(gè)節(jié)點(diǎn)為關(guān)系的類型。這里創(chuàng)建的同事、鄰居的關(guān)系為雙向的,老師、學(xué)生的關(guān)系為單向。

relation1 = Relationship(node1, "同事", node2)
relation2 = Relationship(node2, "同事", node1)

relation3 = Relationship(node2, "同事", node3)
relation4 = Relationship(node3, "同事", node2)

relation5 = Relationship(node3, "鄰居", node4)
relation6 = Relationship(node4, "鄰居", node3)

relation7 = Relationship(node4, "學(xué)生", node5)
relation8 = Relationship(node5, "老師", node4)

創(chuàng)建一些Location和Location節(jié)點(diǎn)之間的關(guān)系,地域之間的包含關(guān)系為單向。

relation9 = Relationship(node6, "包含", node7)
relation10 = Relationship(node7, "包含", node8)

創(chuàng)建Person節(jié)點(diǎn)和Location節(jié)點(diǎn)之間的關(guān)系,這里“到訪”的關(guān)系是有屬性的,date表示到訪的日期,stay_hours表示停留的時(shí)間??梢允褂靡粋€(gè)key:value的字典數(shù)據(jù)結(jié)構(gòu)保存屬性,再賦予關(guān)系

properties1={'date':'2021-7-16','stay_hours':1}
relation11 = Relationship(node2, "到訪", node8, **properties1)

properties2={'date':'2021-7-19','stay_hours':4}
relation12 = Relationship(node5, "到訪", node8, **properties2)

然后將以上所有節(jié)點(diǎn)和關(guān)系組成Subgraph

node_ls = [node1, node2, node3, node4, 
           node5, node6, node7, node8]
relation_ls = [relation1, relation2, relation3, relation4, 
               relation5, relation6, relation7, relation8, 
               relation9, relation10, relation11, relation12]
subgraph = Subgraph(node_ls, relation_ls)

最后通過事務(wù)類Transaction提交,批量創(chuàng)建這些節(jié)點(diǎn)和關(guān)系。這里tx.create并沒有真正創(chuàng)建節(jié)點(diǎn)和關(guān)系,直到graph.commit才一次性提交到Neo4j進(jìn)行創(chuàng)建。

tx = graph.begin() 
tx.create(subgraph)
graph.commit(tx)

重復(fù)執(zhí)行上面的命令,不會(huì)創(chuàng)造出重復(fù)的節(jié)點(diǎn)和關(guān)系。這一點(diǎn)手冊(cè)中有說明:“subgraph中的已經(jīng)和數(shù)據(jù)庫綁定的實(shí)體將保持不變,那些沒有綁定的將在數(shù)據(jù)庫中新建并綁定上?!?/p>

create(subgraph) Create remote nodes and relationships that correspond to those in a local subgraph. Any entities in subgraph that are already bound to remote entities will remain unchanged, those which are not will become bound to their newly-created counterparts.

三、性能對(duì)比

做一個(gè)簡(jiǎn)單的實(shí)驗(yàn)粗略地對(duì)比逐個(gè)創(chuàng)建和批量創(chuàng)建的時(shí)間開銷。在Neo4j為空數(shù)據(jù)庫的情況下,分別采用逐個(gè)創(chuàng)建和批量創(chuàng)建的方法創(chuàng)建10000個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有name和age兩個(gè)屬性,都是隨機(jī)生成的,使用jupyter notebook的%%time命令計(jì)算時(shí)間開銷。

import random
N = 10000

逐個(gè)創(chuàng)建節(jié)點(diǎn):

%%time
for i in range(N):
    random_name = "P"+str(round(random.random()*N*2))
    random_age = round(random.random()*15)
    node = Node("Person", name=random_name, age=random_age)
    graph.create(node)

CPU times: user 50.3 s, sys: 4.19 s, total: 54.5 s
Wall time: 5min 16s

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

%%time
node_ls = []
for i in range(N):
    random_name = "P"+str(round(random.random()*N*2))
    random_age = round(random.random()*15)
    node = Node("Person", name=random_name, age=random_age)
    node_ls.append(node)

subgraph = Subgraph(node_ls, [])
tx = graph.begin() 
tx.create(subgraph)
graph.commit(tx)

CPU times: user 448 ms, sys: 75.5 ms, total: 523 ms
Wall time: 1.46 s

實(shí)驗(yàn)中也發(fā)現(xiàn),只是創(chuàng)建節(jié)點(diǎn)的話,批量創(chuàng)建方法的時(shí)間開銷幾乎是線性增長(zhǎng)的,當(dāng)一次性提交10萬個(gè)節(jié)點(diǎn)的創(chuàng)建任務(wù)時(shí),時(shí)間開銷大約在4.5秒。
在使用Py2neo構(gòu)建圖譜時(shí),盡可能使用批量創(chuàng)建方法。先創(chuàng)建節(jié)點(diǎn)(Node)對(duì)象、關(guān)系(Relationship)對(duì)象,再構(gòu)成子圖(Subgraph),最后利用事務(wù)類一次提交創(chuàng)建。
下一篇將介紹如何運(yùn)用Py2neo查詢節(jié)點(diǎn)、關(guān)系和路徑。

這篇關(guān)于用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)、關(guān)系及路徑的文章就先介紹到這了,更多相關(guān)Py2neo內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python使用py2neo查詢Neo4j的節(jié)點(diǎn)、關(guān)系及路徑
  • Python使用py2neo操作圖數(shù)據(jù)庫neo4j的方法詳解
  • Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系
  • Python接口自動(dòng)化之淺析requests模塊get請(qǐng)求
  • 用python爬取分析淘寶商品信息詳解技術(shù)篇
  • 用Python做一個(gè)嗶站小姐姐詞云跳舞視頻
  • python實(shí)現(xiàn)日歷效果
  • python利用文件讀寫編寫一個(gè)博客

標(biāo)簽:林芝 漯河 寧夏 南平 盤錦 大同 普洱 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系》,本文關(guān)鍵詞  Python,使用,Py2neo,創(chuàng)建,Neo4j,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python使用Py2neo創(chuàng)建Neo4j的節(jié)點(diǎn)和關(guān)系的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    美女视频黄 久久| 欧美哺乳videos| 国产综合无码一区二区色蜜蜜| 欧美精品一区二区三区久久| 欧美性巨大欧美| 欧洲一级黄色片| 男人的天堂在线| 亚洲精品午夜级久久久久| 久久露脸国产精品| 日本一级理论片在线大全| 日韩精品一二三区| 超薄肉色丝袜脚交一区二区| 可以免费观看av的网站| 九九热爱视频精品视频| 久久99免费视频| 亚洲欧美国产精品| 一区二区三区在线观看免费视频| 亚洲小视频在线| 国产日韩欧美精品一区二区三区| 国产一区二区精品久久| 国产四区在线观看| 91香蕉视频污版| 亚洲动漫精品| 成 人 免费 黄 色| 成人精品国产亚洲| 综合区小说区图片区在线一区| 米奇.777.com| 国产成人av一区| 疯狂试爱三2浴室激情视频| 伊人久久99| 国产a级免费视频| 亚洲**2019国产| 丰满饥渴老女人hd| 亚洲一区一卡| 亚洲天堂狠狠干| 国产福利小视频在线| 婷婷伊人五月天| 欧美精品丝袜中出| 国产黄在线免费观看| 国精产品一区一区| 男捅女免费视频| 另类视频一区二区三区| 91 在线视频| 99久久人妻无码中文字幕系列| 在线看片成人| 国产日韩综合| 国产伦精品一区二区三区免费迷| 免费看电影在线| 欧美知名女优| 色老汉av一区二区三区| 91精品国产一区二区三区香蕉| 性色一区二区三区| 国产精品久久国产精品99gif| 91亚洲午夜精品久久久久久| 成人黄色在线免费| 美脚丝袜脚交一区二区| 日韩免费视频一区二区| 久久久久一区二区三区四区| 亚洲欧美激情一区二区三区| 国产精品影视天天线| 一区二区三区四区视频| 亚洲片国产一区一级在线观看| 严阵以待中文社区| 精品国内自产拍在线视频| 视频一区亚洲| 色8久久久久| 日本久久久久久久久久久| 97在线观视频免费观看| 波多野结衣天堂| 91激情视频在线观看| 午夜a成v人精品| 美国十次av导航亚洲入口| 国产探花在线精品一区二区| 亚洲国产精品一区二区第四页av| 亚洲va欧美va在线观看| 国产日韩一区二区三区在线| 九色精品视频在线观看| 日韩三级视频| 国产一区久久精品| 美女福利视频网| 欧美精品在线视频| 亚洲小说欧美另类婷婷| 丝瓜app色版网站观看| 国产高清av| 日韩一区二区免费看| 欧美日韩日日骚| 国产精品三级a三级三级午夜| 国产精品女上位| 99久久国产免费| 国产浪潮av性色av小说| 欧美激情精品久久久| 色爱区成人综合网| 天天天综合网| 原创真实夫妻啪啪av| 蜜臀av性久久久久蜜臀av麻豆| 噜噜爱69成人精品| 中日韩精品一区二区三区| 五月天国产视频| 久久久久国产成人精品亚洲午夜| 精品日韩一区二区| 老司机成人免费视频| 91美女福利视频| 色婷婷综合久久久久久| 一区二区小说| 一区二区激情| 蜜桃精品成人影片| 中文字幕亚洲不卡| 欧美午夜在线一二页| 日韩免费视频一区二区| 亚洲a中文字幕| 免费成人深夜夜行网站| 每日更新av在线播放| 亚洲日本视频| 午夜亚洲国产au精品一区二区| 日韩毛片中文字幕| 亚洲精品一二三四| 欧美成人三级视频网站| 国产剧情av片巨作醉酒女邻居| 色88888久久久久久影院野外| 欧美成人性生活| 欧美成年网站| 亚洲男人的天堂在线观看| 91亚洲国产高清| 国产色一区二区| av免费不卡| 成人亚洲精品久久久久软件| 欧美中文字幕一区二区三区| 日韩视频 中文字幕| 国产精品毛片视频| 久久国产精品影视| 日本免费一区二区三区视频观看| 人人妻人人澡人人爽久久av| 欧美日韩一区二区免费在线观看| 九九久久电影| 国产性猛交xxxx免费看久久| 久久日韩精品| 99er在线视频| 麻豆疯狂做受xxxx高潮视频| 调教+趴+乳夹+国产+精品| 少妇献身老头系列| av在线亚洲一区| xxxxwwww欧美| 波多野结衣91| 日本免费一区二区三区视频| 婷婷开心久久网| 欧美午夜不卡视频| 国产福利在线导航| 直接看的黄色网址| 国产人妖在线播放| 一本大道久久a久久综合婷婷| 黄色网址入口| 555夜色666亚洲国产免| 播放灌醉水嫩大学生国内精品| 一区二区三区免费观看视频| 78精品国产综合久久香蕉| 男人添女荫道口图片| 国产啪精品视频| 尤物网址在线观看| 国产一级片大全| 欧美一级片免费在线观看| 全部av―极品视觉盛宴亚洲| 久久久久久人妻一区二区三区| √…a在线天堂一区| av网址在线免费观看| 91精品一区| 国产日韩一级二级三级| 国产大片一区二区| 伊人精品在线| 日韩视频在线免费观看| 麻豆精品国产| 美女三级99| 日韩在线观看av| 尤物tv在线精品| 一级片视频免费观看| 黄网站app在线观看大全免费视频| 免费激情视频在线观看| 亚洲天堂中文字幕| av视屏在线播放| 日韩在线免费播放| 日韩高清不卡一区| 国产亚洲精品aa| 国产天堂视频| 日韩a级作爱片一二三区免费观看| 99re66热这里只有精品4| 一区二区三区免费看视频| 91香蕉视频黄| 97超碰中文字幕| 亚洲天堂网在线视频| 精品一区二区三区无码视频| 一区二区视频在线| 97超碰国产精品女人人人爽| 国产91精品入口17c| 在线观看精品视频一区二区三区| 日韩手机在线视频| 欧美午夜精品一区| 在线播放日韩欧美| av色资源站| 欧美精品 国产精品| 天堂av在线7| 精品三级在线观看视频| 国产私人影院| 成人爽a毛片免费啪啪| 久久蜜桃香蕉精品一区二区三区| 亚洲女色av| 久久男人中文字幕资源站| 六月婷婷在线视频| 欧美成人精品高清在线播放| 91网页版在线登录入口| 国产精品嫩草在线观看| 亚洲视频在线观看三级| 丰满少妇被猛烈进入| 天天摸日日摸狠狠添| 91国模大尺度私拍在线视频| 理论在线观看| av亚洲精华国产精华| 1024视频在线| 波多野结衣成人在线| 欧美一区二区三区爽大粗免费| 四虎精品一区二区免费| 亚洲免费视频播放| 4438x成人网全国最大| 成人免费视频入口| 欧美一级电影在线| 国产伦理精品| 成人精品视频一区二区三区尤物| 亚洲一区二区在线视频观看| 91精品国产一区二区三区香蕉| 欧美精品在线第一页| 一道精品视频一区二区三区男同| 久久久久久久久亚洲| 国产午夜精品一区二区三区嫩草| 欧美日韩美女一区二区| 欧美成人免费va影院高清| 日本h片在线观看| 青青草精品视频在线观看| 欧美色综合网| 亚洲国产第一页| 日韩精品亚洲专区在线观看| 欧美日韩免费观看一区二区三区| 波多野结衣电车痴汉| 欧美乱大交xxxx| 在线观看高清免费视频| 欧美少妇性生活视频| 日本精品在线观看视频| 午夜伊人狠狠久久| 天天干天天干天天干| 色呦呦在线播放| 国产精品一区视频网站| 亚洲精品午夜av福利久久蜜桃| 欧美精品久久久| 精品国产乱码久久久久久久软件| 久久久久国产成人精品亚洲午夜| 美女av在线播放| 欧美啪啪小视频| 3344国产永久在线观看视频| 88av在线视频| 色一情一乱一区二区三区| 精品久久久久久无码人妻| 欧美亚洲综合网| jazzjazz国产精品久久| 色婷婷激情视频| 国产成人在线一区二区| 亚洲欧洲99久久| 欧美激情精品久久久六区热门| 国产麻豆综合| 欧美成人家庭影院| 黄色小视频免费观看| 精品福利在线视频| 精品少妇av| 国产精品视频免费在线观看| 99久久久免费精品| 久久人人97超碰国产公开结果| 欧美激情按摩在线| 国产麻豆精品视频一区二区| 国产精品一区二区午夜嘿嘿嘿小说| 日本99精品| av中文字幕av| 久久国产精品波多野结衣| 2023国产在线观看| 日韩视频在线一区二区| 六月丁香激情综合| 国产一区久久久| 激情小说网站亚洲综合网| 久久人体视频| 精品深夜av无码一区二区老年| 一区在线免费| 欧美日韩中文国产一区发布| 伊人网综合视频| 成人黄色大片在线免费观看| 日本少妇激情舌吻| 天堂av免费看| 欧美一级大片免费看| 亚洲成人网久久久| 色丁香久综合在线久综合在线观看| 久久综合免费视频| 成人a在线视频免费观看| 成a人片亚洲日本久久| 中文字幕免费不卡| 偷拍一区二区| 亚洲精品v天堂中文字幕| 亚洲综合激情另类小说区| 777片理伦片在线观看| 日本久久久网站| 在线天堂中文资源最新版| 久久免费视频观看| 精品国精品国产自在久国产应用| 国产精品波多野结衣| 日批视频免费观看| 国产成人精品一区二区三区网站观看| 亚洲欧美国产另类首页| 国内精品久久久久影院优| av电影高清在线观看| 欧美日韩不卡中文字幕在线| 国产精品传媒精东影业在线| xxx视频在线观看| 1769免费视频在线观看| 色综合久久综合中文综合网| 日韩av一卡| 天堂视频在线观看免费| 国产日韩欧美在线观看视频| 亚洲精品97久久久babes| 国产福利电影一区二区三区| 日韩午夜视频在线| 一个人看的www免费观看视频| 91在线porny国产在线看| 91精品国产色综合久久不卡粉嫩| 中文字幕在线2018| 免费在线视频你懂得|