Sparql 作为人类从维基数据中找回化学元素的发现者?

Sparql 作为人类从维基数据中找回化学元素的发现者?,sparql,wikidata,Sparql,Wikidata,我想找回化学元素的发现者,我已经做到了: prefix wd: <http://www.wikidata.org/entity/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix wdt: <http://www.wikidata.org/prop/direct/> prefix wde: <http://www.wikidata.org/entity/> SELECT ?d

我想找回化学元素的发现者,我已经做到了:

prefix wd: <http://www.wikidata.org/entity/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wde: <http://www.wikidata.org/entity/>

SELECT ?discoverer (Count(?element) as ?count)
WHERE
{
  ?element wdt:P31 wd:Q11344;
           wdt:P246 ?symbol;
           wdt:P61 ?discoverer.
  
     SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
   }
}GROUP BY ?discoverer
但是返回空的响应,我不知道为什么?发现者不应该是人类吗

我正在与查询点一起使用

(编辑)wd有效,但: 我想链接到nobelprize.org:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX http: <http://www.w3.org/2011/http#>
prefix wd: <http://www.wikidata.org/entity/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wde: <http://www.wikidata.org/entity/>

SELECT ?discoverer (Count(?element) as ?count)
WHERE
{
  ?element wdt:P31 wd:Q11344;
           wdt:P246 ?symbol;
           wdt:P61 ?discoverer.
  ?discoverer wdt:P31 wd:Q5.
     SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
   }
  ?discoverer owl:sameAs ?b.
  SERVICE <http://data.nobelprize.org/sparql>{
   ?b a <http://data.nobelprize.org/terms/laureate>.

}
}GROUP BY ?discoverer
前缀owl:
前缀http:
前缀wd:
前缀rdfs:
前缀wdt:
前缀wde:
选择“发现者”(计数(?元素)作为“计数”)
哪里
{
?元件wdt:P31 wd:Q11344;
wdt:P246?符号;
wdt:P61?发现者。
?发现者wdt:P31 wd:Q5。
服务维基库:标签{
bd:serviceParam wikibase:language“en”。
}
发现者猫头鹰:sameAs?b。
服务{
?b a。
}
}分组-发现者

返回零结果。

不确定为什么调用变量
?a
,应添加
?发现者wdt:P31 wdt:Q5
。类型不是
wdt:Q5
,而是
wd:Q5
它是一个实体。因此,最终应该是
?发现者wdt:P31 wd:Q5
——很明显,如果人们没有被直接断言为人类,你就会错过这些。在这种情况下必须使用模式
wdt:P31/wdt:P279*
——在您的情况下,这似乎不是一个问题,谢谢,wd代替wdt工作。仍然无法将“人类”链接到外部源(nobelprize.org的“laureate”)没有
owl:sameAs
链接-你从哪里得到这个想法的?那你为什么不使用P3188属性呢?像
?discoverer wdt:P3188?b.
而不是整个
服务
条款我看到一些使用owl:sameAs的网站。这是为了学校的一份工作。它必须与服务一起使用,我将´´´´绑定(uri(concat(“,?b))作为?c)´´´但结果url不存在。有什么想法吗?我认为正确的url是+idI我在wikidata中创建了诺贝尔奖ID(P3188),我认为它与data.nobelprize.org/resource/laureate+ID一起工作
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX http: <http://www.w3.org/2011/http#>
prefix wd: <http://www.wikidata.org/entity/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wde: <http://www.wikidata.org/entity/>

SELECT ?discoverer (Count(?element) as ?count)
WHERE
{
  ?element wdt:P31 wd:Q11344;
           wdt:P246 ?symbol;
           wdt:P61 ?discoverer.
  ?discoverer wdt:P31 wd:Q5.
     SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
   }
  ?discoverer owl:sameAs ?b.
  SERVICE <http://data.nobelprize.org/sparql>{
   ?b a <http://data.nobelprize.org/terms/laureate>.

}
}GROUP BY ?discoverer