【问题标题】:How to get the value of a resource which is a property of another resource in sparql query如何在 sparql 查询中获取作为另一个资源属性的资源的值
【发布时间】:2014-04-01 15:21:04
【问题描述】:

如何从该查询中获取首都的值名称而不是 URI

SELECT ?capital 
WHERE { <http://dbpedia.org/resource/Germany><http://dbpedia.org/ontology/capital> ?capital}

在上面的查询中,我得到了德国首都的 URI .ie http://dbpedia.org/resource/berlin 怎么才能得到只有柏林而不是它的URI

【问题讨论】:

标签: sparql dbpedia spotlight-dbpedia sparqlwrapper


【解决方案1】:

您想要的值实际上是 RDFS 标签属性的值。如果您使用的是public DBpedia SPARQL endpoint,那么您可以使用这样的查询:

select ?label where {
  dbpedia:Germany dbpedia-owl:capital/rdfs:label ?label .
  filter langMatches(lang(?label),"en")
}

属性路径dbpedia-owl:capital/rdfs:label 表示您将获得德国的首都,然后获得它的标签。 filter 表达式允许您仅选择资源的英文标签。当然,您可以删除此过滤器,但您会得到多个结果,因为资源具有不同语言的标签。

【讨论】:

  • 谢谢。请问为什么该查询不适用于其他国家/地区,例如
  • 像什么?我认为您的评论中缺少某些内容。
  • @user3335188 我不确定你在说什么其他国家。我想,有可能有些国家没有首都,但不知道你问的是哪一个,我可以提供更多帮助……
  • 谢谢。我在 Javascript 中使用 dbpedia.org/sparql end ponit 查询 Dbpedia。有时它确实行为不端,有时没有反应。昨天的例子没有回应印度等。今天没有回应尼日尔、埃塞俄比亚。谢谢你别介意。为 Web 应用程序查询 Dbpedia 的有效方法是什么?
  • @user3335188 DBpedia 端点通常有点不可靠;很容易遇到超时,系统经常停机维护。通过手动访问 dbpedia.org/sparql 进行检查很重要。仅仅因为 javascript 驱动的查询崩溃或不返回结果并不意味着您的查询一定有问题;服务器可能已关闭。
猜你喜欢
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-21
  • 2016-05-06
  • 1970-01-01
相关资源
最近更新 更多