Я экспериментирую с Sesame и Virtuoso Triplestores. На данный момент я использую Sesame Java API для добавления данных RDF в оба хранилища Triplestore.
Мои RDF-данные представляют собой разные вещи, такие как видеоданные, пользовательские данные и т. д. На данный момент я могу добавить RDF видео (название, описание, местоположение и т. д.) в Triplestore.
Но как я могу обновить RDF в магазине?
Например, если я использую REST-интерфейс sesame и делаю запрос PUT с обновленным RDF, все в магазине сначала удаляется.
Когда я использую POST с обновленными данными (например, название видео изменилось), оба заголовка (старый и новый) сохраняются.
Как вы работаете с тройными магазинами? Может быть, я пропустил здесь что-то существенное.
РЕДАКТИРОВАТЬ:
Теперь я использую Context в Sesame и Graphs в Virtuoso для каждой записи RDF. Таким образом, для обновления я могу сначала очистить контекст и добавить его снова. Поскольку я использую Sesame API для обоих магазинов Triplestore (мы еще не знаем, какой из них будем использовать), код выглядит совершенно одинаково.
ValueFactory f = rep.getValueFactory();
URI uri = f.createURI(urn);
con.clear(uri);
con.add(reader,this.baseURI, RDFFormat.RDFXML,uri);
Спасибо за помощь