【问题标题】:Is it possible to combine those 2 SPARQL update queries into one?是否可以将这 2 个 SPARQL 更新查询合并为一个?
【发布时间】:2012-01-09 12:02:45
【问题描述】:

我想执行更新以删除我的 RDF 存储中两个节点之间的链接(谓词)。该链接是双向的(skos:narrower 和 skos:broader)。我想做一个唯一的查询,以确保在唯一的操作中删除两个链接。

目前,我正在使用这 2 个查询(?term 和 ?parentTerm 都将在执行时与特定 URI 绑定):

  PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
  PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>      
  DELETE
  WHERE{ 
    GRAPH ?graph {
      ?term skos:broader ?parentTerm
    }
  }

  PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
  PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>      
  DELETE
  WHERE{ 
    GRAPH ?graph {
      ?parentTerm skos:narrower ?term
    }
  }

有没有办法进行唯一查询,而不改变谓词之间可能存在的其他链接(又名:谓词)?

我厌倦了使用 ;分离查询,并将其作为单个命令发送到芝麻商店(就像您有时在 SQL 中所做的那样),但它不起作用。

【问题讨论】:

    标签: rdf sparql sesame


    【解决方案1】:

    遗憾的是,无法将此作为对上一个答案的评论...

    你可以写

    PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>      
    DELETE {
      GRAPH ?graph {
        ?term skos:broader ?parentTerm .
        ?parentTerm skos:narrower ?term .
      }
    }    
    WHERE { 
      GRAPH ?graph {
        OPTIONAL { ?term skos:broader ?parentTerm }
        OPTIONAL { ?parentTerm skos:narrower ?term }
      }
    }
    

    它更冗长,因为您不能将 OPTIONAL 与 DELETE WHERE 一起使用,但它的效率应该不会显着降低。

    注意,您还可以使用 ; 分隔 SPARQL 更新操作并在一个请求中发送它们,这应该会得到相同的行为。

    【讨论】:

    • 求答案!我也会接受它,但只有一个被授权.. 作为一个新手,无法回答......
    【解决方案2】:

    您可以将两种三元组模式组合成一个查询:

    PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
    PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>      
    DELETE
    WHERE{ 
      GRAPH ?graph {
        ?term skos:broader ?parentTerm .
        ?parentTerm skos:narrower ?term .
      }
    }
    

    请注意,这只会删除两者都存在的情况,但听起来您的数据就是这种情况。

    【讨论】:

    • 感谢您的提议。有没有办法在只有 on 存在时也可以删除?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 2022-06-13
    相关资源
    最近更新 更多