Назначение семантических свойств MediaWiki автоматически - PullRequest
1 голос
/ 26 сентября 2019

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

Просто для примера предположим, что я хотел бы присвоить новое свойство [[Has current::true]] всем книгам, опубликованным в 2019 году. Я думаю, что должна быть возможность использовать комбинацию #ask и#set запросов, но я не совсем уверен, как их объединить.

Кроме того, было бы неплохо, если бы свойство могло быть действительно записано на страницах результатов.Но это не совсем необходимо.

Чтобы получить книги с 2019 года, пример запроса может быть следующим:

{{#ask: [[Category:Book]]
 |?Has publication_year::2019
}}

Как я могу присвоить свойство [[Has current::true]] всем результатам?

Заранее благодарим за любую помощь!

1 Ответ

0 голосов
/ 27 сентября 2019

Инициировать действия из вашего запроса Ask немного сложно, потому что вам придется каким-то образом запускать действие при выполнении запроса.Кроме того, вы ожидаете получить результат «одного выстрела», поэтому не имеет особого смысла, что действие происходит при каждом повторном просмотре страницы, на которой находится ваш запрос.Поэтому я не предлагаю многошаговое решение:

  1. используйте шаблон в вашем запросе-запросе, который создаст операторы #set, которые вы хотели бы получить, еще не выполнив их.
  2. вырезать и вставлять результат в подходящее место

Есть и другие возможные решения для этого, которые включают программирование, например, с использованием PHP, Scribunto, Java и т. п., но для этого потребуется гораздо более сложный ответ, который я не думаю,подходит для stackoverflow.

...