在此任务中,您将编写并执行对应于以下问题的SPARQL查询。下面的每一个查询都值10分: A.找到所有女性诺贝尔奖得主的出生日期和死亡日期,如果她们不再活着的话。B.找到所有1958年至1968年出生的诺贝尔奖得主,以及他们获奖的奖项和他们所得的份额。C. 找到所有没有授予一个人的诺贝尔奖,以及他们的类别。D. 包括所有在获奖时没有在同一出生国家工作的诺贝尔奖得主。E. 按在颁奖时与他们有关的诺贝尔奖得主的数量降序列出其所属机构。为了方便起见,这里是诺贝尔数据集中使用的名称空间的完整列表。你可以把缩写更改为更方便的东西:
时间: 2023-04-04 10:01:06 浏览: 78
A. 我可以回答这个问题。以下是SPARQL查询:
PREFIX nobel: <http://data.nobelprize.org/terms/>
PREFIX foaf: <http://xmlns.com/foaf/.1/>
SELECT ?name ?birthDate ?deathDate
WHERE {
?person a nobel:Laureate ;
foaf:gender "female" ;
foaf:name ?name .
OPTIONAL { ?person nobel:birthDate ?birthDate . }
OPTIONAL { ?person nobel:deathDate ?deathDate . }
}
B. 我可以回答这个问题。以下是SPARQL查询:
PREFIX nobel: <http://data.nobelprize.org/terms/>
SELECT ?name ?category ?year ?share
WHERE {
?person a nobel:Laureate ;
nobel:category ?category ;
nobel:year ?year ;
nobel:share ?share ;
foaf:name ?name .
FILTER (xsd:integer(?year) >= 1958 && xsd:integer(?year) <= 1968)
}
C. 我可以回答这个问题。以下是SPARQL查询:
PREFIX nobel: <http://data.nobelprize.org/terms/>
SELECT ?category
WHERE {
?nobelPrize a nobel:Prize ;
nobel:category ?category .
FILTER NOT EXISTS {
?person a nobel:Laureate ;
nobel:prize ?nobelPrize .
}
}
D. 我可以回答这个问题。以下是SPARQL查询:
PREFIX nobel: <http://data.nobelprize.org/terms/>
SELECT ?name ?bornCountry ?prizeCountry
WHERE {
?person a nobel:Laureate ;
foaf:name ?name ;
nobel:bornIn ?bornCountry ;
nobel:prize ?prize .
?prize nobel:awardedTo ?awardedTo .
FILTER (?awardedTo != ?person)
?awardedTo nobel:bornIn ?prizeCountry .
FILTER (?bornCountry != ?prizeCountry)
}
E. 我可以回答这个问题。以下是SPARQL查询:
PREFIX nobel: <http://data.nobelprize.org/terms/>
SELECT ?organization (COUNT(?laureate) AS ?numLaureates)
WHERE {
?laureate a nobel:Laureate ;
nobel:affiliation ?affiliation .
?affiliation nobel:name ?organization .
}
GROUP BY ?organization
ORDER BY DESC(?numLaureates)