我的RDF/OWL本體被版本化爲一個git倉庫中的RDF/XML文件,我通常在文本編輯器中進行編輯,但是我正在計劃一個手動時間過長的重構,而這對於正則表達式來說是不可能的。SPARQL爲RDF/XML更新最小差異?
具體而言,我想根據對象的類,在兩個更具體的屬性中拆分通用屬性。
例如
:Alice :responsibleFor :ACME.
:Bob :responsibleFor :Cooking.
應該成爲
:Alice :responsibleForCompany :ACME.
:Bob :responsibleForTask :Cooking.
我很感興趣,對於一般情況下的答案,而不僅僅是這個特定的屬性重構。
我的想法是將文件加載到Virtuoso Triple Store中,使用SPARQL Update查詢重構該屬性,然後將其導出爲RDF/XML文件。問題是這不會保持順序和格式,這會混淆git和使舊的歷史,如撤銷舊的提交,是不可能的。
有沒有辦法直接使用文件結構來產生儘可能小的差異?