目录

Neo4j 入门

目录

Neo4j 入门

  • ACID是数据库事务正确执行的四个基本要素的缩写,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

  • 联机事务处理是指可以在一个在线联机的环境中从Neo4j中请求并返回我们需要的数据。也就是说我们可以在一个网络请求中向Neo4j发送查询命令,Neo4j会相应地在一个网络响应中返回我们查询的数据,并且这个请求与响应是以毫秒为单位的。

  • 许多数据库管理系统实际上只需要响应一个请求,然后在几个小时后给出回复。在关系数据管理系统中,我们称之为分析系统。我们将这两种类型的系统分别叫作联机事务处理(OLTP)和联机分析处理(OLAP)。

1.4 图数据库的属性图模型 | Neo4j 3.x入门经典

  • Neo4j最终选择把标签属性图作为数据模型,它是所有图模型中最通用灵活的模型。
  • **节点:**通常用于存储实体信息。
  • **关系:**用来将节点连接起来构建实体,它们相当于在关系数据库管理系统中显式存储和预先计算的连接查询。
  • **属性:**节点和关系都是属性的
  • **容器,**它们实际上是键值对组成的。
  • **标签:**2013年底新增至版本2.0的Neo4j基础数据模型结构。使用标签能够快速高效地对节点分类并创建子图。
  • 关系模型不适合描述实体之间关系众多、语义丰富且多样化的现实世界。
  • 众所周知,在IT行业:一旦数据库达到第三范式,就认为数据库已经满足要求了。

1.4 图数据库的属性图模型 | Neo4j 3.x入门经典

  • Cypher是Neo4j的查询语言(Query Language, QL)。
  • 函数式编程语言环境的一个关键的特性就是它们是幂等的。通俗地说,这意味着在你的算法中操作一个函数(或者在我们的情况是执行一个查询)的时候,对数据的改变值发生在这个函数第一次执行。同一个函数在同样的数据上的多次执行应当是没有影响的。这不仅仅对函数式程序有巨大的好处,在Neo4j数据库中也一样,因为状态的改变将是幂等的。
  • CRUD缩写代表创建(Create)、读取(Read)、更新(Update)和删除(Delete),这是针对数据的最基本操作。
  • 请保持一个标签对应一组属性(0或者n个属性。如果为零,它就相当于一个标记),拥有共同标签的所有节点必须包含标签的所有属性。
  • 每个数据库的查询语言都有一些操作词,它们在每个查询的组成中都有重要的含义。
  • 为了使我们与其他Cypher用户保持一致,我们强烈建议你遵循如下语法约定:
    • 节点别名用小写驼峰(以小写字母开头)。
    • 标签用大写驼峰(以大写字母开头)。
    • 关系用蛇形大写(类似IS_A)。
    • 属性名用小写驼峰。
    • 关键词全部用大写。
  • 邻接点只是提供了返回结果的上下文,真正的结果在行和文件页里。
  • 不要忘记设置唯一标识符。当然,为了在系统中使用,每个节点都有内在的唯一标识符。
  • 我们一定不要使用它。这不是给我们用的,不要犯这个错误(节点技术上的这个唯一标识符ID可能被再分配给新的节点)。
  • 首先,你必须决定哪个字段(或者哪几个字段)是唯一标识符(类似关系数据库中的主键)。对于有给定标签的所有节点都必须有这个字段(记住:保持一致性)。
  • 我们可能想看看Neo4j如何使用前面创建的节点。首先,我们得通过MATCH将它们查找出来。
  • Cypher是世界一流的图数据库Neo4j的声明式查询语言,它随时间一直不断演进。这门语言一直用参考卡的方式记录,并随着每一个Neo4j的新版本而更新。我们可以在线找到完整的Cypher参考卡:https://neo4j.com/docs/cypher-refcard/current/。