我正在管理一个命名图(每个命名图模式有多个资源),并且需要更新命名图以进行版本控制图的任何更改。
首先,我有一个当前版本的命名图。
问题陈述:每当我收到一个 delta turtle 文件(ttl 将只有更改的三元组),必须创建一个名为 graph 的新版本,其中包含 delta 更改(当前版本 + delta)。 命名图版本图
**V1 named graph**
prefix ex: http://example.org/def/
prefix id: http://example.org/id/
prefix graph: <http://example.org/graph/>
id:a ex:hasLabel "a" graph:v1 .
id:b ex:hasLabel "b" graph:v1.
id:b ex:hasChild id:d graph:v1.
id:c ex:hasLabel "c" graph:v1
id:c ex:hasChild id:d graph:v1 .
id:d ex:hasLabel "d" graph:v1.
**DELTA file**
id:b ex:hasLabel "B".
id:c ex:hasChild id:e .
id:e ex:hasLabel "e" .
**Expected V2 Named graph with the delta change incorporated**
id:a ex:hasLabel "a" graph:v2.
id:b ex:hasLabel "B" graph:v2.
id:b ex:hasChild id:d graph:v2.
id:c ex:hasLabel "c" graph:v2.
id:c ex:hasChild id:d graph:v2.
id:d ex:hasLabel "d" graph:v2.
id:c ex:hasChild id:e graph:v2.
id:e ex:hasLabel "e" graph:v2.
我将命名图 v1 发布到一个新的命名图 V2。尝试 HTTP PUT 和 PATCH 进行更新,但它只是用增量文件替换它(我需要在新命名图中保留未更改的节点)。
是否可以使用我在 SPARQL 1.1 Graph Store HTTP Protocol 中阅读的 HTTP PATCH 来做到这一点:
然而,对于 PATCH,封闭的实体包含一组说明,描述如何修改驻留在源服务器上的 RDF 图内容以生成新版本。
感谢是否有人可以给我一些指示或想法以达到解决方案。谢谢。