Семантика

Материал из СисадминВики (SysadminWiki.ru)
Перейти к: навигация, поиск

Расширение Semantic MediaWiki позволяет добавить к движку Mediawiki семантику, т.е. определять на сайте объекты, их свойства и связи друг с другом, что даёт возможность с помощью специальных запросов динамически создавать списки страниц отвечающих требуемым параметрам запроса (т.е. содержащие нужные данные), а также подставлять в статью данные из других статей, не заботясь в дальнейшем о синхронизации изменений (например, во всех статьях, где указывается величина Эвереста подставлять значение из статьи об этой горе, вместо использования конкретных цифр).

Семантика также облегчает компьютерный поиск по сайту.


Расширение Semantic MediaWiki устанавливается через Composer (менеджер пакетов и зависимостей для приложений PHP).

Устанавливаем расширение Semantic MediaWik

Официальная инструкция в кратком виде говорит следующее:

  • Переходим в корневой каталог сайта, где лежит в том числе файл composer.phar. Скачиваем все зависимости:
php composer.phar require mediawiki/semantic-media-wiki "~2.5" --update-no-dev

Если сайт использует PHP собственной версии, отличной от той, что установлена в ОС, то запускаем все команды с помощью нужной нам версии PHP. Например:

../cgi-bin/php-cli ./composer.phar require mediawiki/semantic-media-wiki "~2.5" --update-no-dev

Версию PHP можно узнать командой:

php -v
  • Обновляем движок:
php maintenance/update.php --skip-external-dependencies
# Semantic wiki
enableSemantics( 'https://mysite.ru' );
  • Проверяем успешно ли прошла установка на страницах Special:Version и Special:Browse. Немного подбробнее.

Доустанавливаем дополнительные расширения

Семантика проще всего добавляется на сайт через шаблоны. Добавив семантические свойства к элементам шаблона, мы затронем семантикой сразу много страниц. Шаблоны проще всего заполняются с помощью форм. Формы, используя списки значений, также помогают избавиться от опечаток и, если надо, ограничить возможные значения для некоторых параметров. В случае простых табличных представлений форм и шаблонов можно воспользоваться схемами, чтобы облегчить задачу обновления того и другого. Использование схемы также позволит автоматически создать все новые свойства, формы и шаблоны. Однако, для форм отличных от таблиц, схемы не подойдут.

  • Page Forms - для создания форм (заполнение шаблонов, создание единообразных страниц)
  • Page Schemas - для создания схем, по которым создаются и обновляются одновременно и формы и связанные с ними шаблоны

Если хостер позволяет использовать git, то для установки заходим в каталог с расширениями (extentions) и скачиваем последние версии расширений:

git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/PageForms.git

git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/PageSchemas.git

Затем подключаем их в LocalSettings.php:

wfLoadExtension( 'PageForms' );
require_once "$IP/extensions/PageSchemas/PageSchemas.php";
$wgGroupPermissions['user']['generatepages'] = true;

Последний параметр позволяет всем зарегистрированным участникам создавать страницы с помощью схем. Иначе это могут делать только члены группы sysop.

Служебные страницы

  • Special:Properties -- Все семантические свойства. Свойства - именованные ссылки с одних страниц на другие
  • Special:Browse -- страница поиска
  • Special:Ask -- страница запросов
  • Special:CreateClass -- создание свойств, шаблона, формы и категории для одного класса
  • Свойство:Has processing error -- список свойств с ошибкой
  • &action=editschema -- создание схемы (форма+шаблон) для категории происходит со страницы категории, где в меню появляется пункт "Создать схему"
  • Special:SemanticMediaWiki -- страница для администраторов вики: обновление БД, переиндексация и т.п.


Изменение служебных сообщений

Как и все остальные служебные сообщения движка MediaWiki, служебные сообщения Semantic MediaWiki хранятся в пространстве имён MediaWiki и начинаются с префикса smw. Таким образом указав этот префикс в фильтре на странице перечня всех служебный сообщений (Служебная:Системные_сообщения или ) получим список сообщений Semantic MediaWiki.

Например сообщение о продолжении списка запроса находится на странице MediaWiki:Smw_iq_moreresults и по умолчанию содержит текст: "… следующие результаты". Изменив содержимое этой станицы, мы изменим и сообщение, выдаваемое системой. Кэш, как всегда может хранить ещё некоторое время предыдущее значение.

А сообщения MediaWiki:Smw-editpage-annotation-enabled и MediaWiki:Smw-editpage-annotation-disabled появляются на страницах редактирования. Удалив текст на этих страницах мы сделаем страницу более компактной.

Типы данных

Тип данных указывается на странице описания свойства служебным свойством "Имеет тип". Синтаксис такой же как для обычного свойства. Пример:

Это свойство типа [[Имеет тип::Текст]].

Тип может быть указан как на языке вики (по-русски), так и по-английски. Перечень типов:

  • Страница (Page)
  • Строка (String)
  • Текст (Text)
  • Код (Code)
  • Boolean
  • Число (Number)
  • Geographic coordinates
  • Temperature
  • Дата (Date)
  • Email
  • URL
  • Annotation URI
  • Telephone number
  • Record
  • Quantity


Волшебные слова

С помощью волшебных слов __NOFACTBOX__ и __SHOWFACTBOX__ можно отключить или включить внизу страницы информацию об использовании на этой странице семантических свойств. Информация суммируется в таблице "Факты".

Примеры

  • Показывает население в Берлине, считывая однажды определённое свойство в какой-либо статье.
В Берлине проживает [[#show:Berlin|?has population]] человек.

Смотреть также:


Работа над ошибками

Если после установки или обновления Semantic MediaWiki возникли ошибки при обращении к базе данных, то стоит зайти на страницу административную страницу Special:SemanticMediaWiki и в разделе "Установка и обновление базы данных" нажать кнопку "Инициализировать или обновить таблицы".

Полезные ссылки

Пользователю:

Администратору: