使用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”。
}
}