美文网首页neo4j知识图谱搜索系统
知识图谱和Neo4j图数据库

知识图谱和Neo4j图数据库

作者: wangliang938 | 来源:发表于2017-04-07 22:59 被阅读499次

摘自:http://www.voidcn.com/blog/Daybreak1209/article/p-6186811.html
一、知识图谱


互联网、大数据的背景下,谷歌、百度、搜狗等搜索引擎纷纷基于该背景,创建自己的知识图谱Knowledge Graph(谷歌)、知心(百度)和知立方(搜狗),主要用于改进搜索质量。
1、什么是知识图谱
一种基于图的数据结构,由节点(Point)和边(Edge)组成。其中节点即实体,由一个全局唯一的ID标示,关系(也称属性))用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。
2、知识卡片
知识卡片旨在为用户提供更多与搜索内容相关的信息,例如,当在搜索引擎中输入“姚明”作为关键词时,我们发现搜索结果页面的右侧原先用于置放广告的地方被知识卡片所取代。下侧即使与关键词匹配的文档列表。
3、知识图谱的作用
知识图谱最早由谷歌提出,主要用于优化现有的搜索引擎,例如搜索姚明,除了姚明本身的信息,还可关联出姚明的女儿、姚明的妻子等与搜索关键字相关的信息。也就是说搜索引擎的知识图谱越庞大,与某关键字相关的信息越多,再通过分析搜索者的特指,计算出最可能想要看到的信息,通过知识图谱可大大提高搜索的质量和广度。
所以这也可理解为何谷歌百度等搜索引擎大头都为之倾心,创建自己符合自己用户搜索习惯的知识图谱。据不完全统计,Google知识图谱到目前为止包含了5亿个实体和35亿条事实(形如实体-属性-值,和实体-关系-实体)
4、知识图谱上的挖掘
通过大数据抽取和集成已经可以创建知识图谱,为进一步增加知识图谱的知识覆盖率,还需要进一步对知识图谱进行挖掘。常见的挖掘技术:
推理:通过规则引擎,针对实体属性或关系进行挖掘,用于发现未知的隐含关系
实体重要性排序:当查询多个关键字时,搜索引擎将选择与查询更相关的实体来展示。常见的pageRank算法计算知识图谱中实体的重要性。

二、Neo4j图数据库


以上就是一个neo4j图数据库,由顶点-边组成,常用于微博好友关系分析、城市规划、社交、推荐等应用。
1、特性
支持ACID事务
企业版neo4j支持集群搭建,保证HA
轻易扩展上亿节点和关系
拥有自己的高级查询语言cypher高效检索
CSV数据导入,java语言编写均可
2、Cypher语言:
Match where return Create delete set foreach with 关键字同等与sql语句的select 等关键字操作,例如
sql
SELECT name FROM PersonLEFT JOIN Person_Department ON Person.Id = Person_Department.PersonIdLEFT JOIN Department ON Department.Id = Person_Department.DepartmentIdWHERE Department.name = "ITDepartment"

Cypher Statement

MATCH(p:Person)<-[:EMPLOYEE]-(d:Department)WHEREd.name = "IT Department"RETURNp.name

Java Program Conn

Connectioncon = DriverManager.getConnection("jdbc:neo4j://localhost:7474/"); Stringquery ="MATCH (:Person {name:{1}})-[:EMPLOYEE]-(d:Department) RETURN d.name as dept";try (PreparedStatementstmt = con.prepareStatement(QUERY)) { stmt.setString(1,"John"); ResultSetrs = stmt.executeQuery(); while(rs.next()) { Stringdepartment = rs.getString("dept"); .... }

3、应用场景:
反欺诈:通过查找不同账户,如银行、信用卡等,找到该账户其他正常是否正常、相关用户的交易信息是否正常判断用户的信用度。
推荐:通过图数据库,查询某节点的消费情况、好友信息可为其推荐关联度高的好友或可能消费的商品。
因为neo4j的存储原理使得它的查询速度是在O(l)级别的复杂度,查询高效。

相关文章

  • Neo4j安装教程

    最近再做企业与纳税人关联关系知识图谱,接触到图数据库,经过一番比较后,选择Neo4j图数据库作为知识图谱项目的数...

  • Neo4j图数据库学习总结

    1. 概述 本学习总结报告是对最近在本科课程设计电商知识图谱中使用到的图数据库Neo4j的总结,旨在对Neo4j的...

  • 初识Neo4j - 图数据库

    起个头:由于涉及知识图谱的项目需要,接触到Neo4j图形数据库,就想写个笔记,做个分享,督促自己。 知识图谱: 简...

  • Neo4j的简单介绍

    在构建知识图谱的时候,Neo4j用来建立实体之间的关系非常方便,下面简单介绍一下它的使用方法: Neo4j数据库可...

  • Neo4j数据库Linux 单机安装笔记

    一、简介 最近这段时间一直在搞知识图谱的一个项目,简单搭建Neo4j数据库测试一下,小结一下搭建过程。知识图谱场景...

  • 知识图谱和Neo4j图数据库

    摘自:http://www.voidcn.com/blog/Daybreak1209/article/p-6186...

  • Neo4j 3.1支持因果集群并改进了安全

    Neo4j团队最近发布了Neo4j图数据库3.1版,该最新版的NoSQL图数据库Neo4j提供了因果集群(Caus...

  • Neo4j 图形数据库(2)

    今天继续更新有关 neo4j 图形数据基本操作。 先谈一谈Neo4j 图形数据库应用 图计算和图数据库会用在很多场...

  • 图数据库 - ArangoDB、Neo4j、OrientDB

    图数据库 - ArangoDB、Neo4j、OrientDB

  • 知识图谱的感性认识

    定义 知识图谱可以分割为知识和图谱。知识包含实体和实体之间的联系, 图谱就是用图的方式把实体和它们之间的关系用图表...

网友评论

    本文标题:知识图谱和Neo4j图数据库

    本文链接:https://www.haomeiwen.com/subject/uepkattx.html