赞
踩
目录
····Add项目
··填写name和password(我这里name是text123 password是123)
------>
····点击start
····点击open
··open后 就会打开neo4j browser:我们后续创建的知识图谱就会显示在这里
bird.csv文件 提取码:tmsg
·· 点击 ... -> open folder -> import
··右击--打开方式--记事本
··点击另存为、编码设成utf-8,保存。
----->
··创建结点:
- LOAD CSV WITH HEADERS FROM 'file:/bird.csv' AS line
- CREATE (a1:鸟名 {name:line.鸟名,hongMo:line.虹膜,zui:line.嘴,jiao:line.脚})
-
- //第一行是寻找import文件夹里的“bird.csv”文件
- //第二行 name、hongMo等,是“鸟名”的属性。
- //“line.鸟名”的“鸟名”是csv文件里的“鸟名”那一列的第一个元素
··查看效果:
··继续创建余下6种结点:
- LOAD CSV WITH HEADERS FROM 'file:/bird.csv' AS line
- MERGE (a2:目 {name:line.目,niaoMing:line.鸟名})
- MERGE (a3:科 {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:/bird.csv" as line with line
- with*match (from:鸟名{name:line.鸟名}),(to:目{niaoMing:line.鸟名})
- merge (from)-[r:目]->(to)
-
- //为什么是“niaoMing:line.鸟名”而不是“name:line.目”:同样是为了避免出错
- //前者效果如左图,后者如右图
---
··继续创建关系,最后结果:
··注意:关闭neo4j时,先点stop,等待一段时间,再点×
1.打开Windows命令行窗口cmd(也有其它方法安装网页版的jupyter,这里我只提供以下这一种)
2.输入以下代码,等待下载完成
pip install jupyter
3.python -m pip list可以查看已下载组件
python -m pip list
··启动完!!!!终端一定不要关!!!!
··(后面的操作中,有时会需要重启终端,但如果是开始建立知识图谱了,那终端是万万不能关的!)
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该文件)
··找到#c.NotebookApp.notebook_dir = ''这句话(我们的行数可能不一样,认真找哦)
··删掉“#”然后在单引号里填一个目录,比如我的是D盘的jupyterCode文件夹,填好记得保存。
··然后我们重启jupyter notebook,就会进入我们的工作目录啦!
2.代码补全(可以不做)
··打开cmd,输入pip install jupyter_contrib_nbextensions,等待安装成功;
pip install jupyter_contrib_nbextensions
··(要关闭jupyter notebook)在cmd中输入jupyter contrib nbextension install --user --skip-running-check,等待配置成功;
jupyter contrib nbextension install --user --skip-running-check
··启动jupyter notebook,在选项栏中多出了Nbextension的选项
··点开该选项,勾选Hinterland即可。
··如果是下面这样,点红线画着的地方,就可以勾选Hinterland了。
··这个界面开着不要关 (neo4j browser)
··点击new->python 3
··输入代码
- from py2neo import *
- import numpy as np
- import pandas as pd
-
-
- def create_bird():
- df = pd.read_csv('bird.csv',engine='python')
- graph = Graph("http://localhost:7474",auth=("neo4j", "123"))
- graph.delete_all()
- graph.begin()
- for i, line in df.iterrows():
- cql = '''
- MERGE (a:NiaoMing{name:\'%s\',hongMo:\'%s\',zui:\'%s\',jiao:\'%s\'})
- MERGE (b:Mu{name:\'%s\',NiaoMing:\'%s\'})
- MERGE (a)-[:目]-> (b)
- MERGE (c:Ke{name:\'%s\',NiaoMing:\'%s\'})
- MERGE (a)-[:科]-> (c)
- MERGE (d:Shu{name:\'%s\',NiaoMing:\'%s\'})
- MERGE (a)-[:属]-> (d)
- MERGE (e:HongMo{name:\'%s\',NiaoMing:\'%s\'})
- MERGE (a)-[:虹膜]-> (e)
- MERGE (f:Zui{name:\'%s\',NiaoMing:\'%s\'})
- MERGE (a)-[:嘴]-> (f)
- MERGE (g:Jiao{name:\'%s\',NiaoMing:\'%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()
··如果这时候你急着运行的话,我想你会发现有很多报错的(嘻嘻)下面我们一个一个来解决:
··打开代码中的网址http://localhost:7474,(注意这时候桌面版的neo4j的neo4j browser是没有关的,关了就打不开网站了)
··username填“neo4j”
··password是填当初Add项目时,自己输入的密码。比如我的text123项目密码是123,我就填123,同时代码里对应的就是auth=("neo4j", "123"),如果你的密码是其他的,比如4556aa,那代码这里就要改成auth=("neo4j", "4556aa"),同时网站那里,填的password也是“4556aa”
··填完之后点击connect,然后这个网站也不要关
··我们继续回到jupyter 写代码的那个界面,注意这三行代码
··打开终端安装py2neo、numpy、pandas(这仨都是啥这里不做赘述。)
pip install py2neo
pip install numpy
pip install pandas
··bird.csv文件 提取码tmsg这个文件要放在工作目录那里,比如我的工作目录是D盘的“jupyterCode”文件夹,我就把csv文件放在这个文件夹里
··右击,记事本方式打开该csv文件,点击“另存为”,设置编码为utf-8,保存。
-->
··现在再点击运行,在网页和桌面版neo4j browser都可以看到效果啦!(如果我没漏掉什么过程的话...)
··注意:关闭neo4j时,先点stop,再点×
到这里,基本就结束啦。我呢,目前是个大二小白,跟着老师做项目接触到了知识图谱和neo4j,自己搜罗了很多资料,一步一步自学过来,踩了很多很多的坑,处理了很多很多的错误,才走到今天...
后来逐渐萌发了写这篇文章的想法,希望可以帮助到有需要的人!
当然我跟大佬们比起来就是小渣渣,这篇文章也可能会考虑不全漏掉什么,后续发现了会再补充~欢迎大家纠错,谢谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。