Help:Отображение информации
Запросы в Semantic MediaWiki выводят список страниц. По умолчанию, это просто список заголовков-ссылок на страницы и ничего более. Дополнительную информацию о страницах, например, её категории и значения семантических свойств можно получить, используя выходные параметры (англ. printout statements).
Существует несколько видов выходных параметров, но их всех можно легко узнать по знаку вопроса в начале: ?. Очень важное отличие выходных параметров от описания собственно запроса состоит в том, что выходные параметры не меняют количество результатов запроса. Еще раз: отбор страниц происходит в первой секции запроса, где вы указываете категории и вводите ограничения на семантические свойства, которыми должны обладать искомые страницы. Именно в тот момент формируется результат запроса в виде списка страниц, удовлетворяющих вашим условиям, и выходные параметры не повлияют на то, что будет находиться в этом списке. Они нужны для того, чтобы узнать, какие семантические свойства привязаны к отобранным страницам.
Contents
Вывод значений семантических свойств[edit]
Итак, вы успешно выбрали те страницы, которые вас интересуют. Теперь нам хотелось бы показать не только заголовки страниц, но и их семантические свойства. Это делается просто: нужно написать вопросительный знак и имя интересующего свойства, например
?population
В результате SMW напечатает население, хранящееся в свойстве ?population.
Можно поменять подпись выводимого значения семантического свойства, это делается так:
?population = Количество жителей
Такая конструкция тоже напечатает значение свойства population, но подпись столбца в таблице будет другой: количество жителей.
На некоторых страницах, которые удовлетворяют критериям запроса, могут не быть определены те, свойства, которые нас интересуют. Например, для каких-то городов может быть не указано количество жителей. В этом случае SMW покажет вам пустые ячейки на месте свойства population. Если такое поведение вас не устраивает и вы хротите, чтобы города с неизвестным количеством жителей вообще не выводились в результатах запроса, используйте маски в критериях отбора страниц (подробности см. на странице Help:Выборка страниц).
Вывод на экран категорий[edit]
Существует два способа вывода на экран категорий: SMW может по вашей просьбе вывести список всех категорий, назначенных отобранным страницам, либо SMW может проверить, относятся ли отобранные страницы к какой-то одной конкретной категории. Если вы хотите увидеть список категорий для отобранных страниц, используйте конструкцию:
?Category
или же вот так:
?Категория
Если же вас интересует, относятся ли отобранные страницы к какой-то одной категории, напишите её имя после двоеточия, вот так:
?Категория:Актер
Тогда в результате запроса будет содержаться столбец Актер, в котором для страниц, относящихся к Актерам, будет находиться символ X, или пустая ячейка в противном случае. Как и с обычными колонками, можно сделать так, чтобы вместо названия категории в заголовке столбца отображалось что-нибудь другое, например:
?Category:Actor = A
Вот так столбец будет называться просто А. Эта возможность полезна, если у вас в вики есть категории с длинными названиями.
Первая колонка[edit]
В первой колонке обычно находятся ссылки на страницы, которые удовлетворяют результатам запроса. Иногда Вам хочется переместить первую колонку на другое место: сделать её второй, третьей или пятой. Это может быть очень полезным при создании встраиваемых запросов. Просто используйте вопросительный знак для того, чтобы вывести колонку с результатами запроса:
?
По умолчанию у этой колонки нет названия, но вы можете присвоить то название, которое вам нравится:
? = Результаты
Если вы хотите, чтобы главная колонка не выводилась совсем, используйте код mainlabel=-
Формат вывода[edit]
Часто можно настраивать то, как будет отформатировано значение выводимого свойства. Параметры форматирования нужно указывать после значка #. Возможные параметры зависят от типа свойства.
Неформатированный вывод[edit]
Подавляющее большинство типов можно выводить в "сыром", неотформатированном виде. В этом случае у нас нет никаких ссылок, подсказок или удобного форматирования. Этом может быть полезным, если результаты запроса затем передаются в функцию или шаблон. Чтобы явно указать, что данное значение должно быть без всякого форматирования, используйте знак дефиса или пробел, вот так:
?население# - ?население#
Об выражения указывают вики, что не нужно применять никаких правил форматирования для свойства "население". Для свойств типа Число, "пустой формат" будет выглядеть как число, без запятых или пробелов (за исключением точки, отделяющей целую часть от дробной). Для свойств типа Страница будет выводиться не кликабельное название страницы.
Обратите внимание, что если вы используете единицы измерения, то "пустой" формат все же будет включать и значение и единицу измерения. Вы можете явно указать единицу измерения, к которой нужно преобразовать значение свойства, вот так:
?высота#cm
Тут мы предполагаем, что в вики уже зарегистрирована единица измерения "сантиметр", и вы уже научили вики другим единицам измерения, которые могут конвертироваться в сантиметры. Если вы не умеете этого делать, прочтите страницу Help:Единицы измерения.
Также вы можете просто не выводить единицу измерения, с помощью директивы #-n
, ну или выводить только единицу измерения, но не значение свойства (директива #-u
):
?height#-n ?height#-u
Примеры других вариантов форматириования[edit]
Свойства типа Дата могут выводиться очень разными способами, ведь даты в разных странах и областях деятельности принято выводить по-разному. У нас есть два формата для дат:
ISO
- форматирует дату в соответствии со стандартом ISO 8601, принятом в технической документации:?Дата регистрации#ISO
MEDIAWIKI
- указывает на то, что для форматирования даты нужно использовать функции интернационализации, встроенные MediaWiki, вот так:?День рождения#MEDIAWIKI
Другие типы данных могут иметь другие опции форматирования, почитайте страницу Help:Свойства и типы.
Есть очень удобная возможность для форматирования категорий. Предположим, вы выводите категорию страницы, например вот так: ?Категория:Золотой посетитель
. Вы можете выводить надпись "Золотое членство", если страница относится к категории Золотой посетитель и "простое членство", если нет:
?Категория:Золотой посетитель#Золотое членство, Простое членство
Представьте себе, как может получиться красиво, если вместо текста "Золотое членство" использовать картинку или маленький виджет!