我正在尝试查询:不是画家的人,或者是画家的后代或画家的孩子的人(注意:P人的学术后代是P的学生或曾经是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.
FILTER NOT EXISTS {?human wdt:P106 wd:Q1028181}
FILTER(?statementcount > 50 )
?human wdt:P1066 ?teacher.
?subclass rdfs:subClassOf* ?teacher.
?children rdfs:subClassOf* ?subclass.
?children wdt:P1066 ?teacher2.
FILTER EXISTS { ?teacher2 wdt:P106 wd:Q1028181}.
}
ORDER BY (?humanLabel)
LIMIT 50
我得到了一些结果,但是很难理解它是否确实有效。所以我只想知道它是否正确或需要更多的工作。谢谢
您最好自己问一下WikiData。我知道可以问英文Wikipedia this page where tech questions(那里的某些人确实了解WikiData);不过,我不了解WikiData。