2012-10-21 18 views
5

Chcę napisać aplikację internetową z szynami, która używa RDF do reprezentowania połączonych danych. Ale tak naprawdę nie wiem, jakie może być najlepsze podejście do przechowywania wykresów RDF w bazie danych dla trwałego przechowywania. Również chcę użyć czegoś takiego jak paper_trail do zapewnienia wersjonowania obiektów bazy danych.Jak przechowywać wykresy RDF w pamięci masowej?

Przeczytałem o RDF.rb i activeRDF. Ale RDF.rb nie zawiera warstwy do przechowywania danych w bazie danych. A co z activeRDF?

Jestem nowy w RDF. Jakie jest najlepsze podejście do obsługi dużych wykresów RDF z szynami?

Edit:

znalazłem 4Store i AllegroGraph co pasuje do Ruby on Rails. Czytałem, że 4Store jest całkowicie darmowe, a AllegroGraph jest ograniczone do 50 milionów trójek w darmowej wersji. Jakie są zalety każdego z nich?

Dzięki.

+1

Być może powinieneś rozważyć użycie takiego produktu jak Fuseki do przechowywania twoich pieców OPB. A jeśli potrzebujesz wersji, myślę, że powinieneś rozważyć dodanie informacji o wersji do swojego modelu danych. –

+0

Dzięki. Pomogło mi to znaleźć alternatywne repozytorium. Tak więc znalazłem 4Store, AllegroGraph i kilka innych. Jakie są zalety Fuseki? – sn3ek

Odpowiedz

4

Twoja ankieta dotycząca bazy danych jest dość niekompletna. Istnieje również BigData, OWLIM, Stardog, Virtuoso, Sesame, Mulgara i TDB lub SDB, które są dostarczane przez Jena.

Fuseki jest tylko komponentem serwera dla zaplecza obsługującego interfejs API Jena w celu zapewnienia obsługi protokołu SPARQL. Zasadniczo, ponieważ używasz Ruby, w ten sposób będziesz współdziałać z bazą danych - za pośrednictwem protokołu HTTP przy użyciu protokołu SPARQL. Prawdopodobnie każda pojedyncza baza danych obsługuje protokół HTTP SPARQL w celu wysyłania zapytań, a wiele z nich będzie obsługiwało coś w odtwarzaczu z protokołem aktualizacji SPARQL, protokołem przechowywania wykresów lub podobnym niestandardowym protokołem HTTP do obsługi aktualizacji.

Jeśli więc używasz Railsów, najlepiej jest wybrać bazę danych, opracować proste opakowanie protokołu HTTP, być może pomóc w rozwidleniu istniejącej biblioteki Ruby, jeśli istnieje, i budować aplikację w oparciu o to wsparcie.

Wersjonowanie to coś, co nie jest łatwo obsługiwane w wielu systemach. Wydaje mi się, że jest jeszcze wiele przemyśleń, jak zrobić to poprawnie w bazie danych RDF. Tak więc, jeśli chcesz mieć wersję w swojej aplikacji, będziesz musiał zrobić coś niestandardowego.

Powiązane problemy