1
我想替換存儲在我的基於Jena的三重存儲中的所有主題的服務器。替換JENA Triplestore中的域名
我嘗試過這種方式,但服務器不會被替換......
DELETE { ?s ?p ?o }
INSERT { ?s1 ?p ?o }
WHERE {
{ SELECT (uri(concat('http://localhost:8080/', SUBSTR(str(?s),22))) AS ?s1)
{
?s ?p ?o .
FILTER regex(str(?s), '^https://somedomain.org/')
}
}
}
當我只運行下面的查詢
SELECT (uri(concat('http://localhost:8080/', SUBSTR(str(?s),22))) AS ?s1) ?s
{
?s ?p ?o .
FILTER regex(str(?s), '^https://somedomain.org/')
}
'?s' 和 '?S1' 做有正確的值。
看起來''s'和'?s1'在DELETE/INSERT塊內不可用。 我的更新查詢有什麼問題?
很難說沒有完整的,最小的例子。 (1)您正在運行的版本(2)您正在使用的存儲系統以及(3)數據是什麼。 – AndyS
我不認爲它應該有任何作用,但它可能是更清潔的使用'BIND(uri(concat(...))作爲...)'在'where {...}'內而不使用一個嵌套的子查詢。 –