Semantic MediaWiki

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
Логотип Semantic MediaWiki
Semantic MediaWiki
Язык программирования:
PHP
Операционная система:
Кроссплатформенное ПО



Разработчик:
Технологический институт Карлсруэ



Текущая версия:
1.8.0
Дата выхода текущей версии:
2012-12-02



Лицензия:
GPL

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

Основные компоненты Semantic MediaWiki[править | править код]

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

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

Семантические свойства[править | править код]

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

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

Встроенные запросы[править | править код]

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

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

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

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

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

Подробное рассмотрение языка SMW-QL, включая его описание в форме БНФ доступно в работах авторов [2] и сторонних исследователей.[3]

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

По умолчанию результатом запроса в 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.[4][5] К числу наиболее популярных относятся Semantic Forms, Semantic Result Formats, Semantic Drilldown, Halo. Расширения позволяют добавлять в SMW новые форматы ввода и вывода данных, улучшают поддержку логического вывода, позволяют использовать семантическую информацию для различных целей: голосований, идентификации пользователей, разграничения доступа.

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

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

SMW доступна для скачивания как отдельно, так и в составе пакетов Semantic Bundle и SMW+. Пакеты включают в себя саму SMW и семантические расширения, прошедшие интеграционное тестирование.

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

Применение Semantic MediaWiki[править | править код]

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

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

С самого начала Semantic MediaWiki задумывалась для использования в Википедии.[2][10] В настоящее время проект фонда Викимедиа «Викиданные» (Wikidata) в значительной степени опирается на Semantic MediaWiki[11].

Сообщество и события[править | править код]

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

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

Положение системы сегодня[править | править код]

На июнь 2007 года Semantic MediaWiki ещё не была установлена в различных языковых разделах Википедии, хотя такая установка планируется.

С мая 2007 года SMW функционирует на сервере wiki.traditio.ru.

Cм. также[править | править код]


Ссылки[править | править код]

Примечания[править | править код]

  1. "Introduction to Semantic MediaWiki". semantic-mediawiki.org. Archived from the original on 2012-07-08.  Unknown parameter |lang= ignored (help); Unknown parameter |description= ignored (help)
  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: 2006. — С. 585-594.
  3. Jie Bao, Li Ding, James A Hendler «Knowledge Representation and Query in Semantic MediaWiki: A Formal Study» // Tetherless World Constellation (RPI) Technical Report. — 2008.
  4. "Category:Semantic MediaWiki extensions". Archived from the original on 2012-07-08. Retrieved 2011-12-21.  Unknown parameter |description= ignored (help); Unknown parameter |lang= ignored (help)
  5. "Help:SMW extensions". Archived from the original on 2012-07-08. Retrieved 2011-12-21.  Unknown parameter |description= ignored (help); Unknown parameter |lang= ignored (help)
  6. Data.gov Wiki — вики проекта data.gov(англ.)
  7. 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.
  8. "Help:Semantic MediaWiki". Archived from the original on 2012-07-08.  Unknown parameter |lang= ignored (help); Unknown parameter |description= ignored (help)
  9. Jennifer Zaino (1 декабря 2008). "Get Your MediaWiki Hosting Here". semanticweb.com. Archived from the original on 2012-01-01. Retrieved 2012-01-01.  Unknown parameter |description= ignored (help); Unknown parameter |lang= ignored (help); Check date values in: |date= (help)
  10. Markus Krötzsch, Denny Vrandecic, Max Völkel «Wikipedia and the Semantic Web - The Missing Links» // Proceedings of Wikimania 2005. — 2005.
  11. Meta contributors. "WikiData WMDE". Meta, discussion about Wikimedia projects. Archived from the original on 2012-07-08. Retrieved 2011-12-20.  Unknown parameter |lang= ignored (help)