知识图谱
在图书情报界称为知识域可视化或者知识领域隐射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及他们之间的相互关系。知识图谱通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象的展示学科的核心结构、发展历史、前沿领域以及整体知识架构。达到多学科融合目的的现代理论。他可以为学科研究提供切实的、有价值的参考。
和关系型数据库的区别
- 图数据库没有一范式、二范式、三范式的数据规范。(虽然没有这些,但是设计理念还是需要参考借鉴的)
- 图数据库是NoSQL形式
- 关系型数据库建表是根据业务应用抽象出模型,然后使用ER图描述数据之间的关系。图数据库是一种没有架构的数据库,它不用考虑表之间的关系。我们可以在任意节点上添加任意属性,任何节点都可以与其他节点建立联系。
- 没有SQL
- 图形数据库也称为图形数据库管理系统或者GDBMS
RDBMS(关系型) | GRDBMS(图数据库) |
---|---|
Tables 表 | Graphs 图表 |
Rows行 | Nodes节点 |
Columns and Data 列和数据 | Properties and its values 属性及其值 |
Constraints 约束 | Relationships 关系 |
- 图数据库适合应用于像社交网络这种查询某一个对象和该对象有关系的其他对象的业务类型,而且适合大数据业务。
- 图数据库还适合用于视频托管应用程序
- 图数据库主要用于存储更多的连接数据,RDBMS存取更多连接的数据,那么他们不能提供用于遍历大量数据的适当性能。
Neo4j特点
- 遵循属性图数据模型
- 查询语言是Neo4j CQL
- 通过使用Apache Lucence支持索引
- 它支持UNIQUE约束
- 它包含一个用于执行CQL命令的UI(web数据展示)
- 他支持完整的ACID(原子性、一致性、隔离性和持久性)规则
- 它采用原生图形库与本地GPE(图形处理引擎)
- 它支持查询的数据导出到JSON和XLS格式
- 它提供了REST API,可以被任何编程语言访问
- 它提供了可以通过任何UI MVC(如Node Js)框架访问的java脚本
- 它支持两种Java API:Cypher API 和Native Java API来开发Java应用程序
Neo4j优点
- 容易表示连接的数据
- 检索、遍历、导航更多的连接数据是非常容易和快速的
- 可以轻松表示半结构化数据
- CQL查询命令容易学习
- 数据模型简单、强大
- 它不需要复杂的连接来检索连接的、相关的数据,因为它很容易检索他的相邻节点或关系细节有没有连接或者索引。
有坑的地方
- 如果开发的时候没有想到节点和属性或者是节点和节点之间的关系,后期可能面临数据模型变动的问题。图数据库中,数据模型之间关系复杂,稍不注意,便会导致其他服务不可用。
其他热门图数据库
Oracle NoSQL数据库,OrientDB,HypherGraphDB,GraphBase,InfiniteGraph,AllegroGraph。