Neo4j标签属性图与Cypher查询语言简介(2018版)

需积分: 13 0 下载量 149 浏览量 更新于2024-07-09 收藏 596KB PDF 举报
Neo4j-Cypher-Quick-Reference-v2018-PART-1.pdf 是一本关于Neo4j的文档,主要关注于Neo4j的图数据库模型和其特有的查询语言Cypher。Neo4j是一种采用标签属性图(LabelPropertyGraph, LPG)模型的图形数据库,这种模型特别适用于处理现实世界中的复杂关系和网络数据。 1. **标签属性图模型(LabelPropertyGraph, LPG)**: - Neo4j中的核心概念包括: - **节点(Nodes)**:在图模型中,它们代表图中的对象,可以有多个标签来表示不同的类别,如`Person`、`Car`等,也可以无标签。 - **关系(Relationships)**:作为连接节点的有向边,每个关系都有一个类型,如`DRIVES`、`LOVES`等,用于明确关系的性质。 - **属性(Properties)**:存储在节点和关系上,如`name`、`born`、`brand`等,提供额外的数据描述。 - **标签(Labels)**:用于对节点进行分类,例如一个人可以同时有`Person`和`Driver`标签。 2. **Cypher图查询语言**: - Cypher是Neo4j设计的专门针对图数据库的查询语言,具有以下特点: - **声明性(Declarative)**:用户只需定义要查找的数据,查询语言会自动优化执行路径。 - **表达性强(Expressive)**:易于开发人员和业务人员理解和使用。 - **模式匹配(PatternMatching)**:通过直观的模式来描述查询,符合人类思维方式,如`(:Person{name:"Dan"}-[:LOVES]->(:Person{name:"Ann"})`表示Dan爱着Ann的查询模式。 文档详细介绍了如何使用Cypher来操作图数据,比如如何定义节点、关系和属性,以及如何通过模式来查询数据。学习者可以通过这份参考手册快速掌握在Neo4j中进行高效、直观的数据检索和操作的方法。理解并熟练运用这些概念和语法对于在实际项目中处理大规模图数据至关重要。