使用SPARQL从Wikidata列出所有哈佛大学讲师
我想询问哈佛大学所有讲师的姓名和职称 到目前为止,我得到的是:使用SPARQL从Wikidata列出所有哈佛大学讲师,sparql,wikipedia,dbpedia,wikidata,Sparql,Wikipedia,Dbpedia,Wikidata,我想询问哈佛大学所有讲师的姓名和职称 到目前为止,我得到的是: SELECT ?item ?degree WHERE { ?item <http://www.wikidata.org/prop/direct/P803> <http://www.wikidata.org/entity/Q13371>. ?degree <http://www.wikidata.org/prop/direct/P512> <http://www.wikidata.
SELECT ?item ?degree WHERE {
?item <http://www.wikidata.org/prop/direct/P803> <http://www.wikidata.org/entity/Q13371>.
?degree <http://www.wikidata.org/prop/direct/P512> <http://www.wikidata.org/entity/Q13371>.
}
选择项目度,其中{
?项目。
度
}
不幸的是,它找不到任何记录
你可以到处玩玩。在我看来,经过几次尝试后,维基数据似乎不包含你要查找的数据 首先,你的
?度的三重模式似乎是错误的。关系应该是一个人“有学位”的程度;你拥有的是哈佛大学的学位
您可以尝试的查询是
SELECT ?person ?degree ?relationship WHERE {
?person <http://www.wikidata.org/prop/statement/P512> ?degree .
?person ?relationship <http://www.wikidata.org/entity/Q13371>.
}
选择人员-学位关系,其中{
人?学位。
人与人的关系。
}
这将选择所有已知学位的人及其与哈佛大学的关系。您可以看到,返回的唯一关系是“被授予”或“接受教育”,这两种关系都不是您正在寻找的“是讲师”关系。换成?rel?person
也无济于事
因此,除非我们错过了学位的另一个属性,否则我认为维基数据还不能给你答案。我怀疑维基数据是否有你想要的信息,但你至少可以得到一份维基数据认为已经受雇于哈佛的人的名单。考虑到他们的“知名度”规则,他们很可能是几乎所有的教授(可能还有一些高级管理人员)
此查询将为您提供3000多人:
SELECT ?itemLabel WHERE {
?item <http://www.wikidata.org/prop/direct/P108> <http://www.wikidata.org/entity/Q13371>.
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
SELECT?项目标签,其中{
?项目。
服务维基库:标签{
bd:serviceParam wikibase:language“en”。
}
}