Neo4j--常用的查询语句
参考
https://www.w3cschool.cn/neo4j
准备工作
插入一堆朝代节点
插入我大明皇帝节点
创建大明皇帝统治大明王朝的关系
看一下结果
WHERE
WHERE 语法
WHERE condition [boolean-operator condition]
condtion
node-name.property-name comparison-operator value
comparison-operator
- =
- <>
- <
- >
- <=
- >=
boolean-operator
- AND
- OR
- NOT
- XOR
查询统治小于50年的朝代
大隋朝,大秦朝榜上有名,恭喜恭喜.
查询统治时间大于50年且在公元800后的朝代.
ORDER BY--对查询结果排序
ORDER BY语法
ORDER BY node-name.property-name [DESC]
查询所有朝代,并根据朝代建立时间排序
LIMIT--限制返回行数
LIMIT语法
LIMIT number
查询所有朝代,并根据朝代建立时间排序,仅返回前面3条记录
SKIP--跳过返回集的前n条记录
SKIP语法
SKIP number
查询所有朝代,并根据朝代建立时间排序,跳过最开始的三条并返回后面的3条记录
IN--在集合中查找
IN语法
IN [value1 [, value2, ...]]
查询唐,宋,秦朝的节点
EXISTS
EXISTS语法
[NOT] EXISTS(node-name.property-name)
创建一个新的朝代节点
查询不知道啥时候建国的朝代
STARTS WITH和ENDS WITH
STARTS/ENDS WITH语法
STARTS/ENDS WITH "value"
查询谥号以祖结尾的皇帝
CONTAINS
CONTAINS语法
COTAINS "value"
查询带有"祁"字的皇帝节点
NULL
NULL在查询条件中的用法
WHERE property-name IS [NOT] NULL
Neo4j CQL将空值视为对节点或关系的属性的缺失值或未定义值。
当我们创建一个具有现有节点标签名称但未指定其属性值的节点时,它将创建一个具有NULL属性值的新节点。
创建一个新节点
天朝节点只有start,没有end,所以end属性默认为NULL.
查询还在统治中的朝代
噫,吾天朝威武哉..
查询关系
查询朝代和皇帝节点有统治关系的所有内容
查询关系的时候,如果省略了关系的方向,则表示去查询两个方向的所有关系.
因为这里只有Emperor指向Dynasty的关系,所以和下面这条语句其实是等价的.
或