2012-06-19 9 views
9

Próbuję uzyskać informacje na temat dwóch bardzo różnych podejść do udostępniania danych: OData i Semantic Web/Linked Data. Czy istnieje dobre porównanie tych dwóch?Porównanie danych OData i sieci semantycznej/danych połączonych

Jak rozumiem, OData łączy syndykację/CRUD (AtomPub), formaty serializacji (XML, JSON), model danych, język zapytań oraz niektóre semantyki/konwencje rządzące wykorzystaniem istniejących technologii. Jest przeznaczony przede wszystkim do eksponowania danych z jednego systemu, aby inni mogli go używać.

Dane połączone to model danych, rygorystyczne zobowiązanie do URI, (opcjonalnie?) Format serializacji (RDF/XML), ale (popraw mnie jeśli się mylę) nie mówi nic o transporcie, CRUD, itp. Wydaje się, że ma to na celu umożliwienie wnioskowania w wielu małych porcjach danych pochodzących z wielu różnych źródeł. (Nie ma to dla nas większego znaczenia - synchronizowalibyśmy duże płyty danych pomiędzy niewielką liczbą źródeł i chcieliśmy zachować informacje o pochodzeniu).

Jestem zainteresowany technologiami udostępniania danych między niektórymi platformami zarządzania danymi, z których niektóre pracuję bezpośrednio. Wygląda na to, że OData jest bardziej atrakcyjny, ponieważ prościej wyjaśnić programistom: zaimplementować ten interfejs API, postępować zgodnie ze standardem Atom, serializować dane w ten sposób. Już robimy coś bardzo podobnego na jednej platformie: udostępnianie serializowanych danych XML w kanale Atom, z parametrami URL używanymi do filtrowania.

W przeciwieństwie do tego, moje doświadczenia z pracy z RDF dały mi wrażenie kruchej, nieprzejrzystej (masywne płyty RDF/XML), niedostępnej (przy użyciu SPARQL vs SQL) technologii - ale być może dezorientuję doświadczenie pracy w triplestore, takim jak Jena, po prostu eksponując istniejącą bazę danych za pomocą połączonego interfejsu API danych.

Wszelkie wskazówki, komentarze itp. Na temat różnic i podobieństw między tymi dwoma podejściami pod względem zakresu, technologii, łatwości, przyszłego potencjału itp. Byłyby świetne.

+0

Steve - nie jestem pewien, czy jest to najlepsze forum dla tego typu pytań, ponieważ mogłoby się przeciągnąć na jakiś czas. Chciałbym jednak przedyskutować - czy możesz przenieść pytanie na http://programmers.stackexchange.com/ lub skontaktować się z moim nowym blogiem (bitwhys.com)? –

+2

Po to, by krótko opisać niektóre z twoich punktów dotyczących technologii RDF/danych połączonych: "masywne płyty RDF/XML" nie są normą i brzmi bardziej jak nieprawidłowe zastosowanie technologii. Wywoływanie SPARQL (w przeciwieństwie do SQL) "niedostępne" to kwestia gustu, jak sądzę. Ale SPARQL nie jest wymagany do stosowania zasad danych połączonych. To po prostu wygodne. –

+1

Od lutego 2015 r. Platforma danych połączonych jest rekomendacją W3C: https://www.w3.org/TR/ldp/ LDP dotyczy części do odczytu i zapisu (CRUD w zadaniu) połączonych danych, których brakowało. –

Odpowiedz

6

myślę omawianie tego w głębi nie jest tak naprawdę co Stackoverflow jest przeznaczona dla, ale po prostu dać Ci kilka wskazówek do ciekawych dyskusji na temat różnic i nakładania:

Jedną z kluczowych różnic wydaje się być fakt, że OData nie ma możliwości łączenia danych z różnych źródeł ze sobą. Zasadniczo nadal tkwisz w silosie.

Warto również sprawdzić różne próby konwersji danych między dwoma podejściami. Zobacz a.o. http://answers.semanticweb.com/questions/1298/has-anyone-written-a-mapping-from-odata-to-rdf.

+0

Dzięki za linki - choć imho "nadal utknąłeś w silosie", jest to przesadzone. (Patrz MS jednoznacznie stwierdzające zniszczenie silosu jako cel tutaj: http://blogs.msdn.com/b/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol- odata.aspx) –

+0

@SteveBennett cóż, to, co określają jako swój cel, a co faktycznie dostarczają, niekoniecznie jest takie samo, oczywiście. Punkt ten jest bardziej szczegółowo omawiany w niektórych artykułach wymienionych powyżej. Jednak nie jestem ekspertem OData, więc może przeoczyłem standardowy mechanizm łączenia danych. –

+0

Nie uważam, że "silos informacyjny" jest synonimem "informacji, której nie można połączyć zewnętrznie". Jeśli możesz łatwo uzyskać informacje z systemu iz niego, w standardowym formacie ze standardową semantyką, to myślę, że wiele problemów związanych z silosowaniem zniknie. –

4

OData może być łatwiejsza, ale nie lepsza, w jakikolwiek sposób. SPARQL i RDF (zapomnieć RDF/XML, lepiej patrzeć na żółwia) spełnia wszystko OData wraz z zapewnieniem wiele bardziej cięcia funkcje krawędzi, takich jak:

  • Federacja Rozszerzenia
  • Związany Dane
  • rozumowania i wnioskowania (dla bardziej odważnych)

Podobnie oprogramowanie wspierające standardy jest w rzeczywistości dość wyrafinowane.Większość osób zainteresowanych OData generalnie pochodzą z Microsoft tle, więc przyjrzeć dotNetRdf

+0

OK, ale dla technologii, która zależy od efektu sieci, łatwiej może oznaczać lepiej, prawda? Doskonała technologia o niskim pobraniu nie jest warta wiele w tej dziedzinie. –

+3

@Steve Bennet, biorąc pod uwagę, że rządy Facebooka, Google, USA i Wielkiej Brytanii (aby wymienić tylko kilku graczy) generują oparte na RDF dane online, wydaje się nieuzasadnione nazwać technologię "niską absorpcją". –

+0

Nie można powiedzieć, że lepiej Jeen –