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

Neo4j使用系列4相关推荐

  1. neo4j基础系列教程

    neo4j基础系列教程 Neo4j neo4j基础语法 py2neo操作 APOC数据迁移

  2. neo4j图形数据库第七弹——整合vis.js实现数据可视化

    正经学徒,佛系记录,不搞事情 基于上文:https://blog.csdn.net/qq_31748587/article/details/84232352  vis.js的项目 基于上文:https ...

  3. neo4j 机器学习_知识图谱实战系列四:neo4j的介绍和使用

    一般情况下,我们使用数据库查找事物间的联系的时候,只需要短程关系的查询(两层以内的关联).当需要进行更长程的,更广范围的关系查询时,就需要图数据库的功能. 而随着社交.电商.金融.零售.物联网等行业的 ...

  4. java neo4j rest api_Neo4j REST API使用实例—ttlsa教程系列之neo4j(二)

    ttlsa教程系列之neo4j---(二)Neo4j REST API使用实例 一. 简介 通过REST API方式与Neo4j进行交互式操作.请求和响应数据默认是以JSON格式展示的.需要显示设置请 ...

  5. Neo4j REST API使用实例---ttlsa教程系列之neo4j(二)

    为什么80%的码农都做不了架构师?>>>    ttlsa教程系列之neo4j---(二)Neo4j REST API使用实例 一. 简介 通过REST API方式与Neo4j进行交 ...

  6. 图数据库Neo4j学习笔记系列

    作者简介:20年IT工作经验,曾在华为.HP.移动.电网等国内外知名IT企业任职:关注领域包括证券.航空.制造.电信.电网等.在数据库开发和优化.数据仓库.系统架构.大中型项目管理.部门管理.数据挖掘 ...

  7. 二、Neo4j源码研究系列 - 单步调试

    二.Neo4j源码研究系列 - 单步调试 一.背景介绍 上一篇我们已经把了neo4j的源码准备以及打包流程完成了,本篇将讲解如何对neo4j进行单步调试.对于不了解如何编译打包neo4j的读者,请阅读 ...

  8. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.8 - 图生成 完全图

    1.概述 apoc.generate.complete 本过程生成一个完全图.完全图中,每个节点有到所有其他节点的边.在无向图中,有N个节点的完全图有N x (N – 1) / 2个边.Neo4j在存 ...

  9. Neo4j 系列(1) —— 初识 Neo4j

    初识 Neo4j 文章目录 初识 Neo4j 前置知识 什么是图数据库 图数据库诞生的背景 图数据库的应用场景 Neo4j 什么是 Neo4j Neo4j 的安装 1. Linux 的安装 2. Do ...

最新文章

  1. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发
  2. tf.assign()函数简单解释
  3. 马士兵java note 5
  4. linux运维面板_phpstudy linux web面板(小皮面板)V0.2版本正式发布
  5. sprint2第三天任务完成情况
  6. java连接mysql通用方法_jdbc操作数据库通用方法
  7. 16款测序平台性能大PK,华大表现不俗!基于人类和细菌基因组DNA水平的多平台测序数据研究成果发布...
  8. CANOpen网络管理报文
  9. 关键词SEO相关搜索/下拉框/优化系统/按天扣费系统全开源
  10. Matlab编程知识点
  11. 一加8系列新机有望亮相CES 2020:全系支持5G网络
  12. 中年之后的人脉,靠的是两个字
  13. myeclipse6.5集成freemaker
  14. ibatis sql_Map中出现异常:Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate..
  15. 从数据库获取数据到Servlet.
  16. 存管 托管 监管 区别
  17. 苹果数据线突然不能充电了_苹果8p突然不能充电了,充不进电!
  18. 数据库系统之初步认识数据库练习题
  19. 习题5-5 使用函数统计指定数字的个数(15 分)
  20. 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单

热门文章

  1. 谷歌造出首台完整功能无人驾驶车 明年上路
  2. Linux中的uptime命令详解
  3. 输入重启Ubuntu 语言栏不见了 解决办法
  4. linux添加suid权限,Linux特殊权限SUID、SGID、SBIT
  5. Java中的Math类相关方法整理
  6. k以内的10个能被13或17整除的自然数之和
  7. tp 双击唤醒 最终方案 实现流程
  8. 浮点数计算,保留两位小数
  9. 超声波五档电动牙刷方案
  10. 在线教育PPT+讲师视频教学直播界面效果