Предположим, у меня есть большое количество разнородных документов JSON (то есть именованных сопоставлений значений ключа) и иерархия классов (то есть именованных наборов), к которым эти документы прикреплены. Мне нужно настроить структуру данных, которая позволит:
Изначально мне пришла в голову идея хранить документы JSON в документно-ориентированной базе данных (например, CouchDB или MongoDB) и хранить иерархию классов в хранилище RDF (например, 4store). 1
, 2
и 4
затем вычисляются естественным образом, а 3
решается путем сохранения списка прикрепленных идентификаторов документов для каждого класса в место хранения.
Но потом я подумал, что хранилище RDF действительно может выполнять ориентированную на документы часть извлечения документов JSON по идентификатору. На первый взгляд это кажется правдой, но меня все еще беспокоят 2
и 3
. Есть ли RDF-хранилище, способное извлекать документы (узлы) со скоростью, ориентированной на документы, обслуживаемые базами данных? Как быстро он будет обслуживать 3
-подобных запросов? Я немного слышал о медленных хранилищах RDF, проблемах реификации и т. Д.
Существует ли RDF-хранилище, которое также удобно для случайного извлечения объектов по идентификатору, как, например, CouchDB? В чем разница между использованием документ-ориентированного хранилища и хранилища RDF для хранения, извлечения и редактирования объектов, подобных JSON?