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

Помічено як: , , ,
 

Коментарі

# demon_xxi said:

Михаил, спасибо за отличный обзор данной темы!

Даже интересно стало со все этим разобраться;)

20 September 07 at 11:22 AM
# Mike Chaliy said:

Дякую, далі буде ще, дотого ж більш практичне.

20 September 07 at 11:31 AM
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.

About Mike Chaliy

Вчу українську, багато працюю. Цікавлюсь моделюванням небезпек. Більшість часу витрачаю на .Net.