知识图谱开源内容:

https://github.com/datawhalechina/team-learning-nlp/tree/master/KnowledgeGraph_Basic 19

学习目标

  • 理解知识图谱的基本原理
  • 熟悉Neo4j并具备基本的调用相应python库进行操作的能力。

任务安排

Task01:知识图谱介绍(1天)

  • 知识图谱简介
  • 怎么构建知识图谱
  • 知识图谱的存储
  • Neo4j 介绍与安装
  • Neo4j 实战
  • 通过 Python 操作 Neo4j
  • 通过csv文件批量导入图数据

Task02:基于医疗知识图谱的问答系统操作介绍(1天)

  • 引言
  • 运行环境
  • 搭建知识图谱
  • 启动问答测试
  • 代码目录介绍

Task03:Neo4j图数据库导入数据(1天)

  • 引言
  • Neo4j简介
  • Neo4j 数据导入
  • 总结

Task04:用户输入->知识库的查询语句(2天)

  • 引言
  • 什么是问答系统
  • 任务实践
  • 主体类 EntityExtractor 框架介绍
  • 命名实体识别任务实践
  • 意图识别任务实践

Task05:Neo4j 图数据库查询(2天)

  • Neo4j介绍
  • 基于知识图谱的问题系统 主体类 AnswerSearching 框架介绍
  • 代码分模块介绍

打卡规则

  • 注册 CSDN、Github 或 B站等账户。
  • 按照任务安排进行学习,完成后写学习笔记Blog 或 进行视频直播。
  • 在每次任务截止之前在群内填写问卷打卡,遇到问题在群内讨论。
  • 未按时打卡的同学视为自动放弃,被抱出学习群。

致谢

  • 特别鸣谢:QASystemOnMedicalGraph
  • 特别感谢 @LSGOMYP 对本项目的帮助与支持。
  • 特别感谢:datawhale组织本地活动!

知识图谱Task00:Neo4j安装配置(Centos)

安装配置

一、CentOS服务器安装neo4j并使用本地浏览器访问

1、下载

wget https://neo4j.com/artifact.php?name=neo4j-community-4.2.1-unix.tar.gz# 注1:4.2.1需要java版本11.0+,如果你的java是8.0,可以下载neo4j-community-3.0.3# 注2:如果下载速度比较慢的话,可以选择手动下载,然后上传到服务器# 注3:如果未安装jdk,请使用`yum install java-1.8.0-openjdk`

2、解压

tar -zxvf  name=neo4j-community-4.2.1-unix.tar.gz

3、启动

cd neo4j-community-4.2.1bin/neo4j start

启动成功如下

2021-01-10 09:33:02.314+0000 INFO  No SSL certificate found, generating a self-signed certificate..2021-01-10 09:33:03.041+0000 INFO  Starting...2021-01-10 09:33:05.307+0000 INFO  Bolt enabled on localhost:7687.2021-01-10 09:33:09.688+0000 INFO  Started.2021-01-10 09:33:11.352+0000 INFO  Remote interface available at http://localhost:7474/

4、本地访问

注:如果你是安装在本地,那直接输入http://localhost:7474/即可,以下步骤可跳过。

端口重定向

本地远程访问服务器的地址,需要在本地使用ssh链接,将服务器的7474端口重定向到本机.

在本地终端输入以下命令

ssh -L 7474:127.0.0.1:7474 usname@192.168.xxx.xxx

这时候打开http://127.0.0.1:7474,访问成功!

二、通过 Python 操作 Neo4j

1、neo4j模块:执行CQL ( cypher ) 语句

  # step 1:导入 Neo4j 驱动包

  from neo4j import GraphDatabase  # step 2:连接 Neo4j 图数据库  driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))  # 添加 关系 函数  def add_friend(tx, name, friend_name):      tx.run("MERGE (a:Person {name: $name}) "            "MERGE (a)-[:KNOWS]->(friend:Person {name: $friend_name})",            name=name, friend_name=friend_name)  # 定义 关系函数  def print_friends(tx, name):      for record in tx.run("MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name "                          "RETURN friend.name ORDER BY friend.name", name=name):          print(record["friend.name"])  # step 3:运行  with driver.session() as session:      session.write_transaction(add_friend, "Arthur", "Guinevere")      session.write_transaction(add_friend, "Arthur", "Lancelot")      session.write_transaction(add_friend, "Arthur", "Merlin")      session.read_transaction(print_friends, "Arthur")

上述程序的核心部分,抽象一下就是:

  neo4j.GraphDatabase.driver(xxxx).session().write_transaction(函数(含tx.run(CQL语句)))

或者

  neo4j.GraphDatabase.driver(xxxx).session().begin_transaction.run(CQL语句)

2、py2neo模块:通过操作python变量,达到操作neo4j的目的

  # step 1:导包  from py2neo import Graph, Node, Relationship  # step 2:构建图  g = Graph()  # step 3:创建节点  tx = g.begin()  a = Node("Person", name="Alice")  tx.create(a)  b = Node("Person", name="Bob")  # step 4:创建边  ab = Relationship(a, "KNOWS", b)  # step 5:运行  tx.create(ab)  tx.commit()

py2neo模块符合python的习惯,写着感觉顺畅,其实可以完全不会CQL也能写。

关注“格数致知”,走向对世界的深度认知

使用neo4j_知识图谱Task00:Neo4j安装配置相关推荐

  1. 知识图谱java实现_知识图谱:neo4j(四)Java API

    知识图谱:neo4j(四)Java API 知识图谱:neo4j(四)Java API Neo4j Java API Neo4j 提供 JAVA API 以编程方式执行所有数据库操作.它支持两种类型的 ...

  2. python 知识图谱数据库_知识图谱和 Neo4j 浅析-数据库

    编辑推荐: 本文来自于51cto,介绍了什么是知识图谱,知识图谱的应用场景,知识图谱的构建,知识图谱的存储以及 neo4j 的性能测试,neo4j图数据库优化等知识. 在当前大数据行业中, 随着算法的 ...

  3. 知识图谱构建-Neo4j的安装与环境配置

    目录 一.知识图谱 二.Neo4j简介 三.Neo4j安装及配置 1.安装Java JDK 2.下载安装Neo4j 3.创建系统环境变量 4.Neo4j的启动 四.Neo4j的CQL操作 五.参考资料 ...

  4. 【知识图谱】Neo4j的基本使用及思知1.4亿三元组数据构建知识图谱

    目录 0.前言 1.Neo4j的基本使用 1.1 下载和安装Neo4j 1.2 Neo4j配置 1.2.1 核心数据文件的位置 1.2.2 安全验证,默认是启用的 1.2.3 配置JAVA 堆内存的大 ...

  5. Python neo4j建立知识图谱,药品知识图谱,neo4j知识图谱,知识图谱的建立过程,智能用药知识图谱,智能问诊必备知识图谱

    一.知识图谱概念 知识图谱的概念是由谷歌公司在2012年5月17日提出的,谷歌公司将以此为基础构建下一代智能化搜索引擎,知识图谱技术创造出一种全新的信息检索模式,为解决信息检索问题提供了新的思路.本质 ...

  6. 知识图谱可视化——Neo4j (windows)

    目录 1.安装JDK环境: 2.安装neo4j: 3.快速使用neo4j自带示例: 4.导入自己的三元组(csv文件) (一) 安装JDK环境 [notes]neo4j-4.*版本需要SDK11以及以 ...

  7. 知识图谱构建: Neo4j 常见实例应用

    社交网络图:存储用户之间的关系和联系,如朋友关系.粉丝关系等. 产品推荐系统:利用用户的历史购买记录和评分数据,推荐相似的产品. 客户关系管理:存储企业和客户之间的联系,包括联系信息.交易记录等. 知 ...

  8. 知识图谱和Neo4j图数据库

    一.知识图谱 互联网.大数据的背景下,谷歌.百度.搜狗等搜索引擎纷纷基于该背景,创建自己的知识图谱Knowledge Graph(谷歌).知心(百度)和知立方(搜狗),主要用于改进搜索质量. 1.什么 ...

  9. 【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)

    初探Neo4j 导入数据 备份数据 客户端操作 附录 All Link 请读者参考上篇博文 Neo4j安装教程 导入数据 若开启服务,先在终端停止 Neo4j 服务 ./neo4j stop 接下来, ...

最新文章

  1. java中的各种流(老师的有道云笔记)
  2. 近期活动盘点:首期AI Time PhD:清北师兄分享前沿研究成果、“科技驱动,正向创新”医工结合高峰论坛...
  3. 恢复linux里被误删除的文件
  4. 应用程序文件Android安全分析挑战:运行时篡改Dalvik字节码
  5. getOutputStream() has already been called for this response异常的原因和解决方法
  6. tracepro应用实例详解_离心铸造工艺(实例)
  7. spring mvc学习(31):原生api
  8. word中的表格空白部分整不掉,下面的表格拉不上来
  9. unity, sceneview 中拾取球体gizmos
  10. linux生产服务器有关网络状态的优化措施
  11. echarts画图实例讲解
  12. 【NeurIPS2020】Google点针图网络,Pointer Graph Networks
  13. Codeforces 1065E(计数)
  14. Java-Android 之Hello World
  15. 【C语言项目设计】趣味算术游戏设计
  16. FPGA信号处理系列文章——DDS的性能和误差分析
  17. 蛋白质配体复合物-分子动力学模拟Gromacs
  18. 关于Data Matrix 基于ECC200标准的编码原理和相关开源代码
  19. app模式会被第三方平台模式取代吗_那些逐渐被系统功能取代的第三方APP,你知道多少?...
  20. 【git】—集中式与分布式版本控制系统

热门文章

  1. 微信基于时间序的海量存储扩展性与多机容灾能力提升
  2. 专访腾讯产品总监邬沛君:TStack斩获OSCAR技术创新奖的背后
  3. php中使用hash_hmac函数实现HMAC-SHA1签名算法的来龙去脉
  4. 直播推流实现RTMP协议的一些注意事项
  5. Scala的隐式参数、隐式值、隐式对象
  6. go基础库之环境变量的获取与设置以及如何使用默认值
  7. c/c++操作mysql数据库使用utf8总结
  8. 大剑无锋之介绍一下B+树【面试推荐】
  9. Spring的Java配置
  10. 值得收藏的时间复杂度速查表:数据结构操作、排序算法、图操作、堆操作