本文描述的是推荐系统使用Linked Data做为主要数据源的情况。
注:文中的SparQL语句可以在这里查询
首先介绍一点背景信息。Dr. Gautam Shroff在《Web Intelligence and Big Data》里提到语义网(semantic web)大致的vision是:将facts和rules从现有的web里面提取出来。老的facts又和rules产生新的facts,于是semantic web不断壮大。他指出这样的semantic web虽然没有被实现,但能跨领域地表示knowledge(facts和rules)的技术已经出现了:RDF(Resource Description Framework)RDFS(RDF Vocabulary Definition Language),OWL(Web Ontology Language)等。
<----------------------------------------
小知识:RDF使用3元组的形式组织数据:subject(主语),predicate(谓语),object(宾语)。其中,subject和object可以均是由URI标识的resource,也可以分别是resource和字符串。RDFS和OWL能用于创建描述entity和entity之间联系的vocabularies。Vocabularies是classes和 properties 的集合,他们被表示成RDF格式,使用的是RDFS和OWL中的术语。(摘译自[29])
----------------------------------------->
Linked Data可以看成一种协议,它用于描述如何将有关联的data连接起来,以形成一个knowledge base(可以简单地当做存储knowledge的datasets)。不同的knowledge base又可以相互连接,最终形成LOD(Linked Open Data) cloud,部分截图如下(来自这里):
图1
图中每个圈表示一个knowledge base,圈内部又是很多相互连接的data。来看张内部放大图,大致是这样子的:
图2 from [22]
从图中,我们可以获取挺多信息。比如,《洛奇II》的导演是史泰龙,他同时也是里面的主角。
回到图1。其中,DBpedia是从Wikipedia中抽取knowledge而建立起来的。Wikipedia中的每一篇文章在DBpedia里都有对应的URI。因此,DBpedia也被称为Linked Data version of Wikipedia。由于Wikipeida内容本身涉及不同领域,DBpedia便成为了LOD cloud 的一个core,或者说是hub —— 连接了来自不同领域的knowledge bases。其他的knowledge bases有LinkedMDB(RDF version of IMDB),Freebase等。