neo4j目前是图数据库的主流,neo4j的Cypher语法简单直观,但是不便于流程化。如果习惯在python环境下处理数据,那么还是要用到python的neo4j库,即py2neo.
py2neo本身并不复杂,但要先适应它的思考模式。另一个问题是py2neo文档的示例较少,而且不同版本的py2neo挺不相同,容易弄混。这里要讲的是目前的v4版本。
连接数据库和图
from py2neo import * # *中常用的是Node,Relationship,Graph
graph = Graph(url,username='name',password='pw')
2.查看数据库的基本属性
graph.schema.node_labels # 查看图结构中节点标签的类别,返回结果是一个frozenset
graph.schema.relationship_types # 查看图结构中关系的类型
3.数据操作
数据操作分为两种方式,一种是直接传入cypher语句,这里我们称之为cypher外壳;另一种是采用py2neo自己的数据结构和编写方式,我们称为py2neo方法。
在讲这两种方式之前,先提一下通用的pull()、push()等操作。
因为常需要从服务器端取数据,同时编写程序时本地也会产生Node,Relationship等数据,因此需要二者的版本协同。常规的处理方法如下:
graph = Graph()
tx = graph.begin() # 开始一个Transaction
node_1 = Node("Person",name=&