如何知道在Dbpedia中代表事物的确切名称?

时间:2014-05-18 15:51:16

标签: rdf sparql semantic-web dbpedia linked-data

我开发了一个连接到dbpedia的php应用程序来获取一个东西的属性和主题(艺术家的名字,地名,名词......) 让我们举一个例子: 假设我想知道迈克尔杰克逊的类型或职业:

    select distinct ?string where {
  <http://dbpedia.org/resource/Michael_Jackson> dbpprop:occupation ?string .
}

问题是:如何在dbpedia中进行全文查询。我的意思是仅仅通过写一个东西它就会返回相应的概念。

谢谢

2 个答案:

答案 0 :(得分:1)

如果你看一下http://dbpedia.org/resource/Michael_Jackson的数据,你就会发现那里的财产rdfs:label价值为#34; Michael Jackson&#34; 。您可以使用SPARQL查询检索资源,如下所示(我已经添加了关于a owl:Thing的内容,因为您正在查找内容,而不是类别):

select ?s where { ?s rdfs:label "Michael Jackson"@en ; a owl:Thing }

SPARQL results

SPARQL确实支持REGEX运算符(它在标准中明确描述,SPARQL 1.1 Query Language),但查询DBpedia中的所有内容可能过于昂贵,而您的查询可能会有时间如果你试图使用它。

由于DBpedia资源URI是从相应的维基百科文章URI生成的,因此最好的办法是使用Wikipedia查找工具,并从您找到的Wikipedia文章URI中生成DBpedia资源URI。

答案 1 :(得分:0)