当前位置: 首页 > 知识库问答 >
问题:

通过SPARQL更新从本体中删除空白节点

陆飞捷
2023-03-14

我在SPARQLUPDATE插入操作的帮助下,在我的本体论模型中存储了一些数据。下面是更新查询。

PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
insert {
  [] test:Kpi_Variable ?s ;
     test:hasValue_ROB4 ?p ;
     test:hasTime ?now .
}
where {

    values (?s ?p) {
        (test:Actual_Production_Time 33)
    }
    bind (now() as ?now)
}

它以以下方式存储在rdf图中:

[ test:Kpi_Variable   test:Actual_Production_Time ;
  test:hasTime        "2017-06-02T14:40:33.187+03:00"^^xsd:dateTime ;
  test:hasValue_ROB4  33
] .

现在我想用“删除”操作删除这个空白节点。我试过很多方法,但都不管用。有什么建议吗?

共有1个答案

龚运乾
2023-03-14

使用删除

PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>

DELETE
  {
  ?b  test:Kpi_Variable ?s ;
      test:hasValue_ROB4 ?p ;
      test:hasTime ?t .
  }
WHERE
  {
  ?b  test:Kpi_Variable ?s ;
      test:hasValue_ROB4 ?p ;
      test:hasTime ?t .
  FILTER (?t < now())
  FILTER (isBlank(?b))
  # ...
  VALUES (?s ?p) { (test:Actual_Production_Time 33) }
  }

使用删除其中的

PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
DELETE
WHERE
  {
  ?s  test:Kpi_Variable test:Actual_Production_Time ;
      test:hasValue_ROB4 33 ;
      test:hasTime "2017-06-00T00:00:00.000+00:00"^^xsd:dateTime . 
  }

空白节点和空白节点标签(以及FILTER等)不能在DELETE WHERE中使用。

 类似资料:
  • 问题内容: 我需要在PHP中删除空白行(带空格或绝对空白)。我使用此正则表达式,但不起作用: 我想要一个结果: 将: 问题答案: 上面的正则表达式说:

  • 我遇到了损坏的CSV问题,它在图像链接中有空白。 CSV文件由我的客户业务合作伙伴自动创建,约22000行。CSV中大约有30个链接被破坏,我无法修复。因为它每3小时更新一次。 所以,我试图想出一个自动的解决方案,但似乎没有任何效果。 问题在于图像链接,如以下链接:https://images.tyroo.de/GISLAVED_ULTRA_SPEED2�.jpg 它以前有空间。一些文件有3个空格

  • 我一直试图创建一个宏来格式化从特定外部源复制的表,问题是,一些单元格似乎从右向左填充,剩余的空间向左填充空格:

  • 问题内容: 我有一些Java(5.0)代码,可以从各种(缓存的)数据源构造DOM,然后删除不需要的某些元素节点,然后使用以下方法将结果序列化为XML字符串: 但是,由于要删除几个元素节点,所以最终的序列化文档中最终会有很多额外的空格。 有没有一种简单的方法可以在将DOM序列化为String之前(或同时)从DOM中删除/折叠多余的空格? 问题答案: 您可以使用XPath查找空文本节点,然后以编程方式

  • 用于从CSV中删除空白列的Powershell脚本 我有一个电子表格,我正在将其导入MySQL数据库,由于电子表格中的空白列,导入失败。 是否有一个PowerShell脚本,我可以运行/创建,将检查任何给定的CSV文件并删除空白列? Col1,Col2,Col3,Col4,,,Val1,Val2,Val3,Val4

  • 如何通过引用对象或特定节点,有效地从java的LinkedList中删除节点?使用remove(object)遍历整个列表,文档证明了这一点:“删除第一个元素e,以便(o==null?e==null:o.equals(e))”。我可以通过对节点的特定引用来删除吗?我不介意将对节点的引用存储在对象本身中。我不能使用列表的索引,因为它可能会改变。如果没有,是否有另一种数据结构允许我这样做?