起个头:由于涉及知识图谱的项目需要,接触到Neo4j图形数据库,就想写个笔记,做个分享,督促自己。
知识图谱:
简单的说,知识图谱即是用可视化技术描述知识资源以及资源的相互联系的各种关系。具体的说,它把复杂的知识领域通过数据挖掘,信息处理,知识计算和图形绘制而显示出来,揭示知识领域的动态发展规律。
直观示例:Google知识图谱
Google的一个知识库,其使用语义检索从多种来源收集信息,以提高Google搜索的质量。知识图谱2012年加入Google搜索,2012年5月16日正式发布。知识图谱除了显示其他网站的链接列表,还提供结构化及详细的关于主题的信息。其目标是,用户将能够使用此功能提供的信息来解决他们查询的问题,而不必导航到其他网站并自己汇总信息。
screenshot-www.google.com-2018.08.11-21-02-26.png
Neo4j
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。
Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。
自学参考
自学参考2
Neo4j的特点
-
SQL就像简单的查询语言Neo4j CQL
-
它遵循属性图数据模型
-
它通过使用Apache Lucence支持索引
-
它支持UNIQUE约束
-
它包含一个用于执行CQL命令的UI:Neo4j数据浏览器
-
它支持完整的ACID(原子性,一致性,隔离性和持久性)规则
-
它采用原生图形库与本地GPE(图形处理引擎)
-
它支持查询的数据导出到JSON和XLS格式
-
它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问
-
它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
-
它支持两种Java API:Cypher API和Native Java API来开发Java应用程序
Neo4j的优点
-
它很容易表示连接的数据
-
检索/遍历/导航更多的连接数据是非常容易和快速的
-
它非常容易地表示半结构化数据
-
Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
-
它使用简单而强大的数据模型
-
它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引
网友评论