2012-10-21 24 views
5

Voglio scrivere un'app Web con le guide che utilizza RDF per rappresentare i dati collegati. Ma davvero non so quale potrebbe essere l'approccio migliore per archiviare i grafici RDF all'interno di un database per l'archiviazione persistente. Inoltre voglio usare qualcosa come paper_trail per fornire oggetti di database versioning.Come memorizzare i grafici RDF all'interno di una memoria dati?

Ho letto su RDF.rb e activeRDF. Ma RDF.rb non include un livello per archiviare i dati in un database. Che ne pensi di activeRDF?

Sono nuovo di RDF. Qual è l'approccio migliore per gestire i grafici RDF di grandi dimensioni con le guide?

Edit:

ho trovato 4Store e AllegroGraph quello che si adatta per Ruby on Rails. Ho letto che 4Store è interamente gratuito e AllegroGraph è limitato a 50 milioni di triple nella versione gratuita. Quali sono i vantaggi di ognuno di loro?

Grazie.

+1

Forse dovresti considerare l'utilizzo di un prodotto come Fuseki per memorizzare i tuoi RDF. E se hai bisogno del controllo delle versioni, penso che dovresti prendere in considerazione l'aggiunta di informazioni sulla versione al tuo modello di dati. –

+0

Grazie. Questo mi ha aiutato a trovare alcune alternative di repository. Così ho trovato 4Store, AllegroGraph e altri. Quali sono i vantaggi di Fuseki? – sn3ek

risposta

4

Il sondaggio del database è piuttosto incompleto. C'è anche BigData, OWLIM, Stardog, Virtuoso, Sesame, Mulgara e TDB o SDB forniti da Jena.

Per chiarire, Fuseki è solo un componente server per un back-end che supporta l'API Jena per fornire supporto per il protocollo SPARQL. In generale, dal momento che stai usando Ruby, questo è il modo in cui interagirai con un database - tramite HTTP usando il protocollo SPARQL. Probabilmente ogni singolo database supporta il protocollo SPARQL HTTP per l'interrogazione, e molti supporteranno qualcosa nel ballpark del protocollo di aggiornamento SPARQL, del protocollo dell'archivio grafico o di un protocollo HTTP personalizzato simile per la gestione degli aggiornamenti.

Quindi, se si utilizza Rails, la soluzione migliore è scegliere un database, elaborare un semplice wrapper per il protocollo HTTP, magari forgiare il supporto in una libreria Ruby esistente, se esistente, e creare la propria applicazione basato su tale supporto.

Il controllo delle versioni è qualcosa che non è facilmente supportato in molti sistemi. Penso che ci sia ancora molto da pensare su come farlo correttamente in un database RDF. È molto probabile che, se desideri il controllo delle versioni nella tua applicazione, dovrai fare qualcosa di personalizzato.

Problemi correlati