美文网首页
Cypher语法关键字(三)DELETE,REMOVE,ORDE

Cypher语法关键字(三)DELETE,REMOVE,ORDE

作者: 数据的艺术2 | 来源:发表于2020-07-20 22:42 被阅读0次

    DELETE

    ​ DELETE语句用于删除图元素--节点,关系或路径。

    // 删除单个节点
    MATCH (n:Useless) DELETE n
    
    // 删除关系
    MATCH (root { name: 'root' })-[r]-(A { name: 'A' }) DELETE r
    
    // 删除路径
    match p=(d { name: 'Node D' })--(e { name: 'Node e' }) delete p
    
    // 删除一个节点及其所有的关系
    MATCH (n { name: 'root' }) DETACH DELETE n
    
    // 删除所有节点和关系
    MATCH (n) DETACH DELETE n
    

    REMOVE

    ​ REMOVE语句用于删除图元素的属性和标签。对于删除节点和关系,参见DELETE小节.

    // 删除一个属性:Neo4j不允许属性存储空值null。如果属性的值不存在,那么节点或者关系中的属性将被删除。这也可以通过REMOVE来删除。
    MATCH (p {name: 'Michael Douglas'}) REMOVE p.bornIn RETURN p
    
    // 删除标签
    MATCH (n:German { name: 'Peter' }) REMOVE n:German RETURN n
    
    // 删除节点的多个标签 
    MATCH (n { name: 'Peter' }) REMOVE n:German:Swedish RETURN n
    

    ORDER BY

    ​ ORDER BY是紧跟RETURN或者WITH的子句,它指定了输出的结果应该如何排序。

    // 根据属性对节点进行排序
    MATCH (n) RETURN n.name ORDER BY n.name
    
    // 根据多个属性对节点进行排序
    MATCH (n) RETURN n.born, n.name ORDER BY n.born, n.name
    
    // 节点降序排序:在排序的变量后面添加DESC,Cypher将以逆序(即降序)对输出进行排序。
    MATCH (n) RETURN n ORDER BY n.name DESC
    
    // 空值的排序:当结果集中包含null值时,对于升序排列,null总是在结果集的末尾。而对于降序排序,null值总是排在最前面。
    MATCH (n) RETURN n.title, n ORDER BY n.title
    

    LIMIT

    ​ LIMIT限制输出的行数。

    // 返回开始部分
    MATCH (n) RETURN n ORDER BY n.name LIMIT 3
    

    SKIP

    ​ SKIP定义了从哪行开始返回结果。

    // 跳过前三
    MATCH (n) RETURN n ORDER BY n.name SKIP 3
    
    // 返回中间两个
    MATCH (n) RETURN n ORDER BY n.name SKIP 1 LIMIT 2
    
    // 跳过表达式的值加1
    MATCH (n) RETURN n ORDER BY n.name SKIP toInt(3*rand())+ 1
    

    相关文章

      网友评论

          本文标题:Cypher语法关键字(三)DELETE,REMOVE,ORDE

          本文链接:https://www.haomeiwen.com/subject/fivukktx.html