1、安装MySQL5,并新建movies库
2、导入数据
https://github.com/neohope/kg-demo-for-movie/tree/master/data/movies.sql
3、下载d2rq,并配置好JDK环境变量
http://d2rq.org/
4、利用d2rq生成mapping
generate-mapping -u movie -p password -o movies_mapping.ttl jdbc:mysql:///movies
5、手工编辑ttl,任务如下
设置正确的域名
修正类名与属性名
删除一些不需要的字段
修改前后的数据可以在这里找到
https://github.com/neohope/kg-demo-for-movie/tree/master/data/movies_mapping.ttl
https://github.com/neohope/kg-demo-for-movie/tree/master/data/movies_mapping_ok.ttl
6、输出RDF文件,用于后续的教程
dump-rdf.bat -o movies_mapping.nt movies_mapping_ok.ttl
7、启动d2r服务
d2r-server.bat movies_mapping_ok.ttl
8、访问及浏览数据
http://localhost:2020/
9、查询
http://localhost:2020/snorql/
#周星驰演过的电影 SELECT ?title WHERE { ?aPerson rdf:type :Person. ?aPerson :personName '周星驰'. ?aPerson :hasActedIn ?aMovie. ?aMovie :movieTitle ?title } LIMIT 10 #英雄的演员 SELECT ?actor WHERE { ?aMovie rdf:type :Movie. ?aMovie :movieTitle '英雄'. ?aPerson :hasActedIn ?aMovie. ?aPerson :personName ?actor } LIMIT 10 #巩俐参演的,评分高于7的电影 SELECT ?title WHERE { ?aPerson rdf:type :Person. ?aPerson :personName '巩俐'. ?aPerson :hasActedIn ?aMovie. ?aMovie :movieTitle ?title. ?aMovie :movieRating ?rating. FILTER (?rating>=7) } LIMIT 10
10、通过python访问
https://github.com/neohope/kg-demo-for-movie/tree/master/src/query-d2rq.py
参考链接:
https://zhuanlan.zhihu.com/knowledgegraph
https://github.com/SimmerChan/KG-demo-for-movie