Neo4j是一款强健的,可伸缩的高性能图数据库。
首先需要我们知道什么是图数据库。
图数据库是用图来存储数据,是一种高性能的用于存储数据的数据结构方式。只要学习过离散数学或者图论的人对于图的概念来说不会太陌生。
图数据库主要是由节点(node)、关系(relationship)、属性(property)组成的。
最简单的图就是一个单节点,记录了一些属性。
关系主要用于把不同的节点组织在一起,形成一张图。关系可以把节点组织成任意的结构,列表、树或者其它复杂的实体。关系本身也是可以有属性的。
查询图里的数据可以用这么两种方式:
第一个就是遍历(traversal)的方式来查询数据。
第二个方式就是通过对节点和关系建立索引。通过索引来映射到具体的属性,再找到对应的节点或者关系。
接下来详细讲述一下Neo4j里元素的更多细节
首先是节点,节点类似于图里面的节点的性质,它有自己的属性,以及对应的进入或者出去的边(关系)
当然节点也可以有一个关系指向自己。
接下来是关于关系。关系更接近与图