Wykorzystanie relacyjnych baz danych w technologiach semantycznych.

- autor: tsissput

Internet jest pełen danych. Ludzie umieszczają dane w postać tekstowej, XML-a, czy nawet arkuszy kalkulacyjnych, ale większość z nich mieści się w relacyjnych bazach danych. Stąd pojawia się pokusa by wykorzystać te dane dla celów Semantycznego Internetu. Niestety dane te nie posiadają formy przez niego akceptowalnej, ponieważ większość danych dostępnych w Internecie znajduje się w bazach danych. W 2007 roku 70% stron korzystało z danych umieszczonych w bazach danych, co sugeruje, że istotną rzeczą jest umożliwienie korzystania technologiom semantycznym z relacyjnych baz danych.

RDB2RDF
Ludzie zauważają wielkie możliwości jakie daje Sieć Semantyczna. Stąd coraz więcej osób i instytucji chce publikować swoje dane w postaci RDF lecz najprawdopodobniej, przechowują swoje dane w bazach danych. RDF, jako ustandaryzowany model danych daje duże możliwości przy integracji danych z różnych źródeł oraz na wydawanie zapytań za pomocą ustandaryzowanego języka (SPARQL). Nadal jednak problemem pozostaje to jak przekształcić dane relacyjne do danych semantycznych.
Konsorcjum W3C w 2007 roku postanowiło zająć się tym problemem i powołało zespół zajmujący się mapowaniem danych relacyjnych do RDF – RDB2RDF. Celem tej i później powołanych grup było zbadanie istniejących sposobów mapowań oraz stworzenie ustandaryzowanego języka mapowań danych relacyjnych do RDF – R2RML. Nazwą RDB2RDF będziemy też określać sam proces transformacji danych relacyjnych do danych semantycznych w RDF.
W3C wyróżnia dwa przypadki użycia RDB2RDF:

  • Przypadek 1: ma zaspakajać potrzebę ludzi, którzy chcą współtworzyć Semantyczny Internet przez udostępnianie swoich danych , przez publikowanie ich danych w postaci i udostępnianie końcówki SPARQL do ich bazy danych.
  •  Przypadek 2: związany z integracją danych, Można wyróżnić 3 przypadki, gdy będziemy chcieli integrować dane relacyjne z:
    •   Danymi strukturalnymi (bazy relacyjne, arkusze kalkulacyjne, csv, itp.)
    •   Istniejące w Sieci dane w postaci RDF,
    •   Nieustruktualizowane dane (np. HTML)

Zakładamy także, że inne źródła, które chcielibyśmy także połączyć mają już postać RDF.

Implementacja
Transformacja RDB2RDF może być zaimplementowana na dwa sposoby. Pierwszy polega na fizycznym przekonwertowaniu danych relacyjnych do RDF, w procesie ETL (Extract, Transform, Load) i umieszczenie ich w postaci trójek, w specjalizowanej bazie do przechowywania danych w postaci RDF – tzw. triple store. W triple store mogą być także przechowywane dane w RDF pochodzące z innych źródeł. Jest to wielką zaletą tego podejścia, bo umożliwia prostą integrację danych z różnych źródeł. Niestety, przechowujemy oddzielną kopię danych relacyjnych. Podejście to nie sprawdzi się kiedy chcemy gdy źródła danych, które chcemy zintegrować są aktywne i dynamiczne. Co więcej, sukces podejścia zależy od istniejących triple store-ów, oraz ich skalowalności.
Drugie podejście wygląda zupełnie inaczej. Dane nie są przepisywane do RDF, tylko pozostawione w swojej relacyjnej formie. Tworzy się jednak mapowanie między danymi relacyjnymi i RDF, które pozwala wywoływać zapytania SPARQL „w locie” do bazy relacyjnej. Dzieje się tak, dzięki temu, że zapytanie SPARQL jest transformowane do SQL, które jest wykonywane na relacyjnej bazie danych. To podejście pozwala publikować dane relacyjne w Sieci jako RDF poprzez końcówki SPARQL. Niestety ta metoda nie pozwala na spełnienie drugiego przypadku użycia, ponieważ tylko wydajemy zapytania SPARQL do relacyjnej bazy danych. Istnieją jednak eksperymentalne podejścia, które pozwalają w pewnym stopniu integrować dane, polegają one na wydawanie zapytań do danych semantycznych tak, jak gdyby były one składowane w bazie. Można wtedy wykonywać zapytania SPARQL korzystając z wielu źródeł danych poprzez wykorzystanie linków między danymi składowanymi w RDF w sieci.

Istniejące narzędzia RDB2RDF
Na rynku istnieje wiele gotowych narzędzi implementujących proces RDB2RDF. Większość z nich to narzędzia darmowe.

  • Asio Semantic Bridge for Relational Databases – narzędzie to umożliwia integrację danych relacyjnych do sieci semantycznych, umożliwiając wydawanie zapytań SPARQL do danych relacyjnych. Z schematu bazy danych tworzona jest ontologia (w języku OWL), którą można później połączyć (zmapować) z zdefiniowaną dla danej dziedziny ontologii.
  • D2RQ  – składa się z języka mapowania między schematem bazy danej i ontologiami (w postaci RDFS/OWL). Narzędzie przedstawia bazę relacyjną w postaci grafu RDF, który można wykorzystać przez Jena i Sesame oraz wydawać zapytania  w SPARQL. Dane mogą dodatkowo dostępne przez Internet, poprzez protokół SPARQL. Narzędzie wykorzystano do stworzenia pierwszej wersji DBpedii – semantycznej Wikipedii, w 2007r.
  • Metatomix Semantic Platform – pozwala mapować dane relacyjne z elementami ontologii, wynik ma postać RDF. Narzędzie ma postać edytora graficznego. Umożliwia integrację danych z różnych źródeł do jednej ontologii.
  • ODEMapster – plugin do platformy NeOn toolkit. Narzędzie udostępnia graficzny interfejs, pozwalający załadować ontologie oraz wskazać parametry połączenia z bazą danych. Proces mapowania odbywa się przez łączenie odpowiednich kolumn z bazy danych z odpowiednimi klasami lub własnościami ontologii.
  • Oracle Database 11g – Umożliwia integrację danych z baz relacyjnych razem z danymi, które już mają postać RDF. Zapewnia wsparcie dla Jena. Przechowuje dane w postaci trójek. Zapewnia wsparcie dla RDF, RDFS I OWL. Umożliwia wydawanie zapytań do danych.
  • RDBtoOnto – działa w sposób automatyczny. Generuje ontologię w RDFS/OWL korzystając ze schematu bazy danych (działa jak narzędzie ETL (extract, transform, load) oraz wzorcach strukturalnych ukrytych w. Umożliwia wprowadzanie odpowiednich parametrów, by sterować automatycznym przetwarzaniem.
  • SquirrelRDF –  umożliwia wydawanie zapytań do bazy danych w SPARQL. Można z niego skorzysatać poprzez bibliotekę dla Javy, aplikację (konsolową), oraz przez http.
  • Triplify – lekkie narzędzie w postaci wtyczki dla rozwiązań webowych, które prezentuje dane w postaci RDF lub JSON w Sieci. Nie ma możliwości wydawania zapytań. Istnieje możliwość wykorzystania w popularnych aplikacjach webowych, m.in. (WordPress, Joomla, os commerce)
  • Ultrawrap – kolejne narzędzie, które działa w sposób automatyczny. Transformuje dane do postaci zapisanej w RDF oraz pozwala na wydawanie zapytań w SPARQL. Przechowuje dane w wirtualnym triple store, nie tworząc jednak duplikatów danych. Ontologia jest generowana automatycznie, ale można ją przekształcić do dziedzinowej ontologii poprzez interfejs graficzny.
  • RDFizer Middleware (część narzędzia Virtuoso) mapuje dane do postaci RDF, oraz umożliwia wydawanie zapytań SPARQL wykonywanych na danych relacyjnych oraz w tym samym czasie na danych w RDF, dzięki czemu umożliwia integrację danych relacyjnych i w postaci RDF.

W zależności od przypadku użycia RDB2RDF jest środkiem do celu lub celem samym w sobie. Jeżeli interesuje nas przekształcenie danych relacyjnych do danych semantycznych i udostępnienie ich w Sieci, możemy bardzo szybko osiągnąć swój cel poprzez użycie któregoś z istniejących narzędzi do transformacji. Jednak, jeśli chcemy dokonać integracji danych z różnych źródeł RDB2RDF jest tylko środkiem do celu, gdyż do wykonania integracji nasze dane muszą mieć postać RDF, którą zyskują RDB2RDF.
Jak widać problem transformacji danych z relacyjnych baz danych do danych semantycznych został dokładnie zbadany przez naukowców. Powstały specjalne standardy dotyczące tego jak taką transformację należy wykonywać , czemu ma ona służyć i jakie ma przynosić rezultaty. Istnieje także wiele gotowych narzędzi, ułatwiających proces transformacji lub nawet go automatyzujących. Teraz należy tylko przetransformować swoje dane!

Autor: Aleksandra Nowak, 84856

Źródła:

http://www.w3.org/2009/08/rdb2rdf-charter

http://semanticweb.com/

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: