SPARQL Wikidata запрашивает содержимое строки для получения всех организаций, членом которых является человек?

#sparql #wikidata

#sparql #викиданные

Вопрос:

Другим заголовком может быть: есть ли обратное значение «член»? Я ничего подобного не вижу.

Я могу получить всех людей, которые являются членами организации.

 SELECT ?p ?pLabel WHERE {
  ?p wdt:P463 wd:Q3227220.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
  

Но я не могу понять, как получить обратное:

  1. У меня есть данный человек (с идентификатором или меткой)
  2. Мне нужны организации, в которых он является «членом»

Вопрос 1: 1 Возможно ли это сделать или это особенность «не иметь возможности» сделать это?

Вопрос 2: Если это возможно, есть ли где-нибудь мастер, чтобы найти волшебный мир листа?

Комментарии:

1. w.wiki / jwN или даже w.wiki / jwf

2. Правильно! Теперь я гораздо лучше понимаю язык sql! Нам просто нужно инвертировать переменную и значение, и все! Я хочу дать вам ответ, но я не знаю, как! Какая жалость!

3. это не SQL, а SPARQL … он должен создать ответ, тогда вы могли бы принять ответ.

4. На данный момент я не трачу время на то, чтобы понять разницу. Кажется, очень похоже. Хорошая ссылка, чтобы рассказать об этом различии? Вы имеете в виду, что в sql инверсия переменной и значений не работает одинаково?

5. Я полагаю, что они просто имели в виду, что SQL и SPARQL — это разные вещи, в том смысле, что слова «это очень хорошая машина» о самолете будут раздражать людей. Для инвертирования вы можете либо переключить субъект и объект (wd: Q3227220 wdt:P463 ?p), либо использовать ^, который изменяет предикат: (?p ^wdt:P463 wd: Q3227220)