Я не уверен, есть ли способ вложить запросы непосредственно в другие запросы. Обычный способ его использования - использовать шаблон. Таким образом, вы можете определить шаблон (или вложенную шаблона, если это происходит в шаблон) называется {{tablerow}}
, который состоит из:
<includeonly>
|- valign="top"
| [[{{{1|}}}]]
| {{#show: {{{1|}}} | ?surface }}</includeonly>
В <includeonly>
теги имеют важное значение по причинам, я не понимаю, это производит ошибки иногда если вы их оставите. Затем вы просто запускаете запрос #ask
с format = template
. (Вы можете создать заголовок в запросе, но я считаю, что проще просто поставить его снаружи.)
{| class="wikitable smwtable sortable"
|- valign="bottom"
! [[City]]
! [[Surface]]
{{#ask: [[Category:City]] [[location::Germany]]
| format = template
| template = tablerow
| link = none
}}
|}
Это будет пробивать каждый результат, возвращаемый запросом через шаблон как {{{1}}}
и генерировать ряд на его основе , Если у вас есть другие данные для возврата из основного запроса, дополнительные свойства, которые вы запрашиваете, выйдут в виде последовательных неназванных параметров (поэтому, если вы включите | ?population
, они войдут в шаблон как {{{2}}}
и их необходимо будет добавить в структуру строк или он будет удален).
Теги Includeonly определяют часть шаблона только для отображения страниц, ссылающихся на шаблон. В отличие от тегов noinlude, которые содержат контент, который будет отображаться только на странице шаблона, а не страницы, ссылающиеся на него. Все, что находится за пределами этих тегов, будет отображаться обоими. Пример использования: http://openei.org/wiki/Template:SampleTemplate –
Ну, да, я знаю, что делают теги вообще. Я имел в виду, что в конкретном случае вспомогательных шаблонов для функций semantic mediawiki '{{#ask}}' я не знаю, зачем они нужны. Несмотря на то, что единственный текст в шаблоне - это раздел, который нужно перевести, иногда он не будет работать, если вы не обернете весь шаблон в теги ''. Я не сталкивался с какой-либо другой ситуацией, когда это так. –