查询
1、带有关系的查询
match (n:Person)-[:饰演]->(p:Movie) return n,p
2、带有条件的查询
match (n:Person)-[:饰演]->(p:Movie) where n.name="刘松仁" return n,p
3、多维度关系查询
3.1 二度查询
3.2 利用关系去查询
match p=()-[c:是]->() return p limit 25
3.3 利用正则查询
match (n:Person) where n.name=~'Jack.*' return n limit 10
3.4 利用包含查询
match (n:Person) where n.name contains '陈' return n limit 10
实体和关系
1、创建实体和关系
创建简单的实体和关系
create (n:Person)-[:LOVES]->(m:Dog)
创建带有属性的实体和关系
create (n:Person{name:"李四"})-[:FEAR{level:1}]->(t:Tiger{type:"东北虎"})
已存在两个实体,我们想让他们有关系,可以用下面的语句建立联系
match (n:Person{name:"王五"}),(m:Person{name:"赵柳"}) create(n)-[k:KNOW]->(m) return k
若想要两个实体间存在多种关系,用下面的语句在原来关系的基础上,添加关系
match (n:Person{name:"王五"}),(m:Person{name:"赵柳"}) merge(n)-[l:LOVE]->(m) return l
merge有则返回,没有则创建;而create只有创建
删除
你可以使用 DETACH DELETE 并删除整个数据库。
继续来执行下边的语句:
MATCH (n) DETACH DELETE n
2、同时删除实体和关系
match (n:Person)-[f:FEAR]->(t:Tiger) delete n,f,t
下面这两个关系就被删除了
更新
1、给关系添加属性
match (n:Person)-[l:LOVE]->(p:Person) set l.date="1998" return n,l,p
2、索引能够提高查询速度
2.1 创建索引
create index on :Person(name)
2.2 删除索引
drop index on :Person(name)
2.3 给某一个属性创建唯一的一个约束
比如,仍然给person 的name创建一个唯一的约束
create constraint on (p:Person) assert (p.name) is unique
3、 查询姓名12他的三度内的朋友有哪些
4、跟姓名12有关系的,只要三度内能关联的上,就显示。
5、姓名11的通话记录中的电话有哪些
最短路径的查询
姓名2到姓名10的最短路径查询
姓名2到姓名10的所有的最短路径查询