【知识图谱】 CQL 语句学习 一

Neo4j – CQL简介

Neo4j CQL

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

如Oracle SQL

  • Neo4j CQL 已命令来执行数据库操作。
  • Neo4j CQL 支持多个子句像在哪里,顺序等,以非常简单的方式编写非常复杂的查询。
  • NNeo4j CQL 支持一些功能,如字符串,Aggregation.In 加入他们,它还支持一些关系功能。

常用的Neo4j CQL命令/条款

S.No.CQL命令/条用法1。CREATE 创建创建节点,关系和属性2。MATCH 匹配检索有关节点,关系和属性数据3。RETURN 返回返回查询结果4。WHERE 哪里提供条件过滤检索数据5。DELETE 删除删除节点和关系6。REMOVE 移除删除节点和关系的属性7。

ORDER BY 以…排序

排序检索数据8。SET 组添加或更新标签

常用的Neo4j CQL函数

S.No.定制列表功能用法1。String 字符串它们用于使用String字面量。2。Aggregation 聚合它们用于对CQL查询结果执行一些聚合操作。3。Relationship 关系他们用于获取关系的细节,如startnode,endnode等。

与JAVA数据类型相同:

Neo4j CQL数据类型

S.No.CQL数据类型用法1.boolean用于表示布尔文字:true,false。2.byte用于表示8位整数。3.short用于表示16位整数。4.int用于表示32位整数。5.long用于表示64位整数。6.floatI用于表示32位浮点数。7.double用于表示64位浮点数。8.char用于表示16位字符。9.String用于表示字符串。

Neo4j CQL中的布尔运算符

Neo4j支持以下布尔运算符在Neo4j CQL WHERE子句中使用以支持多个条件。

布尔运算符描述1AND它是一个支持AND操作的Neo4j CQL关键字。2OR它是一个Neo4j CQL关键字来支持OR操作。3NOT它是一个Neo4j CQL关键字支持NOT操作。 4XOR它是一个支持XOR操作(异或)的Neo4j CQL关键字。

Neo4j CQL中的比较运算符

Neo4j 支持以下的比较运算符,在 Neo4j CQL WHERE 子句中使用来支持条件。

S.No.布尔运算符描述1.=它是Neo4j CQL”等于”运算符。2.<>它是一个Neo4j CQL”不等于”运算符。3.

注意:节点本身是有标签的(Label),关系分成种类(Type),下面的Property Keys则包含了节点和关系的Key值。节点和关系的属性都是使用大括号里包含键值对的方式添加的{key:value}

【知识图谱】 CQL 语句学习 一

CREATE:新建节点、关系、标签

创建没有属性的节点:CREATE (节点名称:节点标签名称),例如:CREATE (emp:Employee)。必须加括号
创建带有属性的节点

CREATE (
节点名称:节点标签名称
  {
    :
    ........

    属性的名称:属性值
  }
)

例如:CREATE (test_name:test1_lable {pro_name:”Pro_val”})。注意:属性值必须是Neo4j CQL数据类型。字符串类型要加双引号。
CREATE (A:Employee{empid:1,name:”dd”,salary:13000,deptno:12})
注意,不同属性键值对之间要加成逗号而不是分号。

MATCH

MATCH (

RETURN

RETURN

MATCH+RETURN:

MATCH (dept: Dept)
RETURN dept.deptno,dept.dname,dept.location
RETURN可与不加括号
上述代码是获取Dept 标签的节点的deptno、dname、location三个属性

【知识图谱】 CQL 语句学习 一

RELATION 关系:

使用现有节点创建没有属性的关系

MATCH (:),(:)
CREATE
    ()-[:]->()
RETURN

上行RETURN句子可选,若无需返回则慈航可以去掉。下行先匹配再返回关系

MATCH (e)-[r:DO_SHOPPING_WITH ]->(cc)
RETURN r

使用现有节点创建有属性的关系

MATCH (cust:Customer),(cc:CreditCard)<br> CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc)<br> RETURN r

新建节点创建没有属性的关系

CREATE
   (:)-
   [:{}]->
   (:)
RETURN

检索关系节点的详细信息

MATCH ()-[:]->()
RETURN

标签

单个节点可以添加多个标签:

CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)</label-namen></label-name2></label-name1></node-name>

WHERE子句

MATCH命令中提供了WHERE子句来过滤MATCH查询的结果。
简单WHERE子句语法:WHERE

MATCH (emp:Employee) WHERE emp.salary>=15000 AND emp.salary

使用WHERE子句,创建现有的两个符合一定条件的节点之间的关系

MATCH (<node1-name>:<node1-label-name>),(<node2-name>:<node2-label-name>)
WHERE <condition>
CREATE (<node1-name>)-[<relationship-name>:<relationship-label-name>
       {<relationship-properties>}]->(<node2-name>) </node2-name></relationship-properties></relationship-label-name></relationship-name></node1-name></condition></node2-label-name></node2-name></node1-label-name></node1-name>

例如:

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

Original: https://blog.csdn.net/qq_37912886/article/details/109987725
Author: Clever_idiot
Title: 【知识图谱】 CQL 语句学习 一

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/557934/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球