Neo4j(cypher)基础

    xiaoxiao2022-07-02  111

    1、创建不带属性(或者带属性的节点:)

    Create(node-name:label-name{属性列表})

    {属性列表} 写法:{property-name1:value1,property-name2:value2,...}

    例如:Create(person:Person{name:"典韦",nickname:"**",belong:"魏",age:35,famours:"护主",damage:91})

    注意点:这里的node-name和label-name的区别,label-name相当于SQL数据库的表名!!!node-name是系统使用的,我们以后可以这样记忆,node-name是用来存放操作后(如查询到的)临时数据表,所以我们进行的所有操作都是在这个临时表上进行的。

    2、查询所有创建的节点

    match(n) return n;

    注意match语句一定要和return语句联合使用

    3、查询一个表的所有节点:

    match(temp:Person) return temp;

    注意上面的temp是存放查询数据的临时表,名字可以随便写。接着的是“表名”,必须写正确。然后想要显示查询结果我们必须返回临时表!

    4、查询指定属性的节点:

    match(temp:Person) where temp.name="郭嘉"  return temp;

    5、可以使用一些SQL语句中的关键字进行复杂的集合查询

    match(temp:Person) where temp.name="郭嘉" OR temp.name="诸葛亮"  return temp;

    6、删除指定的不带关系的节点(如果带关系需要先删除关系才能删除节点):

    match(temp:Person) where temp.name="汉献帝" delete temp;

    7、删除一个不带关系的表:

    match(temp:Test) delete temp;

    这条语句会删除表中的所有数据。

    8、删除所有节点(节点都不能带关系)

    match(n) delete(n);

    9、删除所有关系和节点:

    MATCH (n)  OPTIONAL MATCH (n)-[r]-()  DELETE n,r

    10、删除指定表的关系和节点:

    match(NFrom:Test)-[r]-() delete NFrom,r;

    11、删除节点的关系但是不删除节点

    match(temp1:Test)-[r]-(temp2:Test) where temp1.name="吕布" and temp2.name="董卓" delete r;

    12、创建已经存在的两个指定节点间的关系:

    match(NFrom:Test),(NTo:Test) Where NFrom.name="张角" and NTo.name="吕布" Create(NFrom)-[r:群雄]->(NTo);

    其实上面的语句就是先查找到表,然后在临时表中查询该人,然后在这两个人中间创建一个关系,中括号中的[]关系中两个名字和node-name与label-name作用一样!13、创建两个节点的同时创建关系

    Create(NFrom:Test{name:"貂蝉"})-[r:人间绝色]->(NTo:Test{name:"大乔"})

    14、创建新建的节点和已经有的节点之间的关系:

    match(NFrom:Test) where NFrom.name="吕布" Create(NFrom)-[r:夫君]->(NTo:Test{name:"貂蝉"})

    其中貂蝉节点是新节点

    注意:在上面的关系中。[r:关系]中,关系也是可以有属性的,如果我们需要创建属性的话,那么只需要如下:

    [r:关系{属性列表}]如下:

    match(NFrom:Test) where NFrom.name="吕布" Create(NFrom)-[r:义子{Time:"公元前407年",Event:"为赤兔杀丁原"}]->(NTo:Test{name:"董卓"})

    15、查询的时候跳过一部分数据:

    match(temp:Person) return temp skip 2    

    上面的代码可以跳过前两条数据

    16、修改属性:

    match(temp:Person) where temp.name="诸葛亮" Set temp.nickname="孔明";

     

    最新回复(0)