Semantic MediaWiki


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

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

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

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

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

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