SPARQL与SHACL:数据操作与约束验证的利器
1. SPARQL数据操作
从1.1版本开始,SPARQL可用于向图中插入或删除三元组。主要有两种操作类型:基于条件向RDF图插入或删除三元组,以及向RDF图插入或删除(子)图。
1.1 条件插入和删除
INSERT和DELETE查询分别用于向RDF图添加和删除三元组,这两个操作也可在同一查询中组合使用,以模拟UPDATE操作。只有与WHERE子句中的模式匹配的三元组才会被修改。WHERE子句可使用前面介绍的查询模式原语构建,例如FILTER、OPTIONAL、BIND。
DELETE/INSERT语法允许使用快捷方式指定WHERE子句中的查询模式将在哪个图中进行评估(使用WITH和USING关键字)。
例如,对于每个:name值为 “Innsbruck” 的实例,移除:name对象为 “Innsbruck” 的三元组,并添加:name属性对象为 “City of Innsbruck” 的三元组。
1.2 插入和删除RDF图
INSERT DATA和DELETE DATA查询用于向(命名)图添加或删除一组RDF三元组(无附加条件)。这些三元组不应包含任何变量。插入时若使用空白节点,它们将被视为新的空白节点,与目标图中现有的空白节点无关。DELETE DATA操作还不允许使用任何空白节点。
| 操作类型 | 描述 | 适用场景 |
|---|---|---|
| IN |
超级会员免费看
订阅专栏 解锁全文
8611

被折叠的 条评论
为什么被折叠?



