我一直在阅读有关链接数据的内容,我认为我理解发布链接数据的基础知识,但我正在尝试查找链接数据的实际使用(和最佳实践)。许多书籍和在线教程都谈论了很多关于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。
答案 0 :(得分:3)
这是创建和使用关联数据的一种潜在方式。
http://dbpedia.org/page/Snow_leopard
。从页面中可以看到,有几个对象和属性描述。您可以使用它们来创建丰富的信息平台。snorql
查询DBpedia。其次,您可以使用SPARQL 1.1的INSERT
和INSERT DATA
功能从这些端点检索所需的数据并加载到您的三重存储中。要从三元组存储中访问SPARQL端点,您需要使用SPARQL的SERVICE
功能。第二种方法可以保护您在公共端点停止维护时无法执行查询。为了使用来自其他地方的数据来丰富数据,还可以有两种方法。这样做的标准方法是使用现有的词汇表。因此,您必须查找habitat
谓词并插入此声明:
dbpedia:Snow_leopard prefix:habitat geonames:Berlin
。
如果没有找到包含该属性的适当本体(在这种情况下不太可能),则需要创建一个新的本体。