1)三元组:
两个节点之间对应一个关系
2)存储:(框架:Neo4j、virtuoso、Titan)
Neo4j 是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。Neo4j 使用数据结构中图(graph)的概念来进行建模。Neo4j 中两个最基本的概念是节点和边。节点表示实体,边则表示实体之间的关系。节点和边都可以有自己的属性。不同实体通过各种不同的关系关联起来,形成复杂的对象图。Neo4j 同时提供了在对象图上进行查找和遍历的功能。
Neo4j 中最基本的概念是节点(node)和关系(relationship)。
【节点】表示实体。
【关系】两个节点之间对应一个关系,每个关系由起始节点、终止节点和类型等三个要素组成。定义关系类型的一般做法是枚举。
【属性】节点和关系都可以有自己的属性。每个属性是一个简单的名值对。属性的名称是 String 类型的,而属性的值则只能是基本类型、String 类型以及基本类型和 String 类型的数组。
3)搜索:
【路径】路径有一个起始节点,接着的是若干个成对的关系和节点对象。路径是在对象图上进行查询或遍历的结果。
【查询】
Neo4j 提供了对节点进行索引的能力,可以根据索引值快速地找到相应的节点。Neo4j 通过index可以对节点和关系进行索引
【遍历】
Neo4j 支持图的遍历操作。在进行遍历之前,需要对遍历的方式进行描述。遍历的方式的描述信息由下列几个要素组成。
遍历的路径:通常用关系的类型和方向来表示。
遍历的顺序:常见的遍历顺序有深度优先和广度优先两种。
遍历的唯一性:可以指定在整个遍历中是否允许经过重复的节点、关系或路径。
遍历过程的决策器:用来在遍历过程中判断是否继续进行遍历,以及选择遍历过程的返回结果。
起始节点:遍历过程的起点。
Neo4j参考:
Neo4j 开发实战:https://www.ibm.com/developerworks/cn/java/j-lo-neo4j/
Python Neo4j:https://neo4j.com/developer/python/
Neo4j介绍与使用:http://blog.csdn.net/dyllove98/article/details/8635965