标签:
一. 环境和工具
操作系统: linux16.04
语言: python2.7,java8
工具:Apache jena fuseki
python工具包: jieba,REFO,SPARQLWrapper
项目:大佬的项目:KG-demo-for-movie(大佬项目对应的文章:https://zhuanlan.zhihu.com/knowledgeg… )
二. 搭建过程
1. linux16.04
linux下载地址,如果速度慢,建议使用迅雷下载。
2. python2.7
这里我先安装了Anaconda,然后通过Anaconda创建了虚拟环境
在控制台输入:
conda create -n venv python=2.7
即创建了一个名为venv的虚拟环境,且python版本为2.7,
这里有一个需要注意的地方, 即使你下载的是Anaconda3,也是可以创建一个python版本为2.7的虚拟环境的。
创建好虚拟环境后,就需要在运行对应代码之前激活虚拟环境,执行以下代码即可激活虚拟环境。
source activate venv
3. 安装jdk8(java8)
登陆网址jdk8下载地址
选择对应jdk版本下载。
下载完成之后,开始安装和配置环境:
1. 解压:
mkdir -p /usr/lib/jvm
tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm
2. 设置环境变量:
vim /etc/profile
3. 在最后面添加:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
4. 执行profile文件:
source /etc/profile
这样可以使配置不用重启即可立即生效
5. 检查新安装的jdk:
java -version
4. 安装Apache jena fuseki
前往官网下载jena和jena-fuseki,解压在同一个文件夹下即可。
启动fuseki-server:
cd apache-jena-fuseki-3.9.0
fuseki-server --config fuseki_conf.ttl
其中fuseki_conf.ttl为后面的项目中将会介绍的一个文件。
5. 安装python工具包
pip install jiaba SPARQLWrapper refo
6. 下载大佬的项目:
git clone https://github.com/SimmerChan/KG-demo-for-movie
ok! 到这里,东西都准备好了,然后就是跑通一下大佬的demo了。
三. 项目搭建
1. 下载项目
参考2.6
2. 启动服务器
参考2.4
3. 向服务器上传数据
这里我采用服务器启动后在管理后台上传数据,原谅我比较笨,没有成功命令上传。
1. 访问服务器
http://localhost:3030
2. 点击add data按钮
3. 点击select files..
4. 选择项目下的kg_demo_movie.nt,然后点击upload。
ok,接下来开始运行项目。
4. 运行项目
1. 首先,进入虚拟环境
source activate venv
2. 接着执行KB_query目录下的query_main.py文件。
python query_main.py
3. 开始愉快地测试:
周润发演了那些电影?
英雄本色.....(这里我就不贴了)
周润发演了多少部电影?
62
周润发姓什么?
I can't understand. :(
噢,终于跑通了一个demo,超级开心,感谢大佬的教程和代码!
四. 总结
接下来会更进一步地研究代码,然后再根据大佬的教程,更进一步地解析知识图谱的整体过程。
当然,这个也只是知识图谱中的一种方法而已,并不代表整个知识图谱,学习的路还很长。
五. 参考
2. 知识图谱-给AI装个大脑
建议先看第一个专栏,再看第二个专栏,第一个专栏可以快速了解知识图谱,第二个专栏会有很多专有名词,看起来比较费劲,不过也是本文demo的说明专栏。
标签: 来源: https://blog.csdn.net/qq_28634403/article/details/84551927
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。