Динамическое обновление файла RDF - PullRequest
1 голос
/ 21 декабря 2009

Можно ли динамически обновлять rdf-файл из пользовательского ввода через веб-форму? Точный сценарий будет включать определения концепций beskos и их обновление через ввод данных пользователем в HTML-формах.

Я размышлял о xpath, но есть ли лучший / общепринятый / наилучший способ сделать это?

1 Ответ

1 голос
/ 21 декабря 2009

Для этого типа вещей существует два подхода IMO:

1 - Использование именованных графов в тройном магазине

Вместо того, чтобы редактировать фактический фиксированный файл, вы используете График, который хранится в виде именованного графа в Тройном хранилище, поддерживающем трехуровневые обновления (т. Е. Вы можете изменять отдельные Тройки в Графике). Например, для этого можно использовать магазин типа Virtuoso или магазин на основе Jena (Jena SDB / TDB), в основном любой магазин, поддерживающий язык SPARUL или имеет собственный эквивалент.

2 - Использование исправленного файла RDF и его изменение

Из вашего упоминания XPath я предполагаю, что вы намереваетесь сохранить свой файл в формате RDF / XML. Хотя XPath потенциально мог бы работать для этого, он будет зависеть от точной сериализации вашего файла и может стать очень сложным. Если ваше приложение позволит пользователям отправлять и редактировать свои собственные файлы, то у них не будет никаких гарантий относительно того, как RDF был сериализован в RDF / XML, поэтому ваши выражения XPath могут не работать. Если вы управляете всей сериализацией и обработкой RDF / XML, вы можете сохранить его в формате, в котором будет работать ваш XPath.

С моей точки зрения, самый простой способ сделать этот подход - загрузить файл в память, используя соответствующую библиотеку RDF, манипулировать им в памяти, а затем сохранить все это обратно на диск, когда пользователь выполнит (или на регулярной основе). интервалы или все, что подходит для вашего приложения)

...