• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于数据库:Py2Neo使用

python 搞代码 3年前 (2022-02-20) 12次浏览 已收录 0个评论

Neo4J自身是由Java语言编写,Py2Neo提供了Python操控Neo4J的相应API。

装置应用pip即可:

<code class="bash">pip install py2neo

连贯 Database

摘自:https://py2neo.readthedocs.io…

须要向py2neo传递一个URI,其格局为:

<scheme>://[<user>[:<password>]@]<host>[:<port>]

如果不指明URI,那么主动连贯本地的7474端口。

name参数用来指明数据库的名称,password传递明码。

连贯好当前,就能够通过python向neo4j传递运行指令:

>>> from py2neo import Graph
>>> sales = Graph("bolt+s://g.example.com:7687", name="sales", password='***')
>>> sales.run("MATCH (c:Customer) RETURN c.name").to_data_frame()  # 需装置pandas

操作数据库

除了间接用run命令写入、读取数据外,咱们还能用面向对象的形式来操作数据:

>>> from py2neo import Graph, Node, Relationship
>>> g = Graph()  # 建设连贯
>>> a = Node("Person", name="Alice", age=33)  # 新建节点
>>> b = Node("Person", name="Bob", age=44)
>>> KNOWS = Relationship.type("KNOWS")  # 建设节点之间的关系
>>> g.merge(KNOWS(a, b), "Person", "name")  # MERGE 命令会主动应用事务进行操作

以及,获取节点(每个节点都会有一个隐含的ID,且这个ID是惟一的):

>>> graph = Graph()
>>> len(graph.nodes)
55691
>>> graph.nodes[1234]
(_1234:Person {name: 'Alice'})
>>> graph.nodes.get(1234)
(_1234:Person {name: 'Alice'})

Node类的初始化办法是__init__(self, *labels, **properties),因而,咱们实例化Node传入的地位参数是该节点的标签名(一个节点能够有多个标签),关键词参数是这个节点的属性。

Relationship类初始化接管的前三个(或者两个)地位参数用于指明这个关系的起始节点、关系标签(可有可无)、终止节点,关键词参数指明这个关系的属性。

事务

摘自:https://py2neo.readthedocs.io…

事务是数据库很重要的一个性能!

创立事务并提交:

>>> from py2neo import Graph, Node, Relationship
>>> g = Graph()
>>> tx = g.begin()
>>> a = Node("Person", name="Alice")
>>> tx.create(a)
>>> b = Node("Person", name="Bob")
>>> ab = Relationship(a, "KNOWS", b)
>>> tx.create(ab)
>>> tx.commit()
>>> g.exists(ab)
True

查问

摘自:https://py2neo.readthedocs.io…

py2neo.matching模块提供了依据某些规范匹配节点和关系的性能。

对于通过标签和属性进行节点的相等匹配:

>>> g = Graph()
>>> nodes = NodeMatcher(g)
>>> keanu = nodes.match("Person", name="Keanu Reeves").first()
>>> keanu
Node('Person', born=1964, name='Keanu Reeves')

对于关系的匹配咱们应用RelationshipMatcher类来进行。

>>> g.nodes.match("Person", name="Alice").all()

删除

>>> g = Graph()
>>> g.delete_all() # 清空这个图数据库

参考资料:


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于数据库:Py2Neo使用

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址