Я пытаюсь вернуть результаты для группы лиц (выпускников Эдинбургского университета), которые занимали политические должности.Я хотел бы вернуть заголовок названия занимаемой должности, а также даты начала и окончания для каждой должности, причем многие лица занимают несколько должностей.Кажется, я могу заставить одного или другого или заставить его работать, если человек занимал только одну должность, но не может заставить их собраться вместе, где было несколько офисов.
Моя текущая версия запроса ниже.Это даст мне даты начала и окончания, а не метку, если политический офис, такой как член [x] парламента Великобритании,? OfficeLabel возвращает значение, такое как: statement/Q4668868-E3734C7D-40F0-4D4A-8208-E3D6B8C944CB
SELECT DISTINCT ?alumni ?fullName ?roleLabel ?officeLabel ?start ?end WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?alumni wdt:P69 wd:Q160302.
?alumni rdfs:label ?fullName.
?alumni wdt:P106 ?role.
#Use Values to separate out politicians - Q82955
VALUES (?role) {
(wd:Q82955)
}
#Select only where position of office is stated but make dates optional
?alumni p:P39 ?office.
OPTIONAL { ?office pq:P580 ?start. }
OPTIONAL { ?office pq:P582 ?end. }
FILTER(LANGMATCHES(LANG(?fullName), "en"))
FILTER(NOT EXISTS { FILTER(LANGMATCHES(LANG(?fullName), "en-ca")) })
FILTER(NOT EXISTS { FILTER(LANGMATCHES(LANG(?fullName), "en-gb")) })
}
ORDER BY ?fullName
LIMIT 10