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的关系,所以和下面这条语句其实是等价的.

 

posted @ 2019-03-17 15:51  MicroCat  阅读(1241)  评论(0编辑  收藏  举报