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}
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三个属性
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/
转载文章受原作者版权保护。转载请注明原作者出处!