是否可以将这两个SPARQL INSERT合并为一个?

时间:2011-12-07 10:34:24

标签: rdf sparql

我想执行以下查询,以添加关系skos:在节点a和节点b之间相关:

  PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
  INSERT { GRAPH ?graph { ?a skos:related ?b } }
  WHERE{
    GRAPH ?graph {
      { ?a skos:inScheme ?scheme } .
      { ?b skos:inScheme ?scheme }
    }
 };
 INSERT { GRAPH ?graph { ?b skos:related ?a } }
 WHERE{
   GRAPH ?graph {
     { ?a skos:inScheme ?scheme } .
     { ?b skos:inScheme ?scheme }
   }
 };

我更愿意向RDF商店发送一个查询,但找不到这样做的方法。 显然,查询在这里是通用形式,并且?a,?b,?scheme和?graph变量在执行时与特定值绑定。

有办法吗?

1 个答案:

答案 0 :(得分:1)

难道你不能断言skos的两个方向:单个查询模式中的相关关系?即:

PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
INSERT { GRAPH ?graph { ?a skos:related ?b . ?b skos:related ?a } }
WHERE{
  GRAPH ?graph {
    { ?a skos:inScheme ?scheme } .
    { ?b skos:inScheme ?scheme }
  }
};