Я опрашиваю Викиданные с целью создания группы выпускников Эдинбургского или Глазго, которые в настоящее время являются членами шотландского парламента.Затем я хотел бы вернуть список тех должностей, которые они занимали, и для каждой должности имена других живых людей, которые занимали этот пост, независимо от того, являются ли они выпускниками.
Я справился с вышеизложенным, но набор результатов для других, занимающих этот пост - переменная - другие - включает в себя исходную тему для переменной «выпускники» в каждом случае.Я хотел бы, чтобы все ДРУГИЕ офисные владельцы, кроме человека, назначающего на карту? Выпускникам.Запрос довольно длинный, поэтому просто включаю соответствующие разделы.
#associate ?alumni with positions of office
?alumni p:P39 ?officeStmnt .
?officeStmnt ps:P39 ?role .
?role rdfs:label ?roleLabel .
FILTER (langMatches(lang(?roleLabel ), "en")) .
FILTER NOT EXISTS
{
FILTER(langMatches(lang(?roleLabel ), "en-ca"))
}.
FILTER NOT EXISTS
{
FILTER(langMatches(lang(?roleLabel ), "en-gb"))
} .
#Filter for member of 5th Scottish Parliament
VALUES (?role)
{
(wd:Q30580546)
} .
?alumni p:P39 ?officeStmnts .
?officeStmnts ps:P39/rdfs:label ?rolesLabel .
FILTER (langMatches(lang(?rolesLabel ), "en")) .
FILTER (!regex (?rolesLabel,"Member of")) .
?rolesLabel ^rdfs:label ?roles .
?roles ^ps:P39/^p:P39 ?others .
?others rdfs:label ?othersLbl .
FILTER (langMatches(lang(?othersLbl ), "en")) .
BIND (xsd:string(?othersLbl) AS ?othersStr)