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
Neo4j使用系列4相关推荐
- neo4j基础系列教程
neo4j基础系列教程 Neo4j neo4j基础语法 py2neo操作 APOC数据迁移
- neo4j图形数据库第七弹——整合vis.js实现数据可视化
正经学徒,佛系记录,不搞事情 基于上文:https://blog.csdn.net/qq_31748587/article/details/84232352 vis.js的项目 基于上文:https ...
- neo4j 机器学习_知识图谱实战系列四:neo4j的介绍和使用
一般情况下,我们使用数据库查找事物间的联系的时候,只需要短程关系的查询(两层以内的关联).当需要进行更长程的,更广范围的关系查询时,就需要图数据库的功能. 而随着社交.电商.金融.零售.物联网等行业的 ...
- java neo4j rest api_Neo4j REST API使用实例—ttlsa教程系列之neo4j(二)
ttlsa教程系列之neo4j---(二)Neo4j REST API使用实例 一. 简介 通过REST API方式与Neo4j进行交互式操作.请求和响应数据默认是以JSON格式展示的.需要显示设置请 ...
- Neo4j REST API使用实例---ttlsa教程系列之neo4j(二)
为什么80%的码农都做不了架构师?>>> ttlsa教程系列之neo4j---(二)Neo4j REST API使用实例 一. 简介 通过REST API方式与Neo4j进行交 ...
- 图数据库Neo4j学习笔记系列
作者简介:20年IT工作经验,曾在华为.HP.移动.电网等国内外知名IT企业任职:关注领域包括证券.航空.制造.电信.电网等.在数据库开发和优化.数据仓库.系统架构.大中型项目管理.部门管理.数据挖掘 ...
- 二、Neo4j源码研究系列 - 单步调试
二.Neo4j源码研究系列 - 单步调试 一.背景介绍 上一篇我们已经把了neo4j的源码准备以及打包流程完成了,本篇将讲解如何对neo4j进行单步调试.对于不了解如何编译打包neo4j的读者,请阅读 ...
- Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.8 - 图生成 完全图
1.概述 apoc.generate.complete 本过程生成一个完全图.完全图中,每个节点有到所有其他节点的边.在无向图中,有N个节点的完全图有N x (N – 1) / 2个边.Neo4j在存 ...
- Neo4j 系列(1) —— 初识 Neo4j
初识 Neo4j 文章目录 初识 Neo4j 前置知识 什么是图数据库 图数据库诞生的背景 图数据库的应用场景 Neo4j 什么是 Neo4j Neo4j 的安装 1. Linux 的安装 2. Do ...
最新文章
- Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发
- tf.assign()函数简单解释
- 马士兵java note 5
- linux运维面板_phpstudy linux web面板(小皮面板)V0.2版本正式发布
- sprint2第三天任务完成情况
- java连接mysql通用方法_jdbc操作数据库通用方法
- 16款测序平台性能大PK,华大表现不俗!基于人类和细菌基因组DNA水平的多平台测序数据研究成果发布...
- CANOpen网络管理报文
- 关键词SEO相关搜索/下拉框/优化系统/按天扣费系统全开源
- Matlab编程知识点
- 一加8系列新机有望亮相CES 2020:全系支持5G网络
- 中年之后的人脉,靠的是两个字
- myeclipse6.5集成freemaker
- ibatis sql_Map中出现异常:Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate..
- 从数据库获取数据到Servlet.
- 存管 托管 监管 区别
- 苹果数据线突然不能充电了_苹果8p突然不能充电了,充不进电!
- 数据库系统之初步认识数据库练习题
- 习题5-5 使用函数统计指定数字的个数(15 分)
- 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单