Русская Википедия:Semantic MediaWiki

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы Semantic MediaWiki — расширение для вики-движка MediaWiki, позволяющее пользователям добавлять семантические аннотации к вики-страницам, используя дополнительные элементы вики-разметки, превращая MediaWiki в семантическую вики. Также предоставляет инструменты для обработки данных, полученных из этих аннотаций[1], и даёт пользователям возможность работать с типизированными структурированными данными.

Для структурирования информации используются механизмы категорий, семантических свойств и запросов. С их помощью можно, например, привязать к вики-статьям, посвящённым городам, информацию об их населении, а затем автоматически сформировать список городов-миллионеров, отсортированных по убыванию численности населения. Используемые для структурирования традиционной MediaWiki категории также могут участвовать в запросах.

Основа подхода Semantic MediaWiki заключается в дополнении вики-разметки новыми элементами. Семантические свойства позволяют именовать гиперссылки между страницами и привязывать к страницам типизированные данные. Встроенные объекты позволяют добавлять структурированную информацию, не создавая дополнительных страниц. Встроенные запросы и «концепты» помогают осуществлять доступ к данным, вооружая пользователя мощным языком запросов. Каждую из этих возможностей стоит рассмотреть отдельно.

Семантические свойства

Для привязывания данных к вики-страницам используются так называемые семантические свойства. Каждое свойство имеет тип, название и значение и у него есть вики-страница в специальном пространстве имён. Эта страница используется для того, чтобы задавать тип свойства, определять его место в иерархии свойств, а также документировать то, как его необходимо использовать. В текст вики-страницы семантическое свойство вставляется в формате [[название::значение]]. К примеру, если требуется добавить на вики-страничку о Леонардо да Винчи информацию о том, что он являлся итальянцем, достаточно добавить в текст статьи о нём конструкцию [[национальность::Италия]].

Свойства могут быть различных типов, а типы определяют порядок операций, которые могут производиться со значением свойств, например, сортировку и сравнение. Свойства типа Страница похожи на именованные гиперссылки между вики-статьями, и поэтому в ранних версиях SMW их выделяли в отдельную группу. Также SMW поддерживает свойства типа Число, Строка, Дата, Географические координаты и др. (всего 15 типов).

Встроенные запросы

Файл:Semantic MediaWiki result format.png
Форматы вывода запросов

Язык запросов SMW-QL позволяет, во-первых, фильтровать страницы по заданным критериям, и во-вторых, выводить в качестве результатов запроса только интересующую пользователя информацию, а не весь текст вики-страницы[2][3].

Запросы на SMW-QL чаще всего встраиваются в код вики-страницы в следующей форме:

{{#ask:Критерии выбора страниц
 |?Запрашиваемое свойство
 |прочие параметры
}}

В секции критериев выбора страниц указываются значения семантических свойств и категорий, которыми обладают интересующие нас страницы. При этом для указания этих критериев используется та же форма записи, что и для задания свойств и категорий: [[свойство::значение свойства]] [[Категория:название категории]]. Пример запроса, выбирающего города с населением более миллиона человек и выводящего имена их мэров в виде таблицы:

{{#ask:[[Категория:Город]] [[Население::>1000000]]
 |?Имя мэра
 |format=broadtable
}}

По умолчанию результатом запроса в Semantic MediaWiki является таблица или список. С помощью форматов вывода (result formats) становится возможным представлять результаты запросов в виде диаграмм, графиков, интерактивных карт и пр. Комбинируя шаблоны MediaWiki и SMW-запросы с различными форматами вывода, можно создавать сложные динамические веб-сайты с согласованным содержимым.

Логический вывод и связь с Semantic Web

Название Semantic MediaWiki имеет мало общего с семантикой в лингвистическом понимании этого слова, а указывает на то, что этот программный продукт связан с семантической паутиной. В частности, данные, задаваемые семантическими свойствами, могут быть экспортированы в формате RDF. Типы данных SMW, в этом случае, преобразуются в соответствующие типы данных из XML Schema, а уникальные идентификаторы (URL) формируются путём присоединения суффиксов к URL вики. Также имеется возможность явно указать, какие словари (OWL-онтологии) следует использовать при экспорте тех или иных семантических свойств.

По умолчанию значения семантических свойств хранятся в дополнительных таблицах базы данных MediaWiki, однако, начиная с версии 1.6.0, для этой цели можно также использовать RDF-хранилище (Шаблон:Lang-en). В качестве основного хранилища используется 4Store, планируется также поддерживать Virtuoso. В сравнении с традиционным способом хранения, работа с RDF-хранилищем даёт следующие преимущества:

  • появляется возможность более гибко контролировать нагрузку,
  • становится возможным взаимодействовать с данными вики посредством языка SPARQL,
  • становится возможным использовать движки логического вывода по RDF-данным.

В Semantic MediaWiki используются некоторые возможности автоматического логического вывода новых фактов из уже имеющихся данных. Поддерживается вывод по иерархии семантических свойств и вывод по иерархии категорий. Более совершенные возможности логического вывода становятся возможными при установке расширения Halo и при использовании RDF-хранилища.

Семантические расширения

Расширение вызвало большой интерес у сообщества разработчиков MediaWiki, о чём свидетельствует появление целого семейства плагинов, зависящих от SMW.[4][5] К числу наиболее популярных относятся Semantic Forms, Semantic Result Formats, Semantic Drilldown, Halo. Расширения позволяют добавлять в SMW новые форматы ввода и вывода данных, улучшают поддержку логического вывода, позволяют использовать семантическую информацию для различных целей: голосований, идентификации пользователей, разграничения доступа.

Одно из наиболее популярных расширений Semantic Forms позволяет создавать HTML-формы, с помощью которых заполняются шаблоны MediaWiki. Параметры этих шаблонов становятся значениями семантических свойств, а страница, включающая в себя вызов такого шаблона, становится доступной для запросов. В числе прочего Semantic Forms обеспечивает возможность автодополнения на основе свойств страниц, ввод данных с помощью элементов ввода, специфичных для типов данных: выпадающих списков, радиокнопок, карт, календарей.

Расширение Semantic Result Formats добавляет возможность выводить результаты семантических запросов в различных форматах, а также визуализировать их «на лету». Таким образом становится возможным располагать темпоральные данные на временной оси и календаре, геоданные — на картах (при включённом расширении Semantic Maps), создавать облака тегов, графы связей вики-статей, интерактивные графики для численных данных.

Система доступна для скачивания как отдельно, так и в составе пакета Semantic Bundle, включающего в себя саму Semantic MediaWiki и семантические расширения, прошедшие интеграционное тестирование. Коммерческие компании, использующие MediaWiki как платформу, также часто включают SMW в свои сборки.

Semantic MediaWiki является ключевым компонентом веб-платформы DataWiki (в прошлом — Enterprise Semantic MediaWiki+), разрабатываемой компанией DIQA-PM и предназначенной для установки в организациях. Этот программный продукт поставляется как по бесплатной лицензии для сообществ, так и на возмездной основе.

Применение

Semantic MediaWiki получила распространение на вики-площадках, требующих гибкого и удобного обращения со структурированными данными. Известными внедрениями является вики сообщества Semantic Web (semanticweb.org), официальный портал института AIFB Технологического института Карлсруэ, вики проекта data.gov[6][7]. Примерами русскоязычного внедрения являются справочник ТХАБ.РФ, энциклопедии «Летописи.ру» и энциклопедия МИФИ. Semantic MediaWiki может быть включена по запросу в популярной вики-ферме Викия[8], а в ферме Referata она включена по умолчанию[9]. Известный проект документирования WWW как платформы webplatform.org также активно использует Semantic MediaWiki.

Изначально Semantic MediaWiki задумывалась для использования в Википедии[2][10], но с появлением Викиданных, в значительной степени опирающихся на опыт Semantic MediaWiki, вопрос об использовании для Semantic MediaWiki для проектов Викимедиа утратил актуальность[11].

Сообщество и события

Сообщества пользователей и разработчиков Semantic MediaWiki общаются в дискуссионных группах semediawiki-user и semediawiki-devel соответственно.

Раз в полгода проводится конференция SMWCon, объединяющая разработчиков и пользователей Semantic MediaWiki. Весной конференция проходит в Северной Америке, а осенью — в Европе. Обычно программа конференции состоит из обучающих семинаров, докладов разработчиков и владельцев семантических вики и круглых столов, на которых формируются планы по дальнейшей разработке программы. Со временем SMWCon расширила рамки — принимаются доклады по всем семантическим вики-движкам.

Примечания

Шаблон:Примечания

Ссылки

Внешние ссылки

  1. Ошибка цитирования Неверный тег <ref>; для сносок smw_official_wiki_introduction_en не указан текст
  2. 2,0 2,1 Ошибка цитирования Неверный тег <ref>; для сносок Volkel2006 не указан текст
  3. Ошибка цитирования Неверный тег <ref>; для сносок jiebaoformalstudy2008 не указан текст
  4. Ошибка цитирования Неверный тег <ref>; для сносок semextensionscategory не указан текст
  5. Ошибка цитирования Неверный тег <ref>; для сносок semextensionssmworg не указан текст
  6. Ошибка цитирования Неверный тег <ref>; для сносок datagov не указан текст
  7. Ошибка цитирования Неверный тег <ref>; для сносок datagovwikiaaai2010 не указан текст
  8. Ошибка цитирования Неверный тег <ref>; для сносок smwinwikiapage не указан текст
  9. Ошибка цитирования Неверный тег <ref>; для сносок semwebcom2008 не указан текст
  10. Ошибка цитирования Неверный тег <ref>; для сносок kroetzsch05wikipediaand не указан текст
  11. Ошибка цитирования Неверный тег <ref>; для сносок wikidatavision не указан текст

Шаблон:Выбор языка