Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SPARQL计算DBpedia wikilink和外部链接的数量_R_Sparql_Dbpedia_Linked Data - Fatal编程技术网

使用SPARQL计算DBpedia wikilink和外部链接的数量

使用SPARQL计算DBpedia wikilink和外部链接的数量,r,sparql,dbpedia,linked-data,R,Sparql,Dbpedia,Linked Data,我目前正在使用R中的SPARQL包查询DBPedia中的人名列表。现在我正在计算一个人的不同类别,例如wikilink或外部链接的数量。但我只知道将每个人的所有项目一起计算,例如: query= "SELECT COUNT (*){ <http://dbpedia.org/resource/Philipp_Melanchthon> ?p ?o }" query=“选择计数(*){ ?采购订单 }" 这只是打印出一个人所有项目的计数,有没有办法分别打印出一

我目前正在使用R中的SPARQL包查询DBPedia中的人名列表。现在我正在计算一个人的不同类别,例如wikilink外部链接的数量。但我只知道将每个人的所有项目一起计算,例如:

    query= "SELECT COUNT (*){
    <http://dbpedia.org/resource/Philipp_Melanchthon> ?p ?o 
    }"
query=“选择计数(*){
?采购订单
}"

这只是打印出一个人所有项目的计数,有没有办法分别打印出一个人不同类别的计数?许多thx。

正如您所指出的,以下查询为您提供了与之相关的所有关系和对象:

SELECT distinct *{
    dbpedia:Philipp_Melanchthon ?p ?o.
}
如果要查找外部链接,则需要使用适当的属性替换
?p
,在本例中
dbpedia owl:wikiPageExternalLink

SELECT distinct *{
    dbpedia:Philipp_Melanchthon dbpedia-owl:wikiPageExternalLink ?o.
}
因此,count将为您提供外部链接:

SELECT (count(?o)){
    dbpedia:Philipp_Melanchthon dbpedia-owl:wikiPageExternalLink ?o.
}

超级的!Thx,我真的很想给你投票,但我没有足够的声誉…最后一个问题是不合法的。它需要是
选择distinct(count(?o)as?something){…}
。那么它将是合法的,但可能仍然不对。只会有一个计数,所以区分在这里是没有用的。它可能应该是
select(count(distinct?o)as?something){…}
,这样您可以计算?o的不同值,而不是选择?o的不同计数。谢谢Jashua,修复了它。不客气。如果你的问题已经得到回答,你可以考虑答案。