使用neo4j_知识图谱Task00:Neo4j安装配置
知识图谱开源内容:
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安装配置相关推荐
- 知识图谱java实现_知识图谱:neo4j(四)Java API
知识图谱:neo4j(四)Java API 知识图谱:neo4j(四)Java API Neo4j Java API Neo4j 提供 JAVA API 以编程方式执行所有数据库操作.它支持两种类型的 ...
- python 知识图谱数据库_知识图谱和 Neo4j 浅析-数据库
编辑推荐: 本文来自于51cto,介绍了什么是知识图谱,知识图谱的应用场景,知识图谱的构建,知识图谱的存储以及 neo4j 的性能测试,neo4j图数据库优化等知识. 在当前大数据行业中, 随着算法的 ...
- 知识图谱构建-Neo4j的安装与环境配置
目录 一.知识图谱 二.Neo4j简介 三.Neo4j安装及配置 1.安装Java JDK 2.下载安装Neo4j 3.创建系统环境变量 4.Neo4j的启动 四.Neo4j的CQL操作 五.参考资料 ...
- 【知识图谱】Neo4j的基本使用及思知1.4亿三元组数据构建知识图谱
目录 0.前言 1.Neo4j的基本使用 1.1 下载和安装Neo4j 1.2 Neo4j配置 1.2.1 核心数据文件的位置 1.2.2 安全验证,默认是启用的 1.2.3 配置JAVA 堆内存的大 ...
- Python neo4j建立知识图谱,药品知识图谱,neo4j知识图谱,知识图谱的建立过程,智能用药知识图谱,智能问诊必备知识图谱
一.知识图谱概念 知识图谱的概念是由谷歌公司在2012年5月17日提出的,谷歌公司将以此为基础构建下一代智能化搜索引擎,知识图谱技术创造出一种全新的信息检索模式,为解决信息检索问题提供了新的思路.本质 ...
- 知识图谱可视化——Neo4j (windows)
目录 1.安装JDK环境: 2.安装neo4j: 3.快速使用neo4j自带示例: 4.导入自己的三元组(csv文件) (一) 安装JDK环境 [notes]neo4j-4.*版本需要SDK11以及以 ...
- 知识图谱构建: Neo4j 常见实例应用
社交网络图:存储用户之间的关系和联系,如朋友关系.粉丝关系等. 产品推荐系统:利用用户的历史购买记录和评分数据,推荐相似的产品. 客户关系管理:存储企业和客户之间的联系,包括联系信息.交易记录等. 知 ...
- 知识图谱和Neo4j图数据库
一.知识图谱 互联网.大数据的背景下,谷歌.百度.搜狗等搜索引擎纷纷基于该背景,创建自己的知识图谱Knowledge Graph(谷歌).知心(百度)和知立方(搜狗),主要用于改进搜索质量. 1.什么 ...
- 【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)
初探Neo4j 导入数据 备份数据 客户端操作 附录 All Link 请读者参考上篇博文 Neo4j安装教程 导入数据 若开启服务,先在终端停止 Neo4j 服务 ./neo4j stop 接下来, ...
最新文章
- java中的各种流(老师的有道云笔记)
- 近期活动盘点:首期AI Time PhD:清北师兄分享前沿研究成果、“科技驱动,正向创新”医工结合高峰论坛...
- 恢复linux里被误删除的文件
- 应用程序文件Android安全分析挑战:运行时篡改Dalvik字节码
- getOutputStream() has already been called for this response异常的原因和解决方法
- tracepro应用实例详解_离心铸造工艺(实例)
- spring mvc学习(31):原生api
- word中的表格空白部分整不掉,下面的表格拉不上来
- unity, sceneview 中拾取球体gizmos
- linux生产服务器有关网络状态的优化措施
- echarts画图实例讲解
- 【NeurIPS2020】Google点针图网络,Pointer Graph Networks
- Codeforces 1065E(计数)
- Java-Android 之Hello World
- 【C语言项目设计】趣味算术游戏设计
- FPGA信号处理系列文章——DDS的性能和误差分析
- 蛋白质配体复合物-分子动力学模拟Gromacs
- 关于Data Matrix 基于ECC200标准的编码原理和相关开源代码
- app模式会被第三方平台模式取代吗_那些逐渐被系统功能取代的第三方APP,你知道多少?...
- 【git】—集中式与分布式版本控制系统