参考:Neo4j 第十二篇:使用Python驱动访问Neo4j - 悦光阴 - 博客园 (cnblogs.com)
序号 | 关键字 | 关键字作用 |
---|---|---|
1 | CREATE | 创建 |
2 | MATCH | 匹配 |
3 | RETURN | 加载 |
4 | WHERE | 过滤检索条件 |
5 | DELETE | 删除节点和关系 |
6 | REMOVE | 删除节点和关系的属性 |
7 | ORDER BY | 排序 |
8 | SET | 添加或更新属性 |
create(Node:Image{name:'0516151.jpg', visible:False}) # 创建节点
MATCH (cust)-[r:DO_SHOPPING_WITH]->(cc) # 创建单向关系
# 给对应的节点添加关系 match (image:Imageaaaa{name:"pc3.jpg"}),(typ:Label{name:"风景"}) create (image)-[r:HAS_LABEL]->(typ) return image, typ, r
# 删除节点属性 match(t:Teacher) remove t.name
# 添加/修改节点属性 match(t:Teacher) set t.name='yyy' return t
序号 | 布尔运算符 | 描述 |
---|---|---|
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
match(s:Student) return s order by s.id desc,s.name
# 删除对应节点和关系 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()