2011-12-07 62 views
1

我想執行下面的查詢,添加關係SKOS:節點A和節點B之間的關係:是否可以將這2個SPARQL INSERT合併爲一個?

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

難道你不能只在單個查詢模式中斷言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 } 
    } 
}; 
+0

作品indeed.Tried'與 INSERT {圖圖{{ 一個SKOS:??相關的B}? {?b skos:related?a} } ...' 哪個沒有用。不知道差異,但... – blackbox

+0

我認爲它不適用於嵌套的{} s是實施中的錯誤。 SPARQL更新相當新穎,因此並非所有實施都很好地動搖,並將其報告給供應商。 –

相關問題