每个DBpedia资源的传入链接数

时间:2016-01-15 11:40:12

标签: sparql dbpedia

我在下面有SPARQL DBpedia查询:

PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX vrank:<http://purl.org/voc/vrank#>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT distinct  ?Nom ?resource ?url (count( (?o) as ?nb))
 WHERE{
   ?resource rdfs:label ?Nom.
   ?resource foaf:isPrimaryTopicOf ?url.
   ?resource dbpedia-owl:wikiPageWikiLink ?o
   ?Nom <bif:contains> "Apple".
   FILTER ( langMatches( lang(?Nom), "EN" )).
MINUS {?resource dbo:wikiPageRedirects|dbo:wikiPageDisambiguates  ?dis}
    }
Group By  ?Nom ?resource ?url

我想获取维基百科内每个权限的传入链接数。我该怎么办? 感谢

1 个答案:

答案 0 :(得分:1)

首先是语法:

你错过了一个点?o, 它也应该是bif:contains,而不是<bif:contains>

下一步:

我运行了这个更简单的查询:

PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX vrank:<http://purl.org/voc/vrank#>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT distinct  ?Nom ?resource
 WHERE{
   ?resource rdfs:label ?Nom.
   ?Nom bif:contains "Apple".
}

产生了很多结果.... 现在我添加了这个三联:

PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX vrank:<http://purl.org/voc/vrank#>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT distinct  ?Nom ?resource
 WHERE{
   ?resource rdfs:label ?Nom.
   ?resource dbpedia-owl:wikiPageWikiLink ?o.
   ?Nom bif:contains "Apple".
}

没有返回任何结果。

这意味着在其对象文字中没有包含三元组的apple,其中主题在整个端点中都有一个wikiPageWikiLink。

如果此属性确实存在,则其实例不包含在官方端点中,因为没有包含此属性的三元组(我已选中)。这可能是因为官方端点没有包含每个dbpedia数据集,或者它可能已被弃用。