在Windows环境中安装Neo4j 并创建两个节点和他们之间的关系
这个是先安装neo4j desktop 然后访问 brower
注意 : neo4j和jdk的版本要对应 neo4j 4.x.x都要求jdk11以上
我安装的是 https://neo4j.com/artifact.php?name=neo4j-community-3.5.6-windows.zip jdk版本1.8
下载后 解压 管理员方式打开命令行 进入文件地址 输入 neo4j.bat console 然后直接访问 http://localhost:7474/ 修改密码后即可输入语句创建节点
CREATE (n:Person { name: 'Andres', title: 'Developer' }) return n;
CREATE (n:Person { name: 'Vic', title: 'Developer' }) return n;
match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)-[r:Friend]->(m) return r;
match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)<-[r:Friend]-(m) return r;
windows10 安装anaconda3教程
注意 :如果电脑上已经安装python 注意anaconda 和 python的版本对应 没有卸载时安装提示
为了避免后面出现什么奇奇怪怪的问题 我先卸载了电脑上已经安装的所有版本的python 然后重新安装annacondaAnaconda3-5.3.1-Windows-x86_64.exe
anaconda清华镜像下载
教程中配置环境变量我的 \Library中 没有 usr这个文件夹 可以不设置这一项 有些说需要在第二项 Scripts\加上反斜杠 但是我不加也可以
E:\Anaconda(Python需要)
E:\Anaconda\Scripts(conda自带脚本)
E:\Anaconda\Library\mingw-w64\bin(使用C with python的时候)
E:\Anaconda\Library\usr\bin
E:\Anaconda\Library\bin(jupyter notebook动态库)
Anaconda Navigator卡住、闪退或者一直停在loading applications
anaconda点开后 一直停留在 loading applications 上面
运行上面这两个链接中的命令耗时很长 在anaconda prompt中设置清华镜像
依次执行
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
再使用 conda info
但是我没运行完那几个命令 运行到一半一直卡住就直接关掉 重启电脑 就可以正常打开anaconda navigator 了
参考地址
四大名著人物关系三元组数据集下载地址
需要先安装py2neo这个库来操作neo4j 直接pip install py2neo 安装这个库的过程出现了很多问题 主要还是各个库版本冲突的问题
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
jupyter-console 5.2.0 requires prompt-toolkit<2.0.0,>=1.0.0, but you have prompt-toolkit 3.0.18 which is incompatible.
出现这种错误 可以使用下面这个命令 直接升级版本
pip install --upgrade jupyter-console
在jupyter notebook中
import csv
import py2neo
from py2neo import Graph,Node,Relationship,NodeMatcher
#账号密码改为自己的即可
g=Graph('http://localhost:7474',user='neo4j',password='neo4j')
with open('E:/triples.csv','r',encoding='utf-8') as f:
reader=csv.reader(f)
for item in reader:
if reader.line_num==1:
continue
print("当前行数:",reader.line_num,"当前内容:",item)
start_node=Node("Person",name=item[0])
end_node=Node("Person",name=item[1])
relation=Relationship(start_node,item[3],end_node)
g.merge(start_node,"Person","name")
g.merge(end_node,"Person","name")
g.merge(relation,"Person","name")
neo4j查询语句
#以下为neo4j代码,如需代码运行,请放入g.run(...)内运行,将...替换为下列代码
MATCH (p: Person {name:"贾宝玉"})-[k:丫鬟]-(r)
return p,k,r
MATCH (p1:Person {name:"贾宝玉"}),(p2:Person{name:"香菱"}),p=shortestpath((p1)-[*..10]-(p2))
RETURN p