Semantic MediaWiki

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Semantic MediaWiki
SMW Logo.SVG
Тип розширення MediaWikid[1]
Автор(и) Денні Врандечіч[2] і Markus Krötzschd[2]
Розробники Університет Карлсруе і віртуальна спільнота[3]
Стабільний випуск 1.9.0
Репозиторій github.com/SemanticMediaWiki/SemanticMediaWiki
Операційна система кросплатформне ПЗ
Написано на PHP[4] і JavaScript[4]
Ліцензія GNU General Public License, version 2.0 or laterd[5][6]
Вебсайт github.com/SemanticMediaWiki/SemanticMediaWiki

CMNS: Semantic MediaWiki у Вікісховищі

Semantic MediaWiki — це розширення для вікі-рушія MediaWiki, яке дозволяє користувачам додавати семантичні анотації до вікі-сторінок, використовуючи додаткові елементи вікі-розмітки, перетворюючи MediaWiki на семантичну вікі. Semantic MediaWiki також надає інструменти для обробки даних, отриманих з цих анотацій[7].

Основні компоненти Semantic MediaWiki[ред. | ред. код]

Semantic MediaWiki призначена для того, щоб вирішувати проблеми традиційних вікі-систем і давати користувачам можливість працювати з типізованими структурованими даними. Цій меті в Semantic MediaWiki служать категорії, семантичні властивості і запити. За їх допомогою можна, наприклад, прив'язати до вікі-статей, присвячених містам, інформацію про їх населення, а потім автоматично сформувати список міст-мільйонерів, відсортований за зменшенням чисельності населення. Використовувані для структурування традиційної MediaWiki категорії також можуть використовуватися в запитах.

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

Семантичні властивості[ред. | ред. код]

Для прив'язування даних до вікі-сторінок використовуються так звані семантичні властивості. Кожна властивість має тип, назву і значення, а також вікі-сторінку в спеціальному просторі назв. Ця сторінка використовується для того, щоб задавати тип властивості, визначати її місце в ієрархії властивостей, а також документувати те, як її слід використовувати. У текст вікі-сторінки семантична властивість вставляється у форматі [[назва::значення]]. Наприклад, якщо потрібно додати на вікі-сторінку про Леонардо да Вінчі інформацію про те, що він був італійцем, достатньо додати в текст статті про нього конструкцію [[національність::Італія]].

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

Вбудовані запити[ред. | ред. код]

Формати виведення запитів

Мова запитів SMW-QL дозволяє, по-перше фільтрувати сторінки за заданими критеріями, і по-друге, виводити як результати запиту тільки цікаву для користувача інформацію, а не весь текст вікі-сторінки.

Запити SMW-QL найчастіше вбудовуються в код вікі-сторінки в такій формі:

{{#ask:Критерії вибору сторінок
 |?Запитувана властивість
 |решта параметрів
}}

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

{{#ask:[[Категорія:Місто]] [[Населення::>1000000]]
 |?Ім'я мера
 |format=broadtable
}}

Докладний розгляд мови SMW-QL, зокрема її опис у формі БНФ, є в роботах авторів[8] і сторонніх дослідників.[9]

Формати виведення даних[ред. | ред. код]

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

Логічне виведення і зв'язок з Semantic Web[ред. | ред. код]

Назва Semantic MediaWiki має мало спільного з семантикою в лінгвістичному розумінні цього слова, а вказує на те, що цей програмний продукт пов'язаний з семантичної павутиною. Зокрема, дані, що задаються семантичними властивостями, можуть бути експортовані у формат RDF. Типи даних SMW, в цьому випадку, перетворюються на відповідні типи даних з XML Schema, а унікальні ідентифікатори (URL) формуються шляхом приєднання суфіксів до URL вікі. Також є можливість явно вказати, які словники (OWL-онтології) слід використовувати під час експорту тих чи інших семантичних властивостей.

Типово значення семантичних властивостей зберігаються в додаткових таблицях бази даних MediaWiki, проте, починаючи з версії 1.6.0, для цієї мети можна також використовувати RDF-сховище[en] (англ. triplestore). Як основне сховище використовується 4Store, планується також підтримувати Virtuoso[en]. У порівнянні з традиційним способом зберігання, робота з RDF-сховищем дає такі переваги:

  • з'являється можливість більш гнучко контролювати навантаження,
  • стає можливим взаємодіяти з даними вікі за допомогою мови SPARQL,
  • стає можливим використовувати рушії логічного виведення з RDF-даних.

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

Семантичні розширення[ред. | ред. код]

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

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

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

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

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

Застосування Semantic MediaWiki[ред. | ред. код]

Semantic MediaWiki набула поширення на вікі-майданчиках, що вимагають гнучкого і зручного використання зі структурованими даними. Відомими впровадженнями є вікі спільноти Semantic Web (semanticweb.org), офіційний портал інституту AIFB Технологічного інституту Карлсруе, вікі проєкту data.gov[12][13], довідник ТХАБ.РФ, енциклопедії Летописи.ру і енциклопедія МІФІ. Semantic MediaWiki може бути включена за запитом у популярній вікі-фермі Вікіа[14], а у фермі Referata вона включена за замовчуванням.[15] Відомий проект документування WWW як платформи webplatform.org також активно використовує SMW.

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

Від самого початку Semantic MediaWiki була задумана для використання у Вікіпедії.[8][16] В даний час проект фонду Вікімедіа «Вікідані» значною мірою спирається на Semantic MediaWiki[17].

Спільнота і події[ред. | ред. код]

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

Раз на пів року проводиться конференція SMWCon, яка об'єднує розробників Semantic MediaWiki і тих, хто використовує це розширення у своїх проектах. Навесні конференція проходить у Північній Америці, а восени — в Європі. Зазвичай програма конференції складається з навчальних семінарів, доповідей розробників і власників семантичних вікі і круглих столів, на яких формуються плани щодо подальшої розробки програми.

Останнім часом SMWCon розширила рамки — приймаються доповіді про всі семантичні вікі-рушії.

Примітки[ред. | ред. код]

  1. а б Mediawiki.org — 2004.
  2. а б https://www.semantic-mediawiki.org/wiki/Help:SMW_Project
  3. а б https://github.com/SemanticMediaWiki/SemanticMediaWiki/graphs/contributors
  4. а б The smw Open Source Project on Open Hub: Languages Page — 2006.
  5. https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/COPYING
  6. The smw Open Source Project on Open Hub: Licenses Page — 2006.
  7. Introduction to Semantic MediaWiki (en). semantic-mediawiki.org. Архів оригіналу за 2012-07-08. Процитовано 2011-01-12. 
  8. а б 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.
  9. 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.
  10. Category:Semantic MediaWiki extensions (en). Архів оригіналу за 2012-07-08. Процитовано 2011-12-21. 
  11. Help:SMW extensions (en). Архів оригіналу за 2012-07-08. Процитовано 2011-12-21. 
  12. Data.gov Wiki — вікі проєкту data.gov(англ.)
  13. 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.
  14. Help:Semantic MediaWiki (en). Архів оригіналу за 2012-07-08. Процитовано 2012-01-08. 
  15. Jennifer Zaino (2008-12-01). Get Your MediaWiki Hosting Here (en). semanticweb.com. Архів оригіналу за 2012-01-01. Процитовано 2012-01-01. 
  16. Markus Krötzsch, Denny Vrandecic, Max Völkel Wikipedia and the Semantic Web - The Missing Links(англ.) // Proceedings of Wikimania 2005. — 2005. Архівовано з першоджерела 6 лютого 2007.
  17. Meta contributors. WikiData WMDE (en). Meta, discussion about Wikimedia projects. Архів оригіналу за 2012-07-08. Процитовано 2011-12-20. 

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]