Semantic MediaWiki (Semantic MediaWiki)

Перейти к навигации Перейти к поиску
Semantic MediaWiki
Логотип программы Semantic MediaWiki
Тип Расширение
Авторы Денни Врандечич[4] и Маркус Крёч[4]
Разработчик Технологический институт Карлсруэ
Написана на PHP
Операционная система Кроссплатформенное ПО
Первый выпуск 5 августа 2005[1][2]
Последняя версия
Репозиторий github.com/SemanticMedia…
Лицензия GPL
Сайт semantic-mediawiki.org/w…
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

[править | править код]

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

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

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

[править | править код]
Форматы вывода запросов

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

Запросы на 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-хранилище (англ. triplestore). В качестве основного хранилища используется 4Store, планируется также поддерживать Virtuoso. В сравнении с традиционным способом хранения, работа с RDF-хранилищем даёт следующие преимущества:

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

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

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

[править | править код]

Расширение вызвало большой интерес у сообщества разработчиков MediaWiki, о чём свидетельствует появление целого семейства плагинов, зависящих от SMW.[8][9] К числу наиболее популярных относятся 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[10][11]. Примерами русскоязычного внедрения являются справочник ТХАБ.РФ, энциклопедии «Летописи.ру» и энциклопедия МИФИ. Semantic MediaWiki может быть включена по запросу в популярной вики-ферме Викия[12], а в ферме Referata она включена по умолчанию[13]. Известный проект документирования WWW как платформы webplatform.org также активно использует Semantic MediaWiki.

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

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

[править | править код]

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

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

Примечания

[править | править код]
  1. Wikipedia and the Semantic Web - The Missing Links
  2. Semantic MediaWiki Version History
  3. SMW 4.2.0 — 2024.
  4. 1 2 https://www.semantic-mediawiki.org/wiki/Help:SMW_Project
  5. Introduction to Semantic MediaWiki (англ.). semantic-mediawiki.org. — страница-введение в Semantic MediaWiki. Дата обращения: 12 января 2011. Архивировано 8 июля 2012 года.
  6. 1 2 Volkel M., Krötzsch M., Vrandecic D., Haller H., Studer R. Semantic Wikipedia (англ.) // Proceedings of the 15th international conference on World Wide Web. — Edinburgh, Scotland: ACM Press, 2006. — P. 585—594. — ISBN 1-59593-323-9. — doi:10.1145/1135777.1135863. Архивировано 31 декабря 2019 года.
  7. Jie Bao, Li Ding, James A Hendler. Knowledge Representation and Query in Semantic MediaWiki: A Formal Study (англ.) // Tetherless World Constellation (RPI) Technical Report. — 2008. Архивировано 27 января 2012 года.
  8. Category:Semantic MediaWiki extensions (англ.). — Категория семантических расширений на mediawiki.org. Дата обращения: 21 декабря 2011. Архивировано 8 июля 2012 года.
  9. Help:SMW extensions (англ.). — Список семантических расширений на официальной сайте SMW. Дата обращения: 21 декабря 2011. Архивировано 8 июля 2012 года.
  10. Data.gov Wiki Архивировано 9 апреля 2011 года. — вики проекта data.gov (англ.)
  11. Li Ding, Dominic DiFranzo, Alvaro Graves, James R. Michaelis ,Xian Li, Deborah L. McGuinness, Jim Hendler. Data-gov Wiki: Towards Linking Government Data (англ.) // Proceedings of the 2010 AAAI Spring Symposium on Linked Data Meets Artificial Intelligence. — 2010. Архивировано 10 июня 2010 года.
  12. Help:Semantic MediaWiki (англ.). — Страница о применении Semantic MediaWiki в ферме Wikia на официальной вики фирмы. Дата обращения: 8 января 2012. Архивировано 8 июля 2012 года.
  13. Jennifer Zaino. Get Your MediaWiki Hosting Here (англ.). semanticweb.com (1 декабря 2008). — Интервью с разработчиком Semantic MediaWiki и Semantic Forms Яроном Кореном о вики-ферме Referata. Дата обращения: 1 января 2012. Архивировано 1 января 2012 года.
  14. Markus Krötzsch, Denny Vrandecic, Max Völkel. Wikipedia and the Semantic Web - The Missing Links (англ.) // Proceedings of Wikimania 2005. — 2005. Архивировано 6 февраля 2007 года.
  15. Meta contributors. WikiData WMDE (англ.). Meta, discussion about Wikimedia projects.. Дата обращения: 20 декабря 2011. Архивировано 8 июля 2012 года.