Python 操作 neo4j 数据库(py2neo)
2021/10/16 19:09:29
本文主要是介绍Python 操作 neo4j 数据库(py2neo),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
基础
参考:Neo4j 第十二篇:使用Python驱动访问Neo4j - 悦光阴 - 博客园 (cnblogs.com)
查询语法
序号 | 关键字 | 关键字作用 |
---|---|---|
1 | CREATE | 创建 |
2 | MATCH | 匹配 |
3 | RETURN | 加载 |
4 | WHERE | 过滤检索条件 |
5 | DELETE | 删除节点和关系 |
6 | REMOVE | 删除节点和关系的属性 |
7 | ORDER BY | 排序 |
8 | SET | 添加或更新属性 |
create
create(Node:Image{name:'0516151.jpg', visible:False}) # 创建节点
MATCH (cust)-[r:DO_SHOPPING_WITH]->(cc) # 创建单向关系
match
# 给对应的节点添加关系 match (image:Imageaaaa{name:"pc3.jpg"}),(typ:Label{name:"风景"}) create (image)-[r:HAS_LABEL]->(typ) return image, typ, r
remove
# 删除节点属性 match(t:Teacher) remove t.name
set
# 添加/修改节点属性 match(t:Teacher) set t.name='yyy' return t
where
序号 | 布尔运算符 | 描述 |
---|---|---|
1 | = | 它是Neo4j CQL“等于”运算符。 |
2 | <> | 它是一个Neo4j CQL“不等于”运算符。 |
3 | < | 它是一个Neo4j CQL“小于”运算符。 |
4 | > | 它是一个Neo4j CQL“大于”运算符。 |
5 | <= | 它是一个Neo4j CQL“小于或等于”运算符。 |
6 | = | 它是一个Neo4j CQL“大于或等于”运算符。 |
序号 | 布尔运算符 | 描述 |
---|---|---|
1 | AND | 它是一个支持AND操作的Neo4j CQL关键字。 |
2 | OR | 它是一个Neo4j CQL关键字来支持OR操作。 |
3 | NOT | 它是一个Neo4j CQL关键字支持NOT操作。 |
4 | XOR | 它是一个支持XOR操作的Neo4j CQL关键字。 |
# 使用where MATCH (cust:Customer),(cc:CreditCard) WHERE cust.id = "1001" AND cc.id= "5001" CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) RETURN r # 有必要补充一下,可以不使用WHERE达到WHERE的一些效果,比如 MATCH p=(m:Bot{id:123})<-[:BotRelation]->(:Bot) RETURN p
order by
match(s:Student) return s order by s.id desc,s.name
delete
# 删除对应节点和关系 MATCH (cc: CreditCard)-[rel]-(c:Customer) DELETE cc,c,rel
索引
添加索引
CREATE INDEX ON :Person(name)
删除索引
DROP INDEX ON :Person(name)
查询创建的索引
:schema
约束
CREATE CONSTRAINT ON (n:test) ASSERT n.name IS UNIQUE 1)约束只对指定的lable下面的字段有效,其他label不受影响 2)一次只能给一个lable添加约束
事务
不用cql语句
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)
使用cql语句
from py2neo import Graph g = Graph() tx = g.begin() try: cql = "Create(Node:Image{})" tx.run(cql) cql = "Create(Node:Device{})" tx.run(cql) tx.commit() except Exception as e: print(e) tx.rollback()
这篇关于Python 操作 neo4j 数据库(py2neo)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享