关联数据的实际用法

时间:2015-09-01 13:37:18

标签: linked-data

我一直在阅读有关链接数据的内容,我认为我理解发布链接数据的基础知识,但我正在尝试查找链接数据的实际使用(和最佳实践)。许多书籍和在线教程都谈论了很多关于RDF和SPARQL的内容,但没有涉及处理其他人的数据。

我的问题是,如果我有一个包含大量数据的项目,我输出为RDF,那么增强(或正确使用)其他人的数据的最佳方法是什么?

如果我为动物创建应用程序并且我想使用BBC野生动物页面(http://www.bbc.co.uk/nature/life/Snow_Leopard)中的数据,我该怎么办?抓取BBC野生动物页面,用于RDF,并将内容保存到我自己的三元商店或用SPARQL查询BBC(我不确定BBC实际上是否可行)或者我为我的动物采用URI({{ 1}})和卷曲BBC网站上的内容?

这也问了这个问题,你能以编程方式添加链接数据吗?我想你必须抓住BBC野生动物页面,除非它们提供所有内容的索引。

如果我想再次为这些动物添加额外信息(http://www.geonames.org/2950159/berlin.html),那么最佳方法是什么? owl:sameAs(假谓词)巴西?并从地理名称网站卷起巴西的RDF?

我认为链接到原始作者是最好的方式,因为您的数据可以保持最新,这些来自BBC演示文稿(http://www.slideshare.net/metade/building-linked-data-applications)的幻灯片是BBC的作用,但是如果作者网站出现故障或速度过慢会怎么样?如果你要为作者的RDF编制索引,我想你的owl:habitat会指向一个本地的RDF。

1 个答案:

答案 0 :(得分:3)

这是创建和使用关联数据的一种潜在方式。

  1. 如果您在线查找实体(即“关联数据术语中的资源”),请查看是否存在关于该实体的关联数据描述。一个容易找到的地方是DBpedia。对于Snow Leopard,您可以使用的一个URI是http://dbpedia.org/page/Snow_leopard。从页面中可以看到,有几个对象和属性描述。您可以使用它们来创建丰富的信息平台。
  2. 您可以通过两种方式使用SPARQL。首先,您可以直接在Web上查询可能存在某些数据的SPARQL端点。英国广播公司有一个音乐;我不确定他们是否会提供其他信息。可以使用snorql查询DBpedia。其次,您可以使用SPARQL 1.1的INSERTINSERT DATA功能从这些端点检索所需的数据并加载到您的三重存储中。要从三元组存储中访问SPARQL端点,您需要使用SPARQL的SERVICE功能。第二种方法可以保护您在公共端点停止维护时无法执行查询。
  3. 要以编程方式将数据添加到triplestore,您可以使用其中一个预先设计的库。在Python中,RDFlib对这些应用程序很有用。
  4. 为了使用来自其他地方的数据来丰富数据,还可以有两种方法。这样做的标准方法是使用现有的词汇表。因此,您必须查找habitat谓词并插入此声明:

    dbpedia:Snow_leopard prefix:habitat geonames:Berlin

  5. 如果没有找到包含该属性的适当本体(在这种情况下不太可能),则需要创建一个新的本体。

    1. 如果您希望保持信息的最新状态,那么定期运行查询是有意义的。在这方面,使用像DBpedia Live这样的东西很有用。