zoukankan      html  css  js  c++  java
  • Neo4j学习笔记

    Neo4j CQL - CREATE命令

    CREATE (
       <node-name>:<label-name>
       {     
          <Property1-name>:<Property1-Value>,
          ........
          <Propertyn-name>:<Propertyn-Value>
       }
    )
    //样例:创建两个Person实体包含name、age两个属性
    CREATE (WLC:Person{name:WangLC, age:25})
    CREATE (Z:Person{name:Zhang, age:35})

    Neo4j CQL - MATCH命令

    MATCH 
    (
       <node-name>:<label-name>
    )
    //样例:找到Person下的name为GUAN、WangLC节点创建Teacher关系,Zhang-Teacher-WangLC
    MATCH (p1:Person {name:'Zhang'}), (p2:Scholar {name:'WangLC'}) CREATE (p1)-[:Teacher]->(p2)
    //返回所有Person标签的节点
    MATCH (p:Person) RETURN p

    Neo4j CQL - RETURN命令

    RETURN 
       <node-name>.<property1-name>,
       ........
       <node-name>.<propertyn-name>
    //样例:return一般用于检索实体属性,RETURN一般结合match命令使用单独不能使用
    MATCH(WLC:Person)
    RETURN WLC.name,WLC.age;
    //或者直接全部显示
    MATCH(WLC:Person)
    RETURN WLC;

    Neo4j CQL - 创建关系、检索关系命令

    MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
    CREATE  
        (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
        {<define-properties-list>}]->(<node2-label-name>)
    RETURN <relationship-label-name>
    //样例:创建Zhang-Teacher-WangLC关系并且包含在2016年-2019年属性信息,单项关系
    MATCH (p1:Person{name:'Zhang'}),(p2:Person{name:'WangLC'})
    CREATE  (p1)-[t:Teacher{date:"2016.9-2019.6"}]->(p2)
    RETURN r;
    //检索关系
    MATCH (p1:Person{name:'Zhang'})-[t:Teacher]->(p2:Person{name:'WangLC'}) return t;

    Neo4j CQL -WHERE 条件语句

    WHERE <condition> <boolean-operator> <condition>
    boolean-operator:OR|AND|XOR|NOT
    <condition>:<property-name> <comparison-operator> <value>
    comparison-operator:<>|>|<|>=|<=|=
    //样例
    match(p:Person)where p.name="WangLC" or p.name="Zhang" return p;

    Neo4j CQL - DELETE 删除语句

    DELETE <node-name-list>
    //删除(永久删除)查询到的节点
    DELETE <node1-name>,<node2-name>,<relationship-name>
    //删除查询到的节点以及关系
    //样例 删除节点
    MATCH(p1:Person(name:"Zhang")) DELETE p1;
    //删除 节点、关系
    MATCH(p1:Person{name:"Zhang"})-[r:Teacher]->(p2:Person{name:"WangLC"}) DELETE p1,p2,r

    Neo4j CQL - REMOVE 删除语句

    REMOVE <property-name-list>
    //remove命令用于删除节点属性,节点标签
    //样例 由于给person节点添加了错误的pages属性因此要删除掉Person节点的pages属性
    match(p:Person)remove p.pages return p;

    Neo4j CQL - SET 添加属性语句

    SET  <property-name-list>
    //样例 给person添加birthday属性
    match(p:Person{name:'Zhang'}) set p.birthday='20181210' return p; 

    Neo4j CQL - Sorting 排序语句

    ORDER BY  <property-name-list>  [DESC]
    //样例 按照出生年从大到小排序
    match(p:Person)return p order by p.born desc;
    // 按照出生年从小到大排序
    match(p:Person)return p order by p.born;
  • 相关阅读:
    【USACO】又买饲料 单调队列dp
    数论:px+py 不能表示的最大数为pq-p-q的证明
    codeforces round #419 E. Karen and Supermarket
    [USACO4.1]麦香牛块Beef McNuggets
    【USACO】 录制唱片
    【USACO】 洞穴奶牛
    【USACO】奶牛抗议 树状数组+dp
    【USACO】 奶牛会展
    【LSGDOJ 2015】数页码
    阿里云合作伙伴峰会SaaS加速器专场 | 商业加持,迈进亿元俱乐部
  • 原文地址:https://www.cnblogs.com/wlc297984368/p/10095557.html
Copyright © 2011-2022 走看看