2012-06-19 9 views
9

Sto cercando di ottenere la mia testa intorno a due approcci molto diversi per la condivisione dei dati: OData e Semantic Web/dati collegati. C'è un buon confronto tra i due?Confronto di OData e Semantic Web/Linked Data

A quanto ho capito, OData combina syndication/CRUD (AtomPub), formati di serializzazione (XML, JSON), un modello di dati, un linguaggio di query e alcune semantiche/convenzioni che regolano l'uso di quelle tecnologie esistenti. È destinato principalmente all'esposizione di dati da un sistema in modo che altri possano consumarlo.

Linked Data è un modello di dati, un rigoroso impegno per gli URI, un formato di serializzazione (facoltativo?) (RDF/XML), ma (correggimi se ho torto) non dice nulla sul trasporto, CRUD, ecc. Sembra destinato a consentire l'inferenza attraverso molti piccoli pezzi di dati tratti da un'ampia varietà di fonti. (Non è qualcosa di molto importante per noi in questo momento - vorremmo sincronizzare grandi quantità di dati tra un piccolo numero di fonti e voler conservare le informazioni sulla provenienza).

Sono interessato alle tecnologie per la condivisione dei dati tra alcune piattaforme di gestione dei dati, alcuni dei quali io lavoro su direttamente. OData sembra più allettante in quanto è molto semplice da spiegare agli sviluppatori: implementare questa API, seguire lo standard Atom, serializzare i dati in questo modo. Stiamo già facendo qualcosa di molto simile per una piattaforma: condividendo dati serializzati XML su un feed Atom, con i parametri URL usati per filtrare.

Al contrario, le mie esperienze passate di lavoro con RDF mi hanno dato un'impressione di fragilità, opaco (massicce lastre di RDF/XML), inaccessibile (usando SPARQL vs SQL) - ma forse sto confondendo l'esperienza di lavoro con un triplestore come Jena semplicemente esponendo un database esistente tramite un'API dati collegata.

Tutti gli indicatori, commenti ecc sulle differenze e le similitudini tra questi due approcci in termini di portata, le tecnologie, la facilità, potenziale futuro ecc sarebbe grande.

+0

Steve - non è sicuro che questo sia il miglior forum per questo tipo di domande in quanto potrebbe trascinarlo per un po '. Mi piacerebbe discutere, però, o spostate la domanda su http://programmers.stackexchange.com/ o contattatemi dal mio nuovo blog (bitwhys.com)? –

+2

Solo per descrivere brevemente alcuni dei vostri punti sulla tecnologia dei dati RDF/collegati: "lastre massicce di RDF/XML" non è la norma, e suona più come un'applicazione non corretta della tecnologia. Chiamare SPARQL (al contrario di SQL) "inaccessibile" è una questione di gusti, immagino. Ma SPARQL non è richiesto per applicare i principi dei dati collegati. È semplicemente conveniente. –

+1

A febbraio/2015 la piattaforma di dati collegati è una raccomandazione del W3C: https://www.w3.org/TR/ldp/ LDP indirizza la parte in lettura/scrittura (CRUD nella tua domanda) dei dati collegati che mancava. –

risposta

6

Penso che discutere di questo in profondità non è davvero quello che StackOverflow è destinato, ma solo per darvi alcune indicazioni per discussioni interessanti sulle differenze e sovrapposizioni:

Una delle differenze chiave sembra essere che OData non ha mezzi per collegare tra loro dati provenienti da fonti diverse. Essenzialmente, sei ancora bloccato in un silo.

Potrebbe anche essere interessante verificare vari tentativi di conversione dei dati tra i due approcci. Vedi a.o. http://answers.semanticweb.com/questions/1298/has-anyone-written-a-mapping-from-odata-to-rdf.

+0

Grazie per i link - sebbene imho il "sei ancora bloccato in un silo" sta esagerando. (Vedi MS dichiarando esplicitamente la distruzione del silos come obiettivo qui: http://blogs.msdn.com/b/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol- odata.aspx) –

+0

@SteveBennett bene, quello che affermano come il loro obiettivo e ciò che effettivamente forniscono non è necessariamente lo stesso, ovviamente. Il punto è esplorato più dettagliatamente in alcuni degli articoli menzionati sopra. Tuttavia, non sono un esperto di OData, quindi forse ho trascurato un meccanismo standardizzato per il collegamento dei dati. –

+0

Non credo che "silo di informazioni" sia sinonimo di "informazioni che non possono collegarsi esternamente". Se riesci a ottenere facilmente le informazioni dentro e fuori da un sistema, in un formato standard con la semantica standard, penso che gran parte del problema della siloificazione si allontani. –

4

OData può essere più facile, ma non è migliore, con qualsiasi mezzo. SPARQL e RDF (dimenticano RDF/XML, meglio guardare Turtle) soddisfa tutto in OData oltre a fornire molte caratteristiche più tagliente come ad esempio:

  • Federazione estensioni
  • Linked Data
  • ragionamento e inferenza (per i più coraggiosi)

Allo stesso modo, il software che supporta gli standard è in realtà piuttosto sofisticato.La maggior parte delle persone interessate a OData generalmente provengono da un background di Microsoft, in modo da dare un'occhiata a dotNetRdf

+0

Ok, ma per una tecnologia che dipende dall'effetto rete, più facile può significare meglio, giusto? Una tecnologia superiore con basso assorbimento non vale molto in quest'area. –

+3

@Steve Bennet, dato che Facebook, Google, i governi statunitense e britannico (per citare solo alcuni giocatori) producono dati collegati basati su RDF online, sembra ingiustificato chiamare la tecnologia "basso assorbimento". –

+0

Non avresti potuto dirlo meglio Jeen –