Neo4j图数据库介绍
图数据库在图中存储数据,图是最通用的数据结构。图中可以存储节点和关系,节点和关系都可以保存属性。这种存储图的数据模型被称为属性图。
图数据库中的基本元素
节点往往用来表示实体,节点可以被多个标签进行标记。最简单的一个属性图是只有一个节点的图,这个节点可以有多个键值对标记的属性。关系通过连接节点来组织节点,一个联系有两个节点,开始节点和结束节点。这一点说明关系是有方向的。利用关系可以将节点组织成链表,树,图等数据结构。标签用来赋予节点角色和类型。一个节点可以有多个标签。
图数据中的高级属性
一个遍历(traversal)用来在图中查找路径。一个遍历指示怎么查询一个图,指导怎么从开始节点到有关系的节点。遍历一张图意味着根据某些规则沿着关系访问图中的节点,通常只有一部分子图是可以呗访问的。Neo4j数据库提供了声明式的Cypher语言来查询图,neo4j会生成遍历方案来查询图。也可以直接指定遍历方案,指定深度优先还是广度优先。
Neo4j中的索引可以用来加快查询的速度,在neo4j中建立索引会立即返回,但是不意味着索引马上被建立完毕,索引在最后建立完毕后才可以使用,称为最终可用性。
约束,在neo4j中可以建立约束,约束是一系列规则,不满足规则的操作不会被接受。