Розкриття таємниць графів знань: глибоке занурення в RDF та за його межами

текст перекладу
pic

Перед побудовою та використанням графів знань (KGs) важливо зрозуміти, як вони моделюються. У цій статті ми розглянемо кілька основних моделей, що використовуються у світі графів знань, починаючи з Рамки опису ресурсів (RDF) та її розширення RDF Schema (RDFS).

Розуміння графів знань (KGs) у порівнянні з системами керування реляційними базами даних (RDBMS)

Системи керування реляційними базами даних (RDBMS) ґрунтуються на інтуїтивно зрозумілих моделях, які виглядають як прості колекції таблиць, але підтримуються багатою формальною основою. Ці системи розрізняють схему, яка визначає структуру даних, та самі дані. Ключові концепції, такі як декомпозиція, зовнішні ключі та функціональні залежності, забезпечують узгодженість даних і дозволяють ефективно здійснювати запити. Хоча ця жорсткість гарантує надійність, вона також накладає обмеження на те, як можна представляти і маніпулювати даними.

На відміну від цього, графи знань (KGs) є inherently більш гнучкими, оскільки дозволяють представляти різноманітні та змінювані структури даних. На відміну від RDBMS, графи знань не розділяють схему та дані таким чином, дозволяючи динамічне моделювання та представлення. Однак ця гнучкість ставить важливі питання: що саме формально визначає граф знань? Чому певні структуровані набори даних, як-от неорієнтовані соціальні мережі, не вважаються графами знань? Ці питання підкреслюють необхідність явної формалізації при проектуванні та побудові графів знань для конкретних доменів.

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

pic

https://www.wikidata.org/wiki/Wikidata:MainPage_

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

Хоча RDBMS надають надійну основу для структурованих даних, графи знань пріоритетно орієнтовані на гнучкість, семантичну багатозначність і доменну специфічність. Розуміння їхніх відмінностей і формалізація проектування графів знань дозволяють практикам ефективно використовувати їх потенціал у різних додатках, орієнтованих на дані.

RDF

Рамка опису ресурсів (RDF) є ключовою технологією для представлення даних в Інтернеті. Хоча RDF не була спеціально розроблена для графів знань (KGs), вона стала популярною основою для графів знань у спільноті Semantic Web. Багато моделей графів знань, таких як RDF Schema (RDFS) та Web Ontology Language (OWL), будуються на принципах RDF, щоб забезпечити міркування та запити над графами знань.

Компоненти RDF

RDF ґрунтується на простій, гнучкій, графовій моделі даних. Його основна структура складається з тройок:

  • Суб'єкт: Початкова точка.
  • Предикат: Відношення.
  • Об'єкт: Кінцева точка.

pic

Вузли RDF можуть приймати три форми:

  1. Універсальні ідентифікатори ресурсів (URIs): Унікальні глобальні ідентифікатори для ресурсів, наприклад, https://example.com/resource.
  2. Літерали: Значення даних, такі як рядки, числа або дати (наприклад, "John Doe" або 23).
    3.
    текст перекладу
    Порожні вузли: Локально унікальні ідентифікатори для неназваних ресурсів, які використовуються, коли ресурс не потребує глобального ідентифікатора.

pic

У RDF FOAF та DBO є часто використовуваними онтологіями (словниками), які визначають відносини та атрибути сутностей, часто для опису людей, місць та речей. Ось визначення для кожної з них:

FOAF (Friend of a Friend)

  • FOAF — це онтологія, яка використовується для опису людей, їхньої діяльності та відносин з іншими людьми і об'єктами у світі. Вона надає набір класів та властивостей для представлення основних понять, таких як люди, імена та відносини між людьми.
  • Приклад властивостей у FOAF:
    • foaf:name: Означає ім'я людини.
    • foaf:knows: Означає відносини між двома людьми, які знають один одного.

DBO (DBpedia Ontology)

  • DBO — це онтологія, отримана з DBpedia, що є структурованим представленням знань, витягнутих з Wikipedia. Онтологія DBO використовується для опису різних типів сутностей, таких як люди, місця, організації та події. Вона пропонує багатий набір класів і властивостей для опису атрибутів сутностей та їх відносин.
  • Приклад властивостей у DBO:
    • dbo:birthPlace: Означає місце, де народилася особа.
    • dbo:occupation: Означає професію чи діяльність особи.

У графі RDF можна представити деякі дані про Карла Маркса за допомогою трійок. Ось приклад:

  1. (:KarlMarx foaf:name "Karl Marx")
    Ця трійка стверджує, що суб'єкт :KarlMarx має ім'я "Karl Marx".
  2. (:KarlMarx dbo:occupation "Philosopher")
    Ця трійка вказує, що професія Карла Маркса — "Філософ".

Ці трійки утворюють граф RDF, в якому відносини між елементами даних (як-от ім'я та професія Карла Маркса) фіксуються через предикати (foaf:name, dbo:occupation тощо), а вузли (суб'єкти та об'єкти) представляють сутності та їх атрибути.

Чому використовувати RDF?

RDF (Resource Description Framework) — це, перш за все, основа для представлення інформації в Інтернеті, але вона стала широко використовуваною для графів знань (KGs), особливо в спільноті Semantic Web (SW). Розширення, як-от RDFS (RDF Schema) та вдосконалені моделі, як-от OWL (Web Ontology Language), ґрунтуються на RDF для забезпечення міркування та отримання даних, що робить її необхідною для представлення графів знань у цій галузі.

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

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

Серіалізації RDF

Хоча дані RDF концептуально є графом або набором трійок, його формати серіалізації визначають, як ці дані зберігаються та передаються.

N-Triples:

  • Проста лінійна репрезентація трійок.
  • Кожна трійка включає повні URI для суб'єктів, предикатів та об'єктів.
  • Переваги:
    • Легко обробляється машинами послідовно (потокова обробка).
    • Самодостатня — кожен рядок є незалежним.
  • Недоліки:
    • Повторення довгих URI збільшує розмір файлу.
    • Важко для людини читати через громіздкість.

pic

Turtle (Terse RDF Triple Language):

  • Більш компактний і зручний для людини формат RDF.
  • Особливості:
    • Префікси: Дозволяють скорочувати URI (наприклад, foaf для http://xmlns.com/foaf/0.1/)..)
    • Списки предикатів: Групують кілька предикатів для одного суб'єкта.
      текст перекладу
  • Списки об'єктів: Групують кілька об'єктів для однієї пари суб'єкт-предикат.

pic

  • Переваги:
    • Зменшує повторення, покращуючи читабельність та розмір файлу.
    • Підтримує зручний для людини синтаксис.
  • Недоліки:
    • Не підтримує потокову обробку — потребує повного парсингу для витягнення даних.

RDF Схема (RDFS)

Що таке RDF Схема?

RDF Схема (RDFS) — це семантичне розширення RDF, яке надає словник для опису схем у даних RDF. Вона:

  • Розширює RDF, що означає, що вона будується поверх RDF, не замінюючи його.
  • Додає семантику до графів RDF, допомагаючи організувати та інтерпретувати дані осмислено.
  • RDFS вводить терміни та правила для визначення відносин та обмежень у даних RDF.
  • Це як додавання "плану" для структурування та інтерпретації графа RDF.

Обмеження

  • Функціональність:
    • RDFS є більш простим і менш потужним за інші мови Семантичного Вебу, як-от OWL.
    • OWL підтримує розширене міркування та багатшу семантику, що робить її кращим вибором для складних онтологій.
  • Роль:
    • RDFS найкраще розглядати як мову схем, а не повноцінну мову онтологій.

pic

Класи RDFS

Ключові концепти

  • rdfs:Class: Центральний елемент словника RDFS, який використовується для визначення груп (або категорій) ресурсів.
  • Приклад:
    • Клас на кшталт :Country групує ресурси, такі як :UnitedStates і :Germany.
    • Ресурси всередині класу називаються екземплярами цього класу.
    • Самі класи є ресурсами, ідентифікованими URI або IRI, і можуть мати властивості, як і будь-який інший ресурс.
  • rdf:type: Властивість, що використовується для того, щоб заявити, що ресурс є екземпляром класу.
  • Приклад:
    • (:UnitedStates, rdf:type, :Country) заявляє, що :UnitedStates є екземпляром класу :Country.

Важливі особливості класів

Класи vs. Екземпляри:

  • Клас не визначається лише його набором екземплярів (розширенням класу).
  • Два класи можуть мати однакові екземпляри, але бути семантично різними.
  • Приклад: Класи на кшталт :WorldEconomies і :Countries можуть мати однакові екземпляри, але представляти різні концепти та властивості.

Відносини підкласів:

  • Оголошення :ClassA як підкласу :ClassB (за допомогою rdfs:subClassOf) означає:
    • Усі екземпляри :ClassA також є екземплярами :ClassB.
    • Ці відносини підтримують ієрархічне моделювання.

Властивості RDFS

Ключові концепти

  • rdfs:subPropertyOf:
    • Заявляє, що одна властивість є підвластивістю іншої.
    • Якщо P є підвластивістю P', то всі пари ресурсів, пов'язані через P, також будуть пов'язані через P'.
    • Приклад: Якщо :hasCapital є підвластивістю :hasLocation, і існує трійка (:France, :hasCapital, :Paris), то також буде вірно, що (:France, :hasLocation, :Paris).
  • rdfs:domain:
    • Визначає клас суб'єкта для властивості.
    • Приклад: (:hasCapital, rdfs:domain, :Country) означає, що суб'єкт властивості :hasCapital повинен бути :Country.
  • rdfs:range:
    • Визначає клас об'єкта для властивості.
    • Приклад: (:hasCapital, rdfs:range, :City) означає, що об'єкт властивості :hasCapital повинен бути :City.

Перекладено з: Demystifying Knowledge Graphs: a deep dive into RDF and beyond

Leave a Reply

Your email address will not be published. Required fields are marked *