您现在的位置是:首页 > 电脑 > 

eo4j Desktop:用cypher或python创建知识图谱

2025-07-17 20:35:47
目录 ··打开neo4j ··用cypher创建知识图谱  ··用python建立知识图谱 ·······打开neo4j······· ····Add项目         ··填写name和password(我这里name是text12 password是12) ------> ····点击start ····点击open

目录

··打开neo4j

··用cypher创建知识图谱

 ··用python建立知识图谱


·······打开neo4j·······

····Add项目

        ··填写name和password(我这里name是text12 password是12)

------>

····点击start

····点击open

 

         ··open后 就会打开neo4j browser:我们后续创建的知识图谱就会显示在这里

·······用cypher创建知识图谱·······

····处理文件

        文件 提取码:tmsg

 文件放入import文件夹中

      ·· 点击  ... -> open folder -> import

 2.csv用记事本方式打开

        ··右击--打开方式--记事本

         ··点击另存为、编码设成utf-8,保存。

----->

····创建结点

        ··创建结点:

LOAD CSV WITH HEADERS FROM 	file:/	 AS line
CREATE (a1:鸟名 {name:line.鸟名,hongMo:line.虹膜,zui:line.嘴,jiao:line.脚})

//第一行是寻import文件夹里的“”文件
//第二行 name、hongMo等,是“鸟名”的属性。
//“line.鸟名”的“鸟名”是csv文件里的“鸟名”那一列的第一个元素

        ··查看效果:

         ··继续创建余下6种结点:

LOAD CSV WITH HEADERS FROM 	file:/	 AS line
MERGE (a2:目 {name:line.目,niaoMing:line.鸟名})
MERGE (a:科 {name:line.科,niaoMing:line.鸟名})
MERGE (a4:属 {name:line.属,niaoMing:line.鸟名})
MERGE (a5:虹膜 {name:line.虹膜,niaoMing:line.鸟名})
MERGE (a6:嘴 {name:line.嘴,niaoMing:line.鸟名})
MERGE (a7:脚 {name:line.脚,niaoMing:line.鸟名})

//为什么都有一个“niaoMing”的属性?:避免结点错乱,一对多等现象,好奇者可以把“,niaoMing:line.鸟名”删掉,再运行一下试试试试
//MERGE与CREATE区别:MERGE不会建立完全重复的结点。

        ··结点可以改颜哦

---->

····创建关系

load csv with headers from file:/ as line with line
with*match (from:鸟名{name:line.鸟名}),(to:目{niaoMing:line.鸟名})
merge (from)-[r:目]->(to)

//为什么是“niaoMing:line.鸟名”而不是“name:line.目”:同样是为了避免出错
//前者效果如左图,后者如右图

---

         ··继续创建关系,最后结果:

        ··注意:关闭neo4j时,先点stop,等待一段时间,再点×

 ·······用python建立知识图谱·······

····关于jupyter

1.安装网页版的jupyter

        1.打开Windows命令行窗口cmd(也有其它方法安装网页版的jupyter,这里我只提供以下这一种)

        2.输入以下代码,等待下载完成

pip install jupyter

        .python -m pip list可以查看已下载组件

python -m pip list
2.终端启动jupyter notebook

        ··启动完!!!!终端一定不要关!!!!

        ··(后面的操作中,有时会需要重启终端,但如果是开始建立知识图谱了,那终端是万万不能关的!)

jupyter notebook

       ··(如果是第一次用jupyter notebook,我们要去浅浅配置一下)

.配置jupyter notebook

1.命令行窗口输入jupyter notebook --generate-config

jupyter notebook --generate-config

        ··然后我们打开 C:\Users\用户名\ .jupyter(我们路径会有点小区别,我的是C:\Users\86187\.jupyter 认真嗷)

        ··到jupyter_notebook_config.py 打开(如果双击打不开,就到自己的python代码编译器 比如vsCode或者IDLE等,再在编译器中open该文件)

         ··到#_dir = 这句话(我们的行数可能不一样,认真哦)

         ··删掉“#”然后在单引号里填一个目录,比如我的是D盘的jupyterCode文件夹,填好记得保存。

         ··然后我们重启jupyter notebook,就会进入我们的工作目录啦!

2.代码补全(可以不做)

        ··打开cmd,输入pip install jupyter_contrib_nbextensi,等待安装成功;

pip install jupyter_contrib_nbextensi

        ··(要关闭jupyter notebook)在cmd中输入jupyter contrib nbextension install --user --skip-running-check,等待配置成功;

jupyter contrib nbextension install --user --skip-running-check

        ··启动jupyter notebook,在选项栏中多出了bextension的选项

​ 

        ··点开该选项,勾选Hinterland即可。

        ··如果是下面这样,点红线画着的地方,就可以勾选Hinterland了。

​ 

····创建知识图谱

1.打开neo4j

        ··这个界面开着不要关 (neo4j browser)

2.终端打开jupyter notebook

        ··点击new->python

        ··输入代码

​ 

from py2neo import *
import numpy as np
import pandas as pd


def create_bird(): 
    df = pd.read_csv(		,engine=	python	)
    graph = Graph(http://localhost:7474,auth=(neo4j, 12))
    graph.delete_all()
    graph.begin()
    for i, line in df.iterrows(): 
        cql = 			
                MERGE (a:iaoMing{name:\	%s\	,hongMo:\	%s\	,zui:\	%s\	,jiao:\	%s\	})
                MERGE (b:Mu{name:\	%s\	,iaoMing:\	%s\	})
                MERGE (a)-[:目]-> (b)
                MERGE (c:Ke{name:\	%s\	,iaoMing:\	%s\	})
                MERGE (a)-[:科]-> (c)
                MERGE (d:Shu{name:\	%s\	,iaoMing:\	%s\	})
                MERGE (a)-[:属]-> (d)
                MERGE (e:HongMo{name:\	%s\	,iaoMing:\	%s\	})
                MERGE (a)-[:虹膜]-> (e)
                MERGE (f:Zui{name:\	%s\	,iaoMing:\	%s\	})
                MERGE (a)-[:嘴]-> (f)
                MERGE (g:Jiao{name:\	%s\	,iaoMing:\	%s\	})
                MERGE (a)-[:脚]-> (g)
            			 % (line[	鸟名	],line[	虹膜	],line[	嘴	],line[	脚	],line[	目	],line[	鸟名	],
                   line[	科	],line[	鸟名	],line[	属	],line[	鸟名	],line[	虹膜	],line[	鸟名	],
                   line[	嘴	],line[	鸟名	],line[	脚	],line[	鸟名	])
        graph.run(cql)     
    
if __name__ == 	__main__	:
    create_bird()

         ··如果这时候你急着运行的话,我想你会发现有很多报错的(嘻嘻)下面我们一个一个来解决:

.和neo4j建立连接

        ··打开代码中的网址http://localhost:7474,(注意这时候桌面版的neo4j的neo4j browser是没有关的,关了就打不开网站了)

        ··username填“neo4j

        ··password是填当初Add项目时,自己输入的密码。比如我的text12项目密码是12,我就填12,同时代码里对应的就是auth=(neo4j, 12),如果你的密码是其他的,比如4556aa,那代码这里就要改成auth=(neo4j, 4556aa),同时网站那里,填的password也是“4556aa”

        ··填完之后点击connect,然后这个网站也不要关

        ··我们继续回到jupyter 写代码的那个界面,注意这三行代码

      ​

4.安装py2neo、numpy、pandas

        ··打开终端安装py2neo、numpy、pandas(这仨都是啥这里不做赘述。)

pip install py2neo
pip install numpy
pip install pandas
5.处理csv文件

        ··文件 提取码tmsg这个文件要放在工作目录那里,比如我的工作目录是D盘的“jupyterCode”文件夹,我就把csv文件放在这个文件夹里

​ 

        ··右击,记事本方式打开该csv文件,点击“另存为”,设置编码为utf-8,保存。

​-->​

6.点击运行,查看结果

        ··现在再点击运行,在网页和桌面版neo4j browser都可以看到效果啦!(如果我没漏掉什么过程的话...)

 ​

        ··注意:关闭neo4j时,先点stop,再点×

····写在最后(与正文无关)

        到这里,基本就结束啦。我呢,目前是个大二小白,跟着老师做项目接触到了知识图谱和neo4j,自己搜罗了很多资料,一步一步自学过来,踩了很多很多的坑,处理了很多很多的错误,才走到今天...

        后来逐渐萌发了写这篇文章的想法,希望可以帮助到有需要的人!

        当然我跟大佬们比起来就是小渣渣,这篇文章也可能会考虑不全漏掉什么,后续发现了会再补充~欢迎大家纠错,谢谢!

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/532742.html

相关标签:无
上传时间: 2023-06-26 12:51:30
留言与评论(共有 14 条评论)
本站网友 孕妇可以吃枇杷吗
29分钟前 发表
iaoMing
本站网友 阿德福韦酯
7分钟前 发表
line[ 鸟名 ]
本站网友 名望动物医院
21分钟前 发表
HongMo{name
本站网友 合肥宾馆预订
24分钟前 发表
line[ 目 ]
本站网友 东莞旅行社线路
20分钟前 发表
​-->​ 6.点击运行,查看结果         ··现在再点击运行,在网页和桌面版neo4j browser都可以看到效果啦!(如果我没漏掉什么过程的话...)  ​         ··注意:关闭neo4j时,先点stop,再点× ​ ····写在最后(与正文无关)         到这里,基本就结束啦
本站网友 低迷
28分钟前 发表
\ %s\ }) MERGE (a)-[
本站网友 磨牙的治疗方法
16分钟前 发表
line[ 脚 ]
本站网友 长春休闲
4分钟前 发表
\ %s\ }) MERGE (a)-[
本站网友 美元霸权
3分钟前 发表
line[ 鸟名 ]
本站网友 保龄球馆
21分钟前 发表
鸟名 {name
本站网友 oa系统是什么意思
1分钟前 发表
嘴 {name
本站网友 广州保利世界贸易中心
10分钟前 发表
numpy
本站网友 烦事有得倾
7分钟前 发表
//localhost