Neo4j使用系列4

Part4-1    Cypher基础1

类似于关系数据库中使用的SQL,是Neo4j使用的查询语言

1.特点:

  • 是一种声明式图形查询语言,

  • 富有表现力和高效的查询、更新和管理。

  • 设计简单,但功能强大,可以轻松表达高度复杂的数据库查询。

  • Cypher的结构基于英语散文和整洁的图像,使其读写查询变得容易。

  • 名称区分大小写

2.数据类型:

Cypher为多种数据类型提供的支持。

  • 属性类型

* 数字,一种抽象类型,具有子类型整数(Integer)和浮点数(Float)

* 字符串(String)

* 布尔(Boolean)

* 空间类型点(Point)

* 时态类型:日期(Date, Time),时间(Time),本地时间(LocalTime),日期时间(,DateTime),本地日期时间(LocalDateTime)和持续时间(Duration)

  • 结构类型

* Node(节点)

    * Id

    * labels(标签不是值,而是模式语法的一种形式。)

    * Map(属性map)

* Relationship(关系)

    * Id

    * Type

    * Map(属性map)

    * 起始节点的 Id

    * 终端节点的 Id

* Path(路径),节点和关系的交替序列。

  • 复合类型

* List,一个异构的有序值集合,每个值都有任何属性、结构或复合类型。

* 映射,(键,值)对的异构无序集合。

    * 键是一个字符串

    * 值具有任何属性、结构或复合类型

(复合值也可以包含null)

3.命名规则和约定:

  • 命名规则

* 字母字符:

    * 名称应以字母字符开头。

    * 这包括“非英语”字符,例如,,,等。åäöü

* 数字:

    * 名称不应以数字开头。

    * 如,1first是不允许的,而first1可以。

* 符号:

    * 名称不应包含符号,但下划线除外,如my_variable,或作为表示参数的第一个字符,如给定的$myParam

* 长度:

    * 可以很长,最多65535(2^16 -1或 65534个字符,具体取决于Neo4j的版本。

* 区分大小写:

    * 名称区分大小写,如Person,PERSON及person是三个不同的标签,而n和N也是两个不同的变量。

* 空格字符:

    * 前导和尾随空格字符将自动删除。 例如MATCH ( a ) RETURN a,等效于MATCH (a) RETURN a 。

  • 范围和命名空间规则

* 节点标签、关系类型和属性名称可以重复使用名称。

    * 以下查询(用于标签、类型和属性名称)有效:CREATE (a:a {a: 'a'})-[r:a]->(b:a {a: 'a'}).

* 节点和关系的变量不得重复使用同一查询范围内的名称。

    * 以下查询无效,因为节点和关系都具有名称a:CREATE (a)-[a]->(b) 。

  • 建议的命名约定

节点标签:

驼峰大小写,以大写字符开头,如建议:VehicleOwner 而非 :vehicle_owner

关系类型:

大写,使用下划线分隔单词,如建议OWNS_VEHICLE  而非:ownsVehicle

4.保留关键字:

保留关键字是在Cypher中具有特殊含义的单词。 保留关键字可按抽取类别进行分组。 

(在查询表达式中,不允许将保留关键字用作标识符,包括变量、函数名称或参数)

  • Clause (从句)

* CALL

* CREATE

* DELETE

* DETACH

* FOREACH

* LOAD

* MATCH

* MERGE

* OPTIONAL

* REMOVE

* RETURN

* SET

* START

* UNION

* UNWIND

* WITH

  • Subclauses子句

* LIMIT

* ORDER

* SKIP

* WHERE

* YIELD

  • Modifiers修饰符

* ASC

* ASCENDING

* ASSERT

* BY

* CSV

* DESC

* DESCENDING

* ON

  • Expressions表达式

* ALL

* CASE

* COUNT

* ELSE

* END

* EXISTS

* THEN

* WHEN

  • Operators运算符

* AND

* AS

* CONTAINS

* DISTINCT

* ENDS

* IN

* IS

* NOT

* OR

* STARTS

* XOR

  • Schema模式

* CONSTRAINT

* CREATE

* DROP

* EXISTS

* INDEX

* NODE

* KEY

* UNIQUE

  • Hints

* INDEX

* JOIN

* SCAN

* USING

  • Literals 

* false

* null

* true

  • Reserved for future use

* ADD

* DO

* FOR

* MANDATORY

* OF

* REQUIRE

* SCALAR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cherry CSL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值