Jesteś tutaj: Strona główna

Przegląd narzędzi mapowania

Napisane przez  28 czerwiec 2012

Prezentujemy, w postaci poniższego zestawienia, raport o narzędziach wspomagających publikowanie danych relacyjnych w postaci RDF’a oraz narzędziach, które z takich danych mogą korzystać.

 

SILNIKI WSPIERAJĄCE MAPOWANIE DANYCH Z RELACYJNYCH BAZY DANYCH DO RDF'A

 

SquirrelRDF
Biblioteka wspierająca Jena'ę w korzystaniu z bazy danych. Biblioteka działa w oparciu o mapowanie generowane na podstawie istniejącej bazy danych. Mapowanie obejmuje proste przełożenie właściwości danego elementu na kolumny w bazie danych. Nie ma możliwości bardziej złożonego przechodzenia pomiędzy relacjami typu n:m. Można wykorzystać własną ontologię, jest również możliwość korzystania z kilku baz danych w jednym modelu. Nie udało się jednak uruchomić przykładu - biblioteka odpowiedziała błędem. Wydaje się również że biblioteka nie jest już rozwijana - ostatnie uaktualnienie - czerwiec 2006 r.

Virtuoso
Virtuoso jest narzędziem typu middelware pozwalającym integrować wiele źródeł danych. Jest to produkt komercyjny, typu opensource z płatną licencją za użytkowanie.

Możliwości i przeznaczenie Virtuoso: OpenLink Virtuoso to pierwszy uniwersalny wieloplatformowy serwer o funkcjonalności serwera sieci web, plików i bazy danych wraz z Native XML Storage i Universal Data Access Middleware. Zapewnia wsparcie dla najważniejszych standardów internetowych oraz standardów dostępu do danych takich jak: XML, XPATH, XSLT, SOAP, WSDL, UDDI, WebDAV, SMTP, SQL-92, ODBC, JDBC i OLE-DB. Obecnie Virtuoso działa z następującymi systemami operacyjnymi: Windows 95/98/NT/2000, Linux (Intel, Alpha, Mips, PPC), Solaris, AIX, HP-UX, Unixware, IRIX, Digital UNIX, DYNIX/PTX, FreeBSD, SCO, MacOS X [2].

Sposób mapowania bazy danych do RDF'a: Narzędzie wydaje się interesujące ze względu na możliwość integracji wielu źródeł danych - web services, pliki, bazy danych, zasoby internetowe typu FOAF, Google Base, Flicr itp. Można do niego podpinać się za pomocą interfejsu JDBC (tak również korzysta się z danych semantycznych zadając zapytania w SPARQL poprzedzając je słowem kluczowym SPARQL). Możliwe jest również łatwe udostępnianie zawartości bazy danych jako webservices. Virtuoso wprowadza własny język procedur bazodanowych w których zapisuje się większość logiki związanej m.in. z mapowaniem bazy danych do RDF'a. Virtuoso pozwala również tworzyć dynamiczne serwisy Weboowe (tak jak PHP, JSP itp) z zagregowanych danych. Wprowadza swój własny język definiowania takich dynamicznych stron. Inna biblioteka do odpytywania bazy danych. Ale jaki jest do tego interfejs?

D2RQ
Biblioteka do zmapowania bazy danych do popularnych silników danych semantycznych - sesame (wersja 1.2 - nakładka sesamowego API na Jena'ę), jena (wersja 2.4). Jest to silnik wykorzystywany w d2r-server.

Zobacz również:

  • Artykuł o D2RQ
  • Artykuł "Publishing Databases on the Semantic Web" autorstwa Chrisa Bizera oraz Richarda Cyganiak nt. serwera publikującyego bazę danych jako RDF w sieci WEB. Służy on raczej do publikacji danych dla przeglądarki, programów do przeglądania RDF'a niż do pracy z danymi.

Udało się wykonać test w którym zmapowano ontologię definiującą działki i ich właścicieli do bazy danych systemu urzędowego przeznaczonego do naliczania podatków od nieruchomości. Wykonane więc zostało mapowanie w którym konieczne było przejście przez relacje m:n. Możliwe jest też zmapowanie danych do odpowiedniej klasy na podstawie danych w kolumnie tabeli. Po utworzeniu mapowania udało się odpytać o użytkownika jego nazwisko i posiadane działki, oraz odwrotnie - na podstawie działki ustalić właścicieli. Dla ułatwienia mapowania utworzony został widok, który pozwalał na przejście pomiędzy tabelami przez 5 tabel z relacjami. W pojedynczym mapowaniu można zdefiniować tylko jedno źródło danych - bazę danych. Język mapowania biblioteki D2RQ wydaje się dość elastyczny i zdolny do wykonania większości operacji niezbędnych przy mapowaniu danych z bazy danych do RDF'a.

DartGrid
Projekt związany z zagadnieniem mapowania bazy danych do RDF'a. Wydaje się również "wymarły", pozostawiony na etapie pierwszych prób. Narzędzie wydaje się ciekawe choćby ze względu na wizualny edytor do tworzenia mapowań (w środowisku Eclipse). Niestety dokumentacja nie jest kompletna i trudno jest coś uruchomić.

ORDI
ORDI jest projektem prowadzonym przez firmę OntoText. Ma on na celu utworzenie modelu danych semantycznych dla wielu źródeł danych o różnych "składniach". Ma on w założeniu umożliwiać korzystanie w jednym miejscu z danych zapisanych jako RDF i danych zapisanych jako WSML. Celem w projekcie jest też umożliwienie korzystania z danych zapisanych w bazie relacyjnej z dostępem poprzez ontologię. Nie jest jednak to wykonane.

Strona projektu z szczegółowymi informacjami i dokumentacją.

METAmorphoses
Jest to projekt na licencji LGPL. Pozwala na tworzenie mapowania RDF'a na podstawie relacyjnej bazy danych. Wyposażony jest w graficzny edytor ułatwiający tworzenie mapowania RDF-RDBMS Pozwala na publikowanie mapowania zarówno w technologii Java (serwlet w kontenerze WEB np. Tomcat) jak i w PHP. Wydaje się jednak że sposób mapowania - konstrukcja wynikowych url'i nie jest zgodna z ogólną tendencją Linked data. Brakuje informacji o projektach w których został użyty (tylko informacja o projekcie SeWebis).

Triplyfy
Narzędzie do publikowania danych z bazy danych w formacie RDF. Pozwala na tworzenie informacji typu rdf na podstawie istniejącej juz bazy danych i ontologii. Jest przeznaczona dla technologii PHP. Mapowanie polega na zapisywaniu zapytań SQL które zwracają odpowiednie dane. Dostosowanie do odpowiedniej składni ontologii uzyskuje się dzięki nazywaniu kolumn w zwracanych wynikach nazwą właściwości z żądanej ontologii. Narzędzie nie ma wsparcia dla wygenerowania mapowania z istniejącej bazy danych. Na stronie producenta są już gotowe mapowania dla typowych aplikacji web możliwych do pobrania (np. aplikacji do tworzenia blogów, narzędzi CMS typu Joomla itp).
Udostępnianie zawartości rdf'owej jest w postaci żądanych danych rdf, ale nie ma interfejst SPARQL (SPARQL endpoint).

MediaSpaces
Narzędzie bazuje na D2RQ server. Jest przeznaczone przede wszystkim do publikowania danych bibliotecznych.


NARZĘDZIA POZWALAJĄCE NA KORZYSTANIE Z DANYCH SEMANTYCZNYCH PUBLIKOWANYCH W INTERNECIE


Osobny zagadnieniem jest kwestia publikacji danych udostępnionych przez wiele różnych źródeł danych w sieci Internet (ew. intranet) Istotnym problemem jaki można napotkać jest rozproszenie danych na wiele miejsc. Dotąd do przeglądania danych semantycznych zgromadzonych lokalnie lub w pojedynczej lokalizacji można było wykorzystać odpowiednie narzędzia typu Jena (z silnikiem zapytań SPARQL) Sesame itp. Obecnie dla wygodnego przeglądania danych rozproszonych konieczne jest wykorzystanie narzędzi które umożliwią przezroczystość w wykorzystaniu danych. Ze strony infrastruktury publikującej te dane wypracowane zostały pewne mechanizmy (relacja rdfs:seeAlso, użycie przekierowania HTTP do właściwego zasobu) Zagadnienie to zwane jest Linked data, a informacje o nim można znaleźć w następujących lokalizacjach:

Istnieje kilka rozwiązań wykorzystania danych semantycznych.

Rozszerzenie silnika ARQ w silniku Jena
Silnik Jena został rozszerzony o słowo kluczowe SERVICE umożliwiające wskazanie do jakiego źródła (SPARQL endpoint) ma zostać skierowana część zapytania. Rozwiązanie bazuje na istnieniu serwisów publikujących interfejs SPARQL endpoint pozwalających na wykonanie odpowiedniego zapytania bezpośrednio na źródle danych.

DARQ
DARQ jest narzędziem pozwalającym na wykonywanie zapytań bazujących na wielu źródłach danych. Źródła te definiuje się w odpowiednim pliku konfiguracyjnym wraz z informacją jakie dane, jakiego typu można w danym źródle znaleźć. DARQ jest w fazie "deweloperskiej" - można z niego korzystać jedynie po pobraniu źródeł z repozytorium i skompilowaniu projektu. Rozwiązanie bazuje na silniku Jena

SemWebClient
Narzędzie jest częścią większego projektu NG4J będącego rozszerzeniem Jena'y.

 

 

Artykuły powiązane

pasek dol2