RDF – інструмент для неструктурованих даних. RDF є стандартом W3C

З цієї статті я починаю свій цикл постів «для новачків» де максимально популярно розтлумачу поняття веб 3.0. Згодом усі статті перекочують у віки і будуть «видані» мною у вигляді PDF книги.

Почнемо із коштів, і сьогодні у нас основа основ – RDF.
Resource Description Framework- це розроблена консорціумом W3C модель для опису ресурсів, особливо метаданих про ресурси.

RDF - це мова опису знань. Це не зовсім XML. тобто зовсім не XML, просто синтаксис схожий. RDF містить трійки даних «об'єкт – предикат – суб'єкт». ну приклад «Стовп має Висоту 15м». Ось найпростіший приклад; RDF.:

Імена в RDF бувають двох типів: літерали (просто текст) та URI. URI може бути посиланням на веб-сайт (http://futuri.us) але не обов'язково. В цілому URI це посилання на якийсь об'єкт (не обов'язково він має своє уявлення), наприклад urn:isbn: 5-3180-0093-2. Це посилання на книгуSamba. Керівництво системного адміністратора. Для професіоналівЕда Бруксбенка.Ця книга навряд чи має сторінку, але чітко і ясно, що цей URI вказує на книгу, і ясно на яку. URI є унікальним. Тому дозволяє прив'язувати RDF до якогось єдиного об'єкта.

У цій нотатці я спробую пояснити на пальцях ключові моменти та обґрунтувати переваги моделі RDF.
Більше 10 років концепція Semantic Web, частиною якої RDF розвивалася, була предметом суперечок і обговорень, і сьогодні її все активніше підтримує співтовариство у своїх додатках.

Однак для багатьох все ще зовсім не зрозуміло:

  • Навіщо все це?
  • Як із цим працювати?
  • Що це дасть мені?

Більшість, хоч би мигцем, бачили знаменитий пиріг:

Тут багато специфікацій, технологій, концепцій - аж очі розбігаються... Нижній рівень старий як світ, над верхнім рівнем б'ються академіки, намагаючись знайти просте і універсальне рішення, щоб навчити програми оцінювати, на скільки, можна вірити твердженням, отриманим з мережі. Рядовим розробникам можна поки не турбуватися про це і почекати ще років 5. Хлопці з w3c не покладаючи рук шліфують стандарти трохи вище за середину, деякі вже відшліфувавши, такі як RDF і для них вже написано купа інструментів для всіх основних платформ і мов щоб можна було відразу йти та використовувати. Саме з ними все частіше доводиться стикатися у реальних додатках, насамперед саме з RDF моделлю.
Дуже добре ще розуміти, навіщо потрібні, що дають, і як працювати з онтологіями – але про це не цього разу.

Отже, спробуємо розібратися, що ми отримуємо від використання моделі:

  • Логічний висновок нових фактів
  • Забезпечення семантичного пошуку
  • Гнучкість моделі даних
  • Екстремальна легкість обміну даними між системами

Якщо ви ніколи раніше не вивчали формальну логіку, то поки відкладете в пам'яті, що маючи формально описані факти можна автоматично отримати низку нових фактів, явно не визначених… ця тема заслуговує на окрему увагу, поки її не чіпаємо.

Семантичний пошук, навіщо, адже є гугл?
Так можна ввести і ви отримаєте будь-що тільки набір користувачів. Чому? - тому що Google шукатиме знаходження слова із запиту в тексті документів, і повертатиме документи а не факти.
А якби він зрозумів, що нам потрібні об'єкти «користувач» ресурсу «хабр», а формальні описи цих об'єктів були б доступні для індексування в моделі RDF (наприклад у формі запису RDFa на сторінці, щоб пошукова машина могла б їх проіндексувати) було б отримано набір об'єктів, які ми шукали.
Багато хто заперечує – «я можу бути схожим по парі посилань, зробити ще пару уточнюючих запитів і знайти все ж таки що потрібно, навіщо все це?» - Відповідь - тому що ми не використовуємо паперові картотеки сьогодні, а воліємо вбити в рядок пошуку пару ключових слів, і зрозуміло відразу ж отримати інформацію. На роботу ми чомусь їздимо на машинах, а на конях – бо це зручніше.

На запитання - "Як RDF забезпечує семантичний пошук?" - відповідь: модель RDF забезпечує формальні описи. А там, де є формальні описи, пошуковий агент може шукати факти і знання.

Google сьогодні таке не шукає - навіщо мені треба зараз паритися про це? Насамперед для отримання переваг описаних далі, а по-друге, щоб не «запізнитися» - індустрія у нас така – «be quick or be dead».

Поговоримо більш детально про дві інші переваги, вони набагато простіші для розуміння, як мені здається. Але для початку прояснимо ще пару моментів.

Що таке RDF модель?

Відразу потрібно зрозуміти RDF - це модель, абстрактна, дуже проста, трохи у вакуумі. Просто спрямований граф із кількома доповненнями та застереженнями. А ось записати його можна по-різному, зазвичай вибір падає на один з варіантів: N3, N-Triples, Turtle, RDF/XML, RDFa і специфікацію, що використовується, доведеться вивчити.

Що описується: За допомогою RDF можна описати як документи, окремі фрагменти знань усередині документа, так і об'єкти реального світу, наприклад, конкретної живої людини (Тут деякі it-шники впадають у ступор).
Ідентифікується все за допомогою URI. Притому URI хоч і схожий на звичайні URL посилання – трохи інше, наприклад, можна визначити ресурс – реальну людину і задати для неї URI «http://example.org/people#Вася Пупкін».
Так, можна писати російською так як юнікод а ось що потрібно розуміти, так те, що це не url - не можна вставити в браузер і отримати людину- Наука до цього ще не дійшла.

Спробуємо розібратися десь тут гнучкість моделі та обміну даними між системами.

Давайте подивимося як спілкуються люди:

Вони записують свої думки (формалізують) за допомогою деякої мови безліччю способів, письмово, усно, далі інформація крутиться через різні системи, передається з вуст в уста, зберігається, агрегується і т.д. Але зрештою її читає людина, яка може інтерпретувати цю мову і отримує думку. Як саме формалізована думка передається від одного вузла до іншого в описаному ланцюжку нікого не за великим рахунком у результаті не хвилює.

Якщо ви не знаєте китайської мови – це не завадить зробити ctrl-c ctrl-v з одного місця в інше.

Дуже схожим чином працює RDF.

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

Наприклад, RDF затвердження (триплет суб'єкт-предикат-об'єкт)

Таким чином ми можемо обмінюватися з будь-ким, не роблячи зайвих рухів тіла, у тому числі ми інтегруватися з n+1 системою роблячи більше зусиль не більше ніж ми для показу нашого веб-сайту n+1 користувачу! Не треба нічого програмувати для цього. Всі поняття, які потрібні будуть цій системі від вашої - вона зможе отримати та інтерпретувати.

Для порівняння сьогодні – треба поля однієї системи явно пов'язувати з іншою (часто з кожною) за допомогою XML, XSLT – або полями, що отримуються з API – і багато хто з нас знає який, це головний біль.

Ми підійшли до розуміння, що дані можуть бути незалежними від моделі будь-якої конкретної програми. Тобто. набір фактів живе сам собою. Ми можемо їх додавати, видаляти, робити запити, інтерпретувати – але вони логічно незалежні.

Цей факт несе таку важливу перевагу – легкість у зміні моделі.

Уявімо, що потрібно зробити в додатку, що спирається на реляційну модель. Для драматичності уявімо що робити це треба вже після запуску якщо потрібно змінити модель даних, наприклад, пов'язати з об'єктом користувача якусь нову сутність, скажімо адресу (який до речі, не один рядок, а містить окремі поля для будинку, міста, вулиці і т.д.). д.). Що потрібно зробити з базою даних? Правильно підправити пару табличок, можливо створити нові, додати зв'язок між ними, змінити процедури для доступу до даних, підправити веб-сервіс і все готове. Ну і звичайно треба змінити інтерфейс користувача.

Трохи некомфортно займатися цим, не здається?

А наскільки простіше було б, якщо все, що треба було зробити - це тільки додати пару полів в інтерфейс і виконати дію додавання одного нового затвердження для кожного нового поля (від цього мінімуму теж можна іноді піти, якщо у нас універсальніше спроектовано інтерфейс) ? пара рядків коду.
З RDF моделлю за спиною ця операція виглядатиме саме так. Адже все, що зберігається - це величезна кількість тверджень суб'єкт-предикат-об'єкт. Таким чином зміна моделі даних перестає бути тим, що псує настрій як тільки про це подумаєш, чи не так здорово?

Базовою структурною одиницею RDF є колекція трійок (або триплетів), кожен з яких складається з суб'єкта, предикату та об'єкта (S, P, O). Набір триплетів називається RDF-графом. Як вершини графа виступають суб'єкти та об'єкти, як дуги – предикати (або властивості). Напрямок дуги, відповідної предикату у цій трійці (S,P,O), завжди вибирається те щоб дуга вела від суб'єкта до об'єкту.

Рис. 17. RDF-трійка.

Кожна трійка представляє деяке висловлювання, що ув'язує S, P та O.

Перші два елементи RDF-трійки (Subject, Predicate) ідентифікуються за допомогою URI.

Об'єктом може бути ресурс, що має URI, так і RDF-літерал (значення).

RDF-літерали (або символьні константи)

RDF-літерали бувають 2-х видів: типізовані та не типізовані.

Кожен літерал у RDF-графі містить 1 або 2 іменовані компоненти:

Усі літерали мають лексичну (словникову) форму у вигляді рядка символів Unicode.

Прості літерали мають лексичну форму та необов'язкове посилання на мову (ru, en…).

Типізовані літерали мають лексичну форму та URI типу даних у формі RDF URI.

Зауваження. Мова літералу не слід плутати з ідентифікатором локалі. Мова відноситься тільки до текстів, написаних природною мовою. Всі труднощі, що виникають при поданні даних на конкретному комп'ютері (при визначенні локалі) повинні вирішуватися кінцевим користувачем.

Порівняння літералів

Два літерали рівні тоді й лише тоді, коли виконуються всі перелічені нижче умови:

1. Рядки обох лексичних форм збігаються посимвольно;

2. Або обидва літерали мають теги мови, або обидва не мають;

3. Теги мови, якщо вони є, збігаються;

4. Або обидва літерали мають URI типу даних, або обидва не мають;

5. За наявності URI типу даних ці URI збігаються посимвольно.

Визначення значення типізованого літералу

Наведемо приклад:

Нехай безліч (T, F) – безліч значень істинності в математичній логіці. У різних додатках елементи цієї множини можуть бути по-різному. У мовах програмування (1, 0) (1 відповідає T, 0 відповідає F), або (true, false), або (істина, брехня).

Фактично визначається деяке відображення безлічі значень істинності на безліч чисел або рядків символів. Тепер значеннями логічного типу (bool або boolean) стають рядкові значення або спецсимволи. Щоб отримати значення істинності, необхідно скористатися зворотним відображенням.

Так само відбувається отримання значення типизированного RDF літералу. За лексичною формою стоїть деяке значення, що визначається застосуванням відображення. Це відображення визначається за типом URI даних і залежить від самого типу.

Основи мови уявлення RDFS.

Кожен із елементів триплету визначається незалежно посиланням на тип елемента та URI.

Предикат (у контексті RDF його зазвичай називають властивістю) може розумітися як атрибут, або як бінарне відношення між двома ресурсами. Але RDF сам собою не надає жодних механізмів ні з опису атрибутів ресурсів, ні визначення відносин з-поміж них. Для цього призначена мова RDFS – (мова опису словників для RDF). RDF Schema визначає класи, властивості та інші ресурси.

Рис.18. RDF-трійка суб'єкт-предикат-об'єкт

RDFS є семантичним розширенням RDF. Він надає механізми для опису груп зв'язаних ресурсів та відносин між цими ресурсами. Всі визначення RDFS виражені на RDF (тому RDF і називається мовою, що «самоописується»). Нові терміни, що вводяться RDFS, такі як «домен», «діапазон», є ресурсами RDF.

Формат RDF може бути кількох основних модифікацій:

  • Розширення RDF (повн. Resource Description Framework) є платформою для опису web-ресурсів. Основна сфера практичного застосування даного формату - представлення даних про ресурси в Інтернеті. Містить набір структурованих даних, включаючи метадані, карту сайту, інформацію про журнал оновлення, опис окремих сторінок сайту, ключові слова.

Ключовим стандартом, за допомогою якого реалізовано представлення моделі RDF є W3C.

Основною метою розробки розширення RDF було створення єдиного (універсального) синтаксису мови опису всього різноманіття Інтернет-ресурсів. Він об'єднує , і N3 формати представлення даних, а також RSS та FOAF інтернет-технології.

Для збереження налаштувань та конфігурації інтерфейсу, RDF файл може активно використовуватися різними браузерами, наприклад Firefox .

  • RDF файл - результат генерації PowerProducer, комерційного програмного продукту (розроб. CyberLink), що широко застосовується для обробки цифрового відео-контенту і прямого його запису безпосередньо на оптичний носій.

RDF - це стислий за певною технологією файл, що є образом диска. Розширення неможливо відкрити жодною іншою утилітою крім PowerProducer.

  • RDF розширення також може бути асоційовано з одним із компонентів системи автоматизованого проектування (САПР) ReluxCAD - комплексом, спеціально призначеним для моделювання джерел світла як складових цілісних систем освітлення. Позиціонування, яскравість, основні технічні характеристики - це лише незначний перелік важливих параметрів, які можуть охоплювати RDF файл. RDF формат часто застосовується комплексно з форматами та , що є “рідними” для САПР AutoCAD.
  • розширення RDF - файл-звіт в ArcGIS, стандартизованій системі статистичного обліку, що використовується різні ГІС-рішення. RDF файл є структурованим набором даних у вигляді цифрових таблиць. ArcGIS-звіти генерується у спеціальному програмному модулі Report Designer. Для перегляду такої інформації можна скористатися компонентом Report Viewer.
  • формат RDF (повн. Oracle Report Definition File) може виступати як великоформатна таблиця-звіт, яка використовується в СУБД Oracle . За своєю структурою RDF файл представляє набір даних, що містить різні SQL-запити, необхідні фактичної генерації звіту та обробки їх у одному з універсальних форматів ( , і.т.д).

Програми для відкриття файлів RDF

Залежно від свого практичного призначення та конкретної модифікації, RDF розширення може бути згенероване та відкрите для редагування з використанням наступних програмних комплексів:

Для випадків, коли RDF файл є платформою для опису web-ресурсів, можна скористатися такими програмними утилітами:

  • в ОС Windows використовуються Altova XMLSpy, Mozilla SeaMonkey, Firefox, Liquid Technologies Liquid XML Studio та SyncRO Soft oXygen XML Editor;
  • на базі ОС Mac RDF буде доступний із застосуванням тих самих програмних плагінів Mozilla SeaMonkey і SyncRO Soft oXygen XML Editor .

Примітно, що розширення адаптоване і для використання на платформі Linux за допомогою інтернет-браузера Firefox.

Коли RDF файл застосовується для обробки цифрового відео-контенту та прямого запису безпосередньо на оптичний диск, може бути використана утиліта CyberLink PowerProducer 5.5.

Якщо формат RDF використовується як компонент системи автоматизованого проектування (САПР), спеціально призначеної для моделювання джерел світла, як складових цілісних систем освітлення, то для відкриття файлу може бути задіяний комплекс ReluxCAD.

Для випадків, коли RDF розширення асоціюється файлом-звітом в ArcGIS (стандартизованій системі статистичного обліку, що використовується різні ГІС-рішення), відтворити файл можна за допомогою програмних модулів Report Designer або Report Viewer;

Коли RDF формат виступає як великоформатна таблиця-звіт, яка використовується в СУБД, він буде доступний за допомогою Oracle .

Якщо під час відтворення формату виникає помилка: або пошкоджено або заражено вихідний файл, або здійснюється відкриття RDF файлу із застосуванням некоректної програмної утиліти.

Конвертація RDF в інші формати

Незважаючи на те, що RDF розширення має велику кількість найрізноманітніших виконань та модифікацій, його конвертація в інші формати підтримується тільки в ряді випадків, зокрема:

  • якщо RDF розширення виступає в якості проекту для моделювання джерел світла, як складових цілісних систем освітлення, то для його перетворення або може застосовуватися внутрішній транслятор САПР ReluxCAD або

    Чому саме RDF і в чому його переваги?

    Доводиться констатувати, що хоча RDF розширення має велику різноманітність різних виконань, воно аж ніяк не є таким популярним і затребуваним форматом серед звичайних користувачів. Проте формат може бути затребуваний у кількох вузькоспеціалізованих областях. Він широко використовується як:

    • платформи для опису веб-ресурсів;
    • файлу цифрового відеоконтенту для прямого запису безпосередньо на оптичний носій;
    • компоненти системи автоматизованого проектування (САПР), спеціально призначеної для моделювання джерел світла як складових цілісних систем освітлення;
    • файлу-звіту в ArcGIS(стандартизованій системі статистичного обліку, що використовується різні ГІС-рішення);
    • великоформатної таблиці-звіту, що використовується у СУБД.


Останні матеріали розділу:

Основний план дій та способи виживання Вночі тихо, вдень вітер посилюється, а надвечір затихає
Основний план дій та способи виживання Вночі тихо, вдень вітер посилюється, а надвечір затихає

5.1. Поняття про місце існування людини. Нормальні та екстремальні умови життєпроживання. Виживання 5.1.1. Поняття про довкілля людини...

Англійські звуки для дітей: читаємо транскрипцію правильно
Англійські звуки для дітей: читаємо транскрипцію правильно

А ви знали, що англійський алфавіт складається з 26 літер та 46 різних звуків? Одна й та сама буква може передавати кілька звуків одночасно.

Контрольний тест з історії на тему Раннє Середньовіччя (6 клас)
Контрольний тест з історії на тему Раннє Середньовіччя (6 клас)

М.: 2019. – 128 с. М.: 2013. – 160 с. Посібник включає тести з історії Середніх віків для поточного та підсумкового контролю та відповідає змісту...