Итак, на вашем конкретном примере заголовка предполагается, что у вас есть оригинальный RDF, например:
:something :title "Original Title" .
И вы хотите изменить его на что-то вроде:
:something :title "Updated Title" .
Использование POST Сезама только добавляет новую информацию к названному графу (контекст в терминологии кунжута), важно it не удаляет любую существующую информацию.
В терминах RDF эти две тройки представляют разные факты. Кунжут (или любое другое в этом случае триплетное хранилище) не знает, что вторая тройка должна заменить первую. Это сильно отличается от традиционной SQL / реляционной модели, которую вы можете использовать для обновления свойства, RDF не имеет правильного представления об этом, поскольку вы не можете изменить тройку как таковую. Вы можете добавить новые тройки или удалить существующие тройки.
Чтобы получить желаемое поведение при обновлении, вы должны удалить старую тройку (для этого REST API Sesame поддерживает HTTP DELETE), а затем добавить новую тройку, которая ее заменяет (используйте операцию POST Sesame, как вы делаете сейчас).
То же самое можно сказать о любом тройном магазине, который вы используете. Если, как cyrgi предлагает использовать хранилище поддержки SPARQL Update, вы можете выдать следующее (предполагается, что вы используете именованные графики) для конечной точки обновления:
DELETE DATA
{
GRAPH <http://example.org/graph> { :something :title "Original Title" . }
};
INSERT DATA
{
GRAPH <http://example.org/graph> { :something :title "Updated Title" . }
}