Семантична вікі — вебзастосунок, що використовує машинооброблювані дані зі суворо визначеною семантикою для того, щоб розширити функціональність вікі-системи.[1][2]
Звичайні вікі заповнюються структурованим текстом і нетипізованими гіперпосиланнями (такими, як у цій статті). Семантичні вікі дозволяють вказувати тип посилань між статтями, тип даних всередині статей, а також інформацію про сторінки (метадані).
Причиною появи потреби в рушіях семантичних вікі стала низка недоліків, властивих традиційним вікі-системам. Ці проблеми особливо яскраво проявляються зі зростанням кількості статей. Зазвичай зазначають такі недоліки:[3][4]
Узгодженість вмісту. Через часте дублювання даних у вікі, одна й та сама інформація може міститися на кількох різних сторінках. Змінюючи цю інформацію на одній вікі-сторінці, користувачі повинні стежити за тим, щоб дані були оновлені також і на всіх інших сторінках. Ця проблема добре ілюструється таким прикладом[5]: нехай була вікі-стаття під назвою Плутон. На ній Плутон був позначений як планета. 2006 року, коли Міжнародний астрономічний союз ухвалив рішення про позбавлення Плутона статусу планети, один з учасників виправив сторінку зі статтею про Плутон. Однак, раніше Плутон фігурував у статусі планети в низці інших статей: Планета, Планети сонячної системи, Список планет за розміром. Очевидно, що завдання узгодження всіх цих даних лежить на вікі-спільноті.
Доступ до знань, наявних у вікі. Великі вікі-сайти містять тисячі сторінок. Виконання складних пошукових запитів і порівняння інформації, отриманої з різних сторінок — це завдання, яке на традиційних вікі-системах є досить трудомістким. Приклад: у вікі може бути інформація про всі великі гори планети. Однак, для того, щоб сформувати список гір, упорядкований за висотою, учасник спільноти повинен виконати багато рутинної роботи, ризикуючи при цьому помилитися або пропустити деякі гори.
Повторне використання знань вікі. Сьогодні деякі настільні застосунки використовують інформацію з Вікіпедії, наприклад, плеєр Amarok виводить статті про виконавця під час відтворення музичної композиції. Однак таке використання носить обмежений характер. Програма здатна тільки показати текст статті Вікіпедії в деякому контексті, і не може виконати додаткових кроків (наприклад: знайти всі альбоми виконавця). Семантичні вікі дозволяють повною мірою скористатися інформацією, що зберігається у вікі-системі.
Використання категорій, тегів і просторів імен. Традиційні вікі використовують плоскі системи класифікації (теги), або класифікатори, організовані в таксономію. Неможливість використання типізованих властивостей породжує величезну кількість тегів або категорій. Це добре видно на прикладі Вікіпедії: наприклад, категорію «Народились 20 квітня» розумно замінити атрибутом «Дата народження».
Семантичні вікі діляться на дві великі категорії:
Для першого типу характерна розширена вікірозмітка, в той час як вікі-системи другого типу мають формовий інтерфейс уведення даних, окремий відносно вмісту статей. Однак для обох цих типів прийнято виділяти такі відмінні риси[7]:
Посилання між статтями в семантичних вікі служать не тільки для навігації, а несуть в собі інформацію про тип зв'язку. Наприклад, в Semantic MediaWiki стаття про Лондон може містити таку розмітку:
[[capital of::England]]. Це твердження означає, що Лондон є столицею Англії. В даному випадку типом посилання буде «столиця» (capital of), а значенням посилання «Англія» (England).
Для вікі, в яких уведення ґрунтується на формах, часто існує подібна функціональність. Наприклад вікі-система KiWi дозволяє пов'язувати структуровані дані за допомогою засобів RDF, а потім співвідносити RDF-терміни з текстом у статті[8].
Іноді семантичні анотації не вставляються на вікі-сторінки явно, а додаються автоматично. Для цього в таких вікі, як ACEWiki, існує підтримка контрольованої природної мови (зазвичай англійської).
Багато семантичних вікі дозволяють змінювати способи подання вмісту сторінок за допомогою семантичних анотацій. Контекстне подання включає показ статей, близьких до даної, показ інформації, яка може бути виведена з бази знань (наприклад, зображення ієрархії класів, до яких відноситься об'єкт, описуваний у вікі-статті).
Тоді як у традиційних вікі-системах все, що можливо зробити з посиланням — це перейти за ним, багато семантичних вікі дозволяють також отримати інформацію про зв'язок, який подається посиланням. Дана можливість дозволяє реалізовувати в семантичних вікі нові способи навігації: наприклад, побачивши в статті Лондон посилання «є столицею::Англія» користувач може подивитися на інші сторінки в вікі, пов'язані посиланням «є столицею».
Семантичні вікі підтримують можливість побудови багатокритеріальних запитів формальною мовою. Іноді як мова запитів вибирається SPARQL, що входить до стандарту Semantic Web . Використовуючи семантичний пошук, можна автоматично будувати списки сторінок за низкою умов. Сторінки завжди будуть актуальними, оскільки будуються автоматично. Крім цього, використання семантичних анотацій дозволяє створювати так званий фасетний пошук, уточнювальний пошук[9]. При цьому пошук складається з двох етапів:
Наприклад, під час пошуку слова «Клінтон» користувач спочатку вводить запит у пошуковий рядок, а потім за допомогою пошукових фасетів фільтрує результати пошуку: вибирає категорію «Політики» і «час життя» «XX-XXI століття».
Під логічним висновком розуміється добування прихованих, неявних знань з уведених в систему фактів. Логічний висновок будується на визначених заздалегідь правилах висновування і може бути заснований як на структурних алгоритмах, так і на математично обґрунтованих алгоритмах висновування на основі логічних формалізмів.
Багато семантичні вікі зберігають дані у форматах Semantic Web або надають можливість імпорту/експорту в тексти мовами RDF і OWL. Мовою запитів до вікі часто служить SPARQL, що дозволяє поводитися з вікі як зі SPARQL-endpoint'ом.
Вперше термін «семантична вікі» був ужитий Енді Дінглеем (Andy Dingley) в телеконференції Usenet «comp.infosystems.www.authoring.site-design»[10]. У науково-технічній літературі перша відома згадка терміна пов'язана зі статтею австрійського вченого Лео Зауермана (Leo Sauermann) «Gnowsis — Використання технологій семантичної павутини для створення семантичної стільниці[ru]»[11]. До цього моменту вже існували структуровані вікі, такі як TWiki.
Першим рушієм семантичної вікі був Platypus Wiki[12]. У ранніх семантичних вікі (таких як Platypus Wiki і Rhizome Wiki[13]) акцент було зміщено на надання коштів для редагування RDF-вмісту у вікі-подібному середовищі[4]. RDF-дані подавалися в цих ранніх вікі-системах як вільно редагований текст, ніяк не пов'язаний з неструктурованих вмістом у вікі-розмітці. Тому, в Platypus і Rhizome був можливий імпорт RDF-даних, однак просунуті можливості на зразок перевірки несуперечності і класифікації були недоступні.
Трохи пізніше з'явилися нові рушії семантичних вікі. Частина з них пішла шляхом чіткого поділу структурованої і неструктурованої інформації, наприклад Ikewiki[14][15] і OntoWiki[en][16], але став застосовуватися й інший підхід — включення семантичних анотацій у вікі-розмітку, наприклад, у WikiSAR[17] і Semantic MediaWiki[18][19].
Один з найбільш розвинених на сьогодні рушіїв семантичних вікі Semantic MediaWiki спочатку призначався для використання у Вікіпедії. Проєкт семантичної Вікіпедії (Semantic Wikipedia) був покликаний забезпечити машинну обробку Вікіпедії з мінімальними зусиллями з боку користувачів. У однойменній статті[18] описується розробка розширення для рушія Mediawiki, що дозволяє вводити й обробляти у вікі структуровану інформацію. Проєкт не був включений до програми розвитку Вікіпедії, але вижив і перетворився на розширення Semantic MediaWiki. Нова ініціатива Фонду Вікімедіа Вікідані є прямим спадкоємцем цього проєкту.
Назва | Вебсайт | Опис | Мова | Розробник | Ліцензія |
---|---|---|---|---|---|
Semantic MediaWiki | http://semantic-mediawiki.org | Реалізована у вигляді плагіна до вікі-рушія MediaWiki. Додає нові елементи вікі-розмітки, що дозволяють розмічати сторінки типізованими властивостями і здійснювати запити до цих даних за допомогою структурованих запитів | PHP | Інститут AIFB у Технологічному інституті Карлсруе (KIT) | GNU GPL v.2 |
Data Wiki (в минулому Enterprise Semantic MediaWiki Plus) | http://diqa-pm.com/de/DataWiki | Корпоративна система, яка заснована на Semantic MediaWiki і успадкувала її можливості. Має додаткову функціональність для роботи з онтологіями, інтеграції з Microsoft Office і розмежування доступу. | PHP | Ontoprise GmbH, потім DIQA-PM | GPL/комерційна |
OntoWiki[ru] | http://ontowiki.net | Колаборативний RDF-редактор з формовим уведенням даних. Використовується як інструмент для підтримки життєвого циклу пов'язаних даних[en]. Є мобільна версія, призначена для збору даних за відсутності Інтернету з подальшою синхронізацією зі сервером. | PHP | GPL | |
AceWiki | http://attempto.ifi.uzh.ch/acewiki/ | Використовує підмножину англійської мови (контрольована англійська[ru]) для подання у вікі структурованої інформації | Java | GNU LGPL | |
KnowWE | https://web.archive.org/web/20111129111848/http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/knowwe/ | Java | GNU LGPL | ||
TikiWiki CMS/Groupware | http://info.tiki.org/ | PHP | GNU LGPL | ||
Information Workbench | http://www.fluidops.com/information-workbench/ | Java | Fluid Operations[en] | GNU LGPL/комерційна | |
ArtificialMemory[20] | http://www.artificialmemory.net/ | С# | Lars Ludwig | ||
TWiki | http://twiki.org/ | Використовує форми для додавання структурованих даних, дозволяє робити запити до даних і фільтрувати пошукову видачу | Perl | GNU GPL | |
Knoodl | http://knoodl.com | ||||
Callimachus | http://callimachusproject.org | Платформа для побудови застосунків зі зв'язаними даними, орієнтована на повторне використання даних | Java | 3 Round Stones, Talis, Cleveland Clinic | Apache 2.0 |
WikiDSmart для Confluence[en] | https://wikidsmart.zagile.org | Аддон для корпоративної вікі Confluence. Використовує SPARQL як мову запитів і орієнтований на тісну інтеграцію з Jira | Java | zAgile | |