基于wikidata的sparql查询
我对sparql非常陌生,我尝试在wikidata上运行3个查询:基于wikidata的sparql查询,sparql,wikidata,Sparql,Wikidata,我对sparql非常陌生,我尝试在wikidata上运行3个查询: 非画家和画家学生的人 非画家和学术后代或画家子女的人(注:一个人P的学术后代是P的学生,或P的学生,或……) 是自己的学术后代的人 第一次我被卡住了,我试着: SELECT DISTINCT ?human ?humanLabel WHERE { ?human wdt:P31 wd:Q5. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_L
P
的学术后代是P
的学生,或P
的学生,或……)李>
SELECT DISTINCT ?human ?humanLabel WHERE {
?human wdt:P31 wd:Q5.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?human wikibase:statements ?statementcount.
?human wdt:P106 ?profession.
FILTER(?profession != wd:Q1028181)
FILTER(?statementcount > 50 )
?human wdt:P1066 ?teacher.
?teacher wdt:P106 ?tprofession.
FILTER(?tprofession = wd:Q1028181)
OPTIONAL { }
}LIMIT 50
但我认为在这一行:
FILTER(?profession!=wd:Q1028181)
,不是针对painter检查所有职业,而是针对第一个职业,因此我得到了输出中有多个职业的画家,因为只针对painter检查第一个职业,但我希望所有这些职业都针对painter检查 这是正确的。信息缺失是通过过滤器不存在{?人类wdt:P106 wd:Q1028181}
这与什么有关?这些与我们有什么关系?