一、什么是知识图谱?
解释1: 知识图谱本质上是语义网络 (本体论是语义网落的重要因素)
解释2: 知识图谱也叫做多关系图,由多种类型的节点和多种类型的边组成
构建知识图谱系统中所涉及到的技术
数据获取:数据爬虫、数据库读取
数据预处理:数据清洗、知识抽取、信息抽取、消歧分析等
导入到知识图谱:数据筛选、知识图谱设计、批量导入、增量导入
应用层搭建:各类模型搭建、GraphX分布式处理、微服务
二、知识图谱的应用场景
风控知识图谱、证券知识图谱(买股票一个事件发生、哪些上涨、下降)、教育知识图谱(知识点之间的相关关系)、搜索、聊天机器人、医疗..
三、知识图谱架构图
授权数据(用户允许抓取的数据) 公开数据(网上披露黑名单) 三方数据 业务数据(系统数据、身份证号等)
四、Neo4j与APOC组件介绍
图数据库的数据存储形式
图数据库存储的特点总结:
1、包含节点和关系
2、节点可以有属性(key-value形式存储)
3、节点可以有一个或者多个标签(类别)
4、关系有名字和方向,并总是有一个开始节点和一个结束节点
五、Neo4j获取和部署
参考帖子:https://blog.csdn.net/u014032819/article/details/78506606
六、APOC
安装APOC ,下载apoc-3.4.0.3-all.jar和mysql-connector-java-5.1.21.jar两个jar包,放到neo4j的plugins目录下,找到自己对应的版本即可
APOC功能
1、文本和索引查找:提供索引查询、管理、全文图标和搜索等功能
2、实用函数:域名提取时间和日期、数字格式转换等功能
3、图算法:社区检测、PageRank、中心算法等
4、空间函数:地理编码、位置计算、空间与时间搜索等
5、数据集成:JSON、JDBC、csv等格式数据加载
6、图形重构:节点合并、属性规范化与分类等
7、虚拟节点/关系:提供虚拟图的创建
8、Cypher操作:单个和多个Cypher语句运行和脚本运行
9、触发器:与关系型数据库的触发器的理解方式一样
......
七、JDBC
APOC数据集成-JDBC(Java Databases connect)
apoc.load.jdbc:可以访问提供JDBC驱动程序的数据库,并执行查询。其将结果变成以一行数据为单位的数据流,然后可以使用这些行来更新或者创建图形数据结构
APOC JDBC语法:
call
apoc.load.jdbc("jdbc:mysql://{IP}:{PORT}/{DBNAME}?user={USERNAME}&password={PASSWORD}","{TABLENAME}") yield row
以行的方式读取数据表
create
(b:Black{number:row.black_id,type:row.type})