Py2neo v4使用笔记(五)

接下来终于要正式进入正题了,之前我们还只是在python里面敲敲打打,现在需要在Neo4j里面创建数据库了

首先当然需要安装Neo4j,社区版就已经足够使用了,安装过程不再赘述

运行Neo4j之后,我们就可以在python里和它建立连接,连接方式有三种,也就是Neo4j支持的三种网络协议,Bolt,HTTP和HTTPS,分别使用端口7687,7474和7473(有的可能在windows防火墙中阻止了这几个端口,需要允许通过这几个端口)

文档中给出的代码示例都是通过Bolt连接,我一般习惯用HTTP连接

from py2neo import Graph

graph = Graph("http://localhost:7474/db/data/")

graph.run("一串Cypher语句").to_table()

上述代码中创建了graph对象,然后用graph.run就可以运行Cypher语句,就可以鼓捣很多事情了

我们还是来仔细看看文档中都说了些啥

2. Graph Databases (py2neo.database)

py2neo.database中包括的class和function都是用来和Neo4j交互的,其中最重要的就是Graph class,它表示一个Neo4j的图数据库实例,并提供到大多数常用的py2neo API的连接。

2.1 Database

Database通过Bolt或HTTP与整个的Noe4j图数据库连接。Database中包括Graph,目前Neo4j只支持一个Database中有一个Graph

突然想到那么Neo4j是否可以有多个Database呢?答案是可以的,但是在Database之间进行切换比较麻烦,具体参见:Neo4j多数库切换

Database的创建:

from py2neo import Database

db=Database() #使用默认参数bolt://localhost:7687,同下面这行代码

db=Database("bolt://localhost:7687")

Database的一些方法就暂时略过了,基本都是一些配置层面的参数和设置,目前应该还接触不到

2.2 Graph

Graph的创建(我理解为和Neo4j中的graph建立连接),以下三种方式都是等同的:

from py2neo import Graph

graph_1=Graph()

graph_2=Graph(host="localhost")

graph_3=Graph("bolt://localhost:7687")

创建时还可以设置一些其他参数,如user/password等

graph=Graph(user="admin", password="123456")

接下来可以将之前创建的一些节点、关系导入到Neo4j中

graph.create(node)

graph.create(relationship)

graph.create(subgraph)

注意,如果我们在python中对节点、关系等做了一些改动,Neo4j中的远程节点并不会相应地变化,需要用push方法更新一下

graph.push(node)

还有一种pull方法作用相反,就是在Neo4j中对节点等做了改动,python中相应节点也不会有变化,需要用pull将远程节点及相关属性“拉”回来

graph.pull(node)

理解create、push和pull的作用很重要,我之前不知道,尤其是看到有的教程说更新节点使用push或者pull(并没有强调区别),结果被坑了,半天时间都在找程序问题出在哪儿

今天就暂时到这儿吧,有空再继续

你可能感兴趣的:(Py2neo v4使用笔记(五))