作为人类从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 ?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

它可以工作,但是我需要发现者是人类(wdt:Q5)才能链接到外部资源。

我尝试添加此行:(编辑

  ?discoverer wdt:P31 wdt:Q5;

但是返回空响应,我不知道为什么?发现者不应该是人类吗?

我正在使用http://yasgui.triply.cc/查询点指向https://query.wikidata.org/bigdata/namespace/wdq/sparql

(edit) 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

返回零结果。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)