Как написать запрос с аналогичным поведением на SPARQL (wikidata)?
Привет!
Необходимо написать запрос, имитирующий поведение как на этой странице:
https://wikidata-todo.toolforge.org/tree.html?q=Q3...
Есть тег Fruit (Q3314483) и хочется от него отнаследовать несколько потомков, типа яблоко/манго/виноград/....
Как ни пытался написать подобный запрос на SPARQL - не выходит добавить глубину (мне необходима глубина 2), получается только, чтобы все теги шли подряд.
Мой сниппет:
SELECT ?item ?itemLabel WHERE { ?item wdt:P279* wd:Q3314483. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } |
SELECT ?item ?itemLabel WHERE { ?item wdt:P279* wd:Q3314483. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } }
Как переделать скрипт с добавлением параметра глубины?
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для написания запроса с аналогичным поведением на SPARQL (wikidata) необходимо использовать стандартный синтаксис SPARQL и работать с данными, хранящимися в базе знаний Wikidata.
Для начала, определим цель запроса. Если вы хотите получить информацию об объекте, его свойствах и значениях, вы можете использовать конструкцию SELECT для выбора нужных данных.
Например, если вы хотите получить информацию о конкретной стране, вы можете написать запрос следующим образом:
SELECT ?countryLabel ?population ?area WHERE { wd:Q30 p:P1082 ?populationStatement. ?populationStatement ps:P1082 ?population. wd:Q30 p:P2046 ?areaStatement. ?areaStatement ps:P2046 ?area. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } }
В данном примере мы выбираем название страны, население и площадь. Мы указываем идентификатор страны (Q30 для США) и свойства, которые нас интересуют (население и площадь).
Не забудьте подключить сервис для отображения меток на нужном языке (в данном случае, английском).
Таким образом, используя SPARQL на Wikidata, вы можете получить информацию о различных объектах и их свойствах, аналогично тому, как это делается на stackoverflow.com, но уже с использованием данных из базы знаний Wikidata.