2012-10-21 3 views
5

링크 된 데이터를 나타 내기 위해 RDF를 사용하는 레일스로 웹 앱을 작성하고 싶습니다. 하지만 영구 저장을 위해 데이터베이스 내에 RDF 그래프를 저장하는 최선의 방법이 무엇인지 모르겠습니다. 또한 저는 paper_trail과 같은 것을 사용하여 데이터베이스 객체 버전 지정을 제공하려고합니다.데이터 저장소에 RDF 그래프를 저장하는 방법은 무엇입니까?

RDF.rb 및 activeRDF에 대해 읽었습니다. 그러나 RDF.rb에는 데이터베이스에 데이터를 저장하는 계층이 포함되어 있지 않습니다. activeRDF는 어떻습니까?

저는 RDF를 처음 사용했습니다. 레일이있는 큰 RDF 그래프를 처리하는 가장 좋은 방법은 무엇입니까?

편집 :

나는 4Store 및 레일에 루비에 맞는 것을 AllegroGraph을 발견했다. 나는 4Store가 전적으로 무료이며 AllegroGraph는 무료 버전에서 5 천만 개의 트리플로 제한된다는 것을 읽었습니다. 그들 각각의 장점은 무엇입니까?

감사합니다.

+1

아마도 Fuseki와 같은 제품을 사용하여 RDF를 저장하는 것을 고려해야합니다. 버전 관리가 필요하다면 데이터 모델에 버전 정보를 추가하는 것을 고려해야한다고 생각합니다. –

+0

감사합니다. 그 덕분에 저장소 대안을 찾을 수있었습니다. 그래서 저는 4Store, AllegroGraph 및 다른 것을 발견했습니다. 후세키의 장점은 무엇입니까? – sn3ek

답변

4

데이터베이스 설문 조사가 아주 불완전합니다. BigData, OWLIM, Stardog, Virtuoso, Sesame, Mulgara 및 TDB 또는 SDB는 Jena으로 제공됩니다.

명확히하기 위해 Fuseki는 Jena API를 지원하는 백엔드의 서버 구성 요소 일 뿐이며 SPARQL 프로토콜을 지원합니다. 일반적으로 Ruby를 사용하기 때문에 SPARQL 프로토콜을 사용하는 HTTP를 통해 데이터베이스와 상호 작용하는 방법입니다. 아마도 모든 단일 데이터베이스는 질의를위한 SPARQL HTTP 프로토콜을 지원할 것이며, 많은 사람들은 SPARQL 업데이트 프로토콜, 그래프 저장 프로토콜 또는 업데이트를 처리하기위한 비슷한 사용자 지정 HTTP 프로토콜의 야구장에서 뭔가를 지원할 것입니다.

레일스를 사용하도록 설정했다면 데이터베이스를 선택하고 HTTP 프로토콜에 대한 간단한 래퍼를 작성하고 기존 루비 라이브러리가있는 경우 지원을 포기하고 응용 프로그램을 빌드하는 것이 가장 좋습니다. 지원을 기반으로합니다.

버전 관리는 많은 시스템에서 쉽게 지원되지 않습니다. 나는 RDF 데이터베이스에서 RDF를 올바르게 수행하는 방법에 대한 생각이 아직도 많이 남아 있다고 생각한다. 따라서 응용 프로그램에서 버전 관리를 원할 경우 사용자 지정 작업을 수행해야합니다.