neo4j安装_知识图谱相关库的安装(踩坑经验)

a8f94ad2a1e72b13df00f981bf287ab0.png

最近在着手进行一些知识图谱方面的工作,初步接触踩坑无数,在此总结经验,希望能够给需要的人提供参考。

环境:

  • windows7 64位
  • Python3.6(这个很重要,3.7的朋友注意)

涉及库:

  • 图数据库:neo4j
  • py2neo
  • 哈工大语言处理工具:LTP
  • pyltp

neo4j

图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,而Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。

关系型数据库只对单个Join操作进行优化查询,而多重Join操作查询的性能显著下降。图形数据库适合查询关系数据,由于图形遍历的局部性,不管图形中由多少节点和关系,根据遍历规则,Neo4j只访问与遍历相关的节点,不受到总数据集大小的影响,从而保持期待的性能;相应地,遍历的节点越多,遍历速度越慢,但是变慢是线性的,这使得图形数据库不适合做海量数据统计分析。对与存在大量丰富关系的数据,遍历的性能不受图形数据量大小的影响,这使得Neo4j成为解决图形问题的理想数据库。

安装步骤:
1、官网下载neo4j安装文件(官网:https://neo4j.com/download-center/#releases)

2、安装Java JDK(详情见java环境配置)

efcf0488b3f723985baa3f9b26a3da01.png

3、创建neo4j的环境变量

创建主目录环境变量NEO4J_HOME,并把主目录设置为变量值,value为文件路径。

f6d9e90702247de92f508dd5bab7f1dd.png

4、通过控制台启动Neo4j程序

以管理员权限启用DOS命令行窗口,输入以下命令,通过控制台启用neo4j程序。

neo4j.bat console

5、把Neo4j安装为服务(Windows Services)

安装和卸载服务:

binneo4j install-service 
binneo4j uninstall-service

启动服务,停止服务,重启服务和查询服务的状态:

binneo4j start binneo4j stop 
binneo4j restart binneo4j status

6、在确定neo4j服务开启的状态下浏览器登入http://localhost:7474/,即可在浏览器界面查看本地数据库。

fc28d2fb32a48d6f031abab5d882fc52.png

默认的host是bolt://localhost:7687,默认的用户是neo4j,默认的密码是:neo4j,第一次成功connect到Neo4j服务器之后,需要重置密码。

能够登入之后即代表neo4j这个图数据库我们就安装完成了。


py2neo

py2neo是Neo4j数据库的python驱动,也就是py语言操作neo4j的方法库。支持Bolt和HTTP,并提供高级API,OGM,管理工具,交互式控制台,用于Pygments的Cypher词法分析器以及许多其他功能。与以前的版本不同,Py2neo v4不再需要启用HTTP的服务器,并且可以完全通过Bolt运行。

安装步骤:

我在最开始使用的是anaconda(python3.7版本)中的jupyter进行部分数据的操作,但是会与ipython不兼容的情况,后期换了python3.6版本之后问题解决,还可以使用pycharm建立虚拟环境之后再安装库。

直接pip安装即可,anaconda的3.6初始版本还需要更新一下pip

pip install py2neo==3.1.2

用py2neo就用这个版本,新版真的很崩溃

在完成安装之后,在python中调用py2neo即可,常用的有Graph,Node,Relationship

from py2neo import Graph,Node,Relationship

LTP

由哈工大社会计算与信息检索研究中心研发,全称“语言技术交流平台(LTP)”。LTP提供包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等丰富、 高效、精准的自然语言处理技术。经过哈工大社会计算与信息检索研究中心11 年的持续研发和推广,LTP 已经成为国内外最具影响力的中文处理基础平台。而较之于jieba这个大众分词库(结巴分词)、中科院计算所NLPIR和清华大学THULAC等众多分词库而言,LTP在命名实体识别方面,可以输出标注的词向量,是非常方便基础研究的命名实体的标注工作。

主流语言处理库对比​blog.csdn.net

用LTP官网(http://ltp.ai/index.html)的在线演示功能举个栗子。

“国内专家学者40余人参加研讨会。”这句话。

058a4eab120355ac02467fd74cd20a1b.png

非常方便进一步的语义结构处理,对于准备构建三元组提供基础。

安装步骤:

这里建议大家直接官网下载模型即可

6fe4d03556573249e9cb4cad7b3ec988.png
官网下载模型并存于常用位置

注意一定要记住模型保存位置,这个是后面操作过程中每次使用的时候依据路径调用的。

处理demo:

b80c18cc7b0251a63f29842b7ac22e82.png

pyltp

pyltp 是LTP的 Python 封装,也就是py语言对于LTP的操作库,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。

安装步骤:

由于pip安装一直出错,所以建议大家直接采用wheel方法。

1、下载文件

py3.5对应链接:https://mlln.cn/2018/01/31/pyltp%E5%9C%A8windows%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/pyltp-0.2.1-cp35-cp35m-win_amd64.whl

py3.6对应链接:

https://mlln.cn/2018/01/31/pyltp%E5%9C%A8windows%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/pyltp-0.2.1-cp36-cp36m-win_amd64.whl

这里注意目前还没有3.7,所以如果必须使用这个库的话还是必须换成python3.6的环境

2、安装文件

下载好了以后, 在命令行下, cd到wheel文件所在的目录, 然后使用命令pip install wheel文件名安装。

c89468f04be04d8262c9dfbe4b1b2412.png

3、测试

可以直接在命令窗口中测试,代码如下:

from pyltp import Segmentor
segmentor = Segmentor()
segmentor.load("E:...ltp_datacws.model") #此处为LTP模型所在路径
words = segmentor.segment("元芳你怎么看")
print("|".join(words))
segmentor.release()

成功即可得到:

b3af451b1a51965f8a13024b1bb761d5.png

所以我们的主要语言处理工具安装完成!

有帮助的话点个赞吧~

内容相关来源:

Neo4j 第一篇:在Windows环境中安装Neo4j

Neo4j 第一篇:在Windows环境中安装Neo4j

https://blog.csdn.net/shuihupo/article/details/81540433

https://www.jianshu.com/p/f78453f5d1ca

https://www.jianshu.com/p/9518b5cf325a

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值