【问题标题】:How to completely delete an RDF node/instance from a graph database?如何从图形数据库中完全删除 RDF 节点/实例?
【发布时间】:2019-06-18 14:58:05
【问题描述】:

美好的一天,我正在使用 Graphdb 来存储一些三元组,如下图所示。这个特定的 RDF 节点使用常规的 URI http://example/regular/uri。我想做的不仅是完全删除附加到该节点的所有属性,还要删除节点本身。 (导致http://example/regular/uri不再出现在图数据库中)

到目前为止,我只能删除所有属性,但无法删除实际的 RDF 节点本身。这看起来很简单,但我在网上研究得越多,除非清除完整的图表,否则这似乎是不可能的。

我尝试了简单的“删除位置”查询,如 SPARQL 文档的example 11 所示。我还尝试使用通配符运算符使用简单的“删除位置”查询,如下面的查询所示:

有没有办法删除这样的 RDF 节点? 提前致谢!

【问题讨论】:

  • 你能解释一下“删除节点”是什么意思吗?而 RDF 数据集由 RDF 三元组组成,因此,您只能删除 RDF 三元组。节点是三元组的一部分,但从不单独存在
  • @AKSW 感谢您的评论。是的,我也很难给它起个名字,但 graphdbh 称它们为 . RDF 'node' 只是用 URI 标识的对象。在这个例子中,我可以删除三元组的属性(例如删除“dc:language”-relationship 及其值“english”)但是如果我删除这个对象的每个属性,(在这种情况下
  • 您是否确认删除后不存在三元组?只是在做select * { {<uri> ?p ?o} union {?s ?p <uri>}}describe <uri>

标签: sparql rdf graphdb


【解决方案1】:

只要在主语或宾语位置上存在一个或多个三元组,该节点就存在于图中。所以最简单的方法是发出两个删除语句,一个删除所有节点在主题位置的语句,一个删除所有节点在对象位置的语句。但是,如果您需要/想要通过单个操作来完成,您也可以使用过滤器来完成。

【讨论】:

  • 是的,这主要是因为我还没有真正理解 rdf。一旦与节点的所有关系消失,它就会消失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多