知识图谱(Knowledge Graph)是当前互联网最炙手可热的技术之一,它的典型应用场景就是搜索引擎,比如Google搜索,百度搜索。我们在百度搜索中输入问题“中国银行的总部在哪”,搜索的结果如下:
百度搜索这便是知识图谱的典型应用,能够直接输出问题的答案。借助知识图谱,能够让搜索引擎更加高效,搜索结果更加精准,给用户带来更好的搜索体验和乐趣。
SPARQL的英文全称为SPARQL Protocol and RDF Query Language,是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。它于2008年1月15日正式成为一项W3C推荐标准,于2013年3月发布SPARQL1.1。
首先,RDF不是一种数据格式。
subjectpredicateobjectrichardhomeTel(229)276-5135cindyemailcindym@gmail.com以下为Turtle RDF格式的RDF文件,文件名为ex002.ttl,
# filename: ex002.ttl @prefix ab: <http://learningsparql.com/ns/addressbook#> . ab:richard ab:homeTel "(229) 276-5135" . ab:richard ab:email "richard49@hotmail.com" . ab:cindy ab:homeTel "(245) 646-5488" . ab:cindy ab:email "cindym@gmail.com" . ab:craig ab:homeTel "(194) 966-1505" . ab:craig ab:email "craigellis@yahoo.com" . ab:craig ab:email "c.ellis@usairwaysgroup.com" .#表示注释,@prefix行为前缀行,即为<http://learningsparql.com/ns/addressbook#>取一个前缀ab:,也就是别名,避免每次命名时都要写这个长长的字符,句子最后的.可写可不写,写上后便于阅读。另外,<http://learningsparql.com/ns/addressbook#>是URI,这个后面会介绍。
URI和URL是两个相近的概念,但URL只是URI的一种。
好了,在了解了上述的基本概念之后,我们需要实践一把,在这里,我们使用ARQ。apache-jena-3.11.0.zip,并将解压后的zip文件中的bin目录添加到环境变量中。添加方式如下:
vim /etc/profile
在文件末尾添加命令:
export JENA_HOME=你的apache-jena-3.11.0路径 export PATH=$JENA_HOME/bin:$PATHsource /etc/porfile
运行命令echo $JENA_HOME,如果能输出你的JENA路径,则表明添加该环境变量成功。
接着我们写好SPARQL查询语句(关于查询语句,会在后面的文章中介绍),文件名为ex003.rq,内容如下:
# filename: ex003.rq PREFIX ab: <http://learningsparql.com/ns/addressbook#> SELECT ?craig_email WHERE { ab:craig ab:email ?craig_email . }简单对该查询语句做个说明:PREFIX ab: http://learningsparql.com/ns/addressbook# 表示使用哪个URI,并取别名。后续的查询语句类似于SQL,是对三元组做查询,?craig_email为变量,查询三元组中的宾语,用通俗的话来理解,就是查询craig的电子邮箱是什么?
arq --data ex002.ttl --query ex003.rq输出结果如下:(ex002.ttl文件见之前的描述)
-------------------------------- | craig_email | ================================ | "c.ellis@usairwaysgroup.com" | | "craigellis@yahoo.com" | --------------------------------还可以查询三元组中的其他部分,这里不再讲述,后续会专门讲SPARQL查询语句的。
在知识图谱的工具箱中,有很多图数据库,它们提供了很好的查询语句功能和可视化效果,比如Neo4j, Cayley,这次,我们可以学习下RDF和SPARQL,毕竟,SPARQL的查询能力和推理能力也是很强的哦~
阿里云双十一活动来袭
长按扫描下方二维码
即享云服务器新用户1折起购
最低86元/年,一起拼团更优惠!
↓ ↓ 长按扫码了解更多 ↓ ↓
【Python中文社区专属拼团码】
活动时间:2019年10月24日至2019年11月11日
活动对象:阿里云新用户,同一用户限购1单。
▼ 点击阅读原文,即享阿里云产品新用户1折优惠