zoukankan      html  css  js  c++  java
  • Neo4j CQL基本使用

    Neo4j用CQL作为查询语言

    CQL 

    • Neo4j图形数据库的查询语言
    • 是一种声明性模式匹配语言
    • 遵循SQL语法
    • 语法是非常简单且人性化、可读的格式

    1.启动服务,打开浏览器

      在数据浏览器中的美元提示符下键入命令

    2.常用命令

      (1)CREATE

      • 创建没有属性的节点
      • 使用属性创建节点
      • 在没有属性的节点之间创建关系
      • 使用属性创建节点之间的关系
      • 为节点或关系创建单个或多个标签

      创建节点

    CREATE (<node-name>:<label-name>)

       eg:

        CREATE (emp:Employee)  

        创建一个标签和一个节点,在数据库中创建一个带有标签名“Employee”的节点“emp”

        创建带有属性的节点

    CREATE (
       <node-name>:<label-name>
       {     
          <Property1-name>:<Property1-Value>
          ........
          <Propertyn-name>:<Propertyn-Value>
       }
    )

      eg:

        CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })

        创建:

          一个标签,即“Dept”;

          一个节点,即“dept”;

          三个属性,即deptno,dname,location

      创建关系

      • 单向关系
      • 双向关系
    CREATE (<node1-name>:<label1-name>)-
        [(<relationship-name>:<relationship-label-name>)]
        ->(<node2-name>:<label2-name>)

      eg:

      CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)

      From Node——节点名称 p1,节点标签名称profile1

      To Node——节点名称p2,节点标签名称Profile2

      r1是关系名称,LIKES是一个关系标签名称

     

      (2)MATCH和

        MATCH

      • 从数据库获取有关节点和属性的数据
      • 从数据库获取有关节点,关系和属性的数据
    MATCH 
    (
       <node-name>:<label-name>
    )

       RETURN 

      • 检索节点的某些属性
      • 检索节点的所有属性
      • 检索节点和关联关系的某些属性
      • 检索节点和关联关系的所有属性
    RETURN 
       <node-name>.<property1-name>,
       ........
       <node-name>.<propertyn-name>

      不能单独使用MATCH或RETURN命令,结合起来从数据库检索数据

      MATCH + RETURN命令 

      • 检索节点的某些属性
      • 检索节点的所有属性
      • 检索节点和关联关系的某些属性
      • 检索节点和关联关系的所有属性
    MATCH Command
    RETURN Command

      eg:

        MATCH (dept:Dept) return dept

        MATCH (dept: Dept) RETURN dept.deptno,dept.dname

      (3)WHERE

      过滤MATCH查询的结果

    WHERE <condition> <boolean-operator> <condition>

      <boolean-operator>  AND,OR,NOT,XOR

      <condition>

    <property-name> <comparison-operator> <value>

      <comparison-operator>  =,<>,<,>,<=,>=

      eg:

        CREATE (emp:Employee{id:1001,name:"Lokesh",sal:35000,deptno:10})

        CREATE (emp:Employee{id:1002,name:"abc",sal:28000,deptno:20})

        CREATE (emp:Employee{id:1003,name:"xyz",sal:35000,deptno:30})

        CREATE (emp:Employee{id:1004,name:"Mno",sal:32000,deptno:40})

        查询

        MATCH (emp:Employee) RETURN emp.id,emp.name,emp.salary,emp.deptno

      MATCH (emp:Employee) WHERE emp.name = 'abc' RETURN emp

      MATCH (emp:Employee) WHERE emp.name = 'abc' OR emp.name='xyz' RETURN emp.id,emp.name,emp.sal,emp.deptno

       使用WHERE创建关系

      • 创建两个现有节点之间的关系
      • 一次创建两个节点和它们之间的关系
      • 使用WHERE子句创建两个现有节点之间的关系
    MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>) 
    WHERE <condition>
    CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
           {<relationship-properties>}]->(<node2-label-name>) 

      eg:

        CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})

        CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})

        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

      (4)DELETE

      • 删除节点
      • 删除节点及相关节点和关系

      删除节点

    DELETE <node-name-list>

      eg:

        CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })

        MATCH (d: Dept) RETURN d

      MATCH (d: Dept) DELETE d

      删除节点和关系

    DELETE <node1-name>,<node2-name>,<relationship-name>

      eg:

        CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)

         MATCH (p1:Profile1)-[r]-(p2:Profile2)RETURN p1,r,p2

      MATCH (p1:Profile1)-[r]-(p2:Profile2) DELETE p1,r,p2

      两个节点及其关联都被删除了

      MATCH (p1:Profile1)-[r]-(p2:Profile2) RETURN r

    还有很多命令,以后再继续学习

  • 相关阅读:
    Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(环境搭建)
    纵观 ActiveX 平台的兴衰史,看开发控件的技术演变
    mysql函数
    SQL Server 连接字符串和身份验证
    http Content type
    C中二叉排序树的非递归和递归插入操作以及中序遍历代码实现【可运行】
    带头结点和不带头结点的链栈基本操作
    小程序开发日记-14悼篮球兄弟
    小程序开发日记-13 NetworkTimeout
    小程序开发日记-12 SSL证书及相关
  • 原文地址:https://www.cnblogs.com/baby123/p/11005066.html
Copyright © 2011-2022 走看看