neo4j新建数据库并在网页打开的步骤应该不用我说了吧
一般都在本地端口7474
这里是使用pycharm作为IDE
打开pycharm,在安装py2neo的前提下
如果没有安装请安装,方法自行搜索
进行操作

在文件开头加上如下代码
`from py2neo import Graph, Node, Relationship
引进所需内容,这里只引进四种,如有其他需求请自行查阅,后面会讲述这四个是干什么的

1.建立graph

通过以下代码建立graph,相当于通过graph间接对neo4j数据库进行操作
graph = Graph('http://localhost:7474', username="neo4j", password="yourPassword")

这样我们的媒介就建立好了
接下来就介绍几种常规操作

①、CREATE

1.创立单个节点

首先我们需要定义节点,这里就用到了从开头import的Node
用过neo4j的大佬都知道,在CQL中,是这样定义一个节点的
CREATE(tem:Tem){name:"ass"})
其中的tem是节点名称,Tem是标签名称,相当于tem的标签,后面大括号里接上定义的属性
而在python中,可直接通过Node实例化节点
如下
nNode = Node(node_type, name="you",age=11)
其中打头第一个没有等号的项目,是该节点的标签
而后边跟上的一系列参数就是你所定义的属性
随后调用graph的create方法即可创建一个节点

example1

graph = Graph('http://localhost:7474', username="neo4j", password="******")
tnode = Node("student", name="van", age=11)
graph.create(tnode)

注意把****改成你的密码,别全部照抄啊**

若控制台中没有报错,则说明运行成功
效果截图
1.jpg

2.创立带有predicate连接的节点(两点一线)

这时候就用到之前import的Relationship
定义一个变量叫做property(名称自定),为字符串类型的
再通过RelationShip实例化
relationship = Relationship(node1,property,node2)
需要注意的是如果node1,node2不存在将会自动创建

example2

property="married"
tnode = Node("worker", name="billy", age=41)
dnode = Node("teacher", name="Ann", age=43)
relationship = Relationship(tnode,property,dnode)
graph.create(relationship)

2.jpg

②、查询

数据库怎么能少了查询?
需要注意的是CQL中的查询是MATCH关键字,别糊涂用SELECT
可以使用函数match
具体用法:
首先使用
graph.nodes列出所有节点
随后调用match函数
result = list(graph.nodes.match(name="pito"))
上述语句返回 name属性为"pito"的节点,,如果有多个满足条件的,则返回多个(这里用list类型转换,方便后面处理)

example3
正好之前手误一不小心建立多了几个节点,具有几个相同的属性,这里正好可以验证
3.jpg

匹配数据库中name为billy的节点

result = list(graph.nodes.match(name="billy"))
print(result)

结果

[(_79:worker {age: 41, name: 'billy'}), (_817:worker {age: 41, name: 'billy'}), (_852:worker {age: 41, name: 'billy'})]

③、万金油

如果觉得调用函数太没有格局了,也可以直接像JDBC那样直接编写语句放入函数执行,相当把定义的代码通过connector直接放到数据库执行
调用run

graph.run(statement)

而且如果你有语法错误会直接在控制台显示

py2neo.database.ClientError: SyntaxError: Invalid input '=': expected an identifier character, whitespace, ':' or '}' (line 1, column 20 (offset: 19))
"CREATE(tem:Tem{name="old"})"

example4

statement = 'CREATE(tem:Tem{name:"old"})'
graph.run(statement)

4.jpg

最后给你们一个惊喜

如何删库跑路(在neo4j中执行)
先执行下列代码

MATCH (n)-[r]-()
DELETE n,r

以免有些节点会被依赖

最后执行

MATCH (n) DELETE n

就可以删除所有节点与关系(跑了跑了)
其实这也可以用于清空数据库
今天就水到这了,有什么问题可以发表,谢谢

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议