18 September 2007
Astoria - невже Semantic Web?
На останній UNETA докладач по Astortia зробив припущення що Astoria може використовуватись для будування Semantic Web.
Отже спробую викласти своє бачення...
Semantic Web
По-перше потрібно з'ясувати що таке Semantic Web. Коротко, це технологія яка дозволяє об'єднувати інформацію яка призначена для людини і для робота. Головний акцент робиться саме на обробку інформації роботом.
Наприклад ми маємо сторінку про велосипед, оглянувши сторінку ми можемо виділити інформацію про технічні характеристики, ціну, тощо. А тепер спробуємо те саме зробити з точки зору робота. Запросивши сторінку з сервера, він отримує HTML. Уся інформація присутня, але нормалізувати її достатньо складно. Адже робот не може відрізнити що <span>Deor</span> це виробник переднього перемикача, а <span>Kenda<span> - покришок.
Що потрібно зробити для того що робот "розрізняв" інформацію? Правильно! Винайти шлях вказати семантичне значення інформації.
Один з можливих шляхів це анотування інформації. Наприклад якщо змінити тег на <span class="rear derailer">Deor</span> то тепер будь кому зрозуміло що ця інформація про задній перемикач швидкостей, саме значення "rear derailer" дозволяє розрізнити цей тег з проміж багатьох інших, адже тепер у робота є інформація про семантичне значення цього тега (наведена реалізація називається - мікроформати).
У мікроформатів є один великий суттєвий недолік. Rear derailer для велосипеда це одне, а для гелікоптера інше (взагалі то я не впевнен що в гелікоптера таке є). Тобто словники в таких анотаціях занадто часто викликають колізії. Рішенням для цього є використання повністю унікальних ідентифікаторів. Так для велосипедів можна використовувати urn:bikes:rear-derailer, а для гелікоптерів urn:helicopters:rear-derailer.
Підсумую. SemanticWeb це технологія(чи технології) які дозволяють зв'язувати семантичну інформацію про інформацію з інформацією. Метадані інформації.
RDF
Взагалі то існують декілька міфів...
Перший з них що RDF це формат Semantic Web. Реально RDF (до речі Resource Description Framework) це просто універсальний формат для представлення інформації. Йому все одно яку інформацію зберігати.
А другий це те що RDF це XML. XML це один з можливих варіантів. Є ще N3, Turtle і можливо вже є або з'являться інші.
Отже як RDF позиціонується у світі Semantic Web? Все просто, RDF використовується як формат який дозволяє об'єднувати інформацію і метадані.
Astoria
Останні релізи проекту Astoria підтримують REST-подібні сервіси в форматі RDF/XML. Схоже саме з цього і вийшло припущення про підтримку Semantic Web.
Найбільша проблема в тому що Astoria використовує RDF тільки для збереження інформації. Astoria не дозволяє керувати метаінформацією. Отже ми не маємо можливості наприклад сказати що Rear-derailer, це саме urn:bikes:rear-derailer. Ми не можемо об'єднувати словники.
Наступна проблема це те що результат достатньо складно використовувати в анотуванні. Це загальна проблема SemanticWeb, та все одно відсутність навіть натяків, наводить на думки...
Ну і третя, підтримується тільки RDF/XML. Хоча це не суттєво.
Підсумок
Astoria - це проект який дозволяє публікувати REST-подібні дата сервіси в веб. Але він не має жодного відношення до Semantic Web.
Ресурси
RDF на W3C - http://www.w3.org/RDF/
RDF на Wikipedia - http://en.wikipedia.org/wiki/Resource_Description_Framework
Semantic Web на W3C - http://www.w3.org/2001/sw/
Semantic Web на Wikipedia - http://en.wikipedia.org/wiki/Semantic_Web
Microformats - http://microformats.org/
Microformats на Wikipedia - http://en.wikipedia.org/wiki/Microformat
Microsoft Codename "Astoria" - http://www.microsoft.com/downloads/details.aspx?FamilyId=0FA1413C-CB55-4577-960E-0F3491847F58&displaylang=en
Вчу українську, багато працюю. Цікавлюсь моделюванням небезпек. Більшість часу витрачаю на .Net.