我想更新特定图中的值。当我调用此查询时,在两个不同的图中得到两个三元组:
select *
where {
GRAPH ?g {
?s ?p ?o .
FILTER(?s = <http://mre.zcu.cz/id/2285692c932c88f8673a162ef7b5c997993da41cc>) .
FILTER(?p = ds:diagDetail).
FILTER(?o = 123)
}
}
但是当我尝试使用此查询更新此值时,没有任何反应。服务器返回成功,但三重不变。我在做什么错?
DELETE {?s ?p ?o}
INSERT {?s ?p 12345}
where {
GRAPH ?g {
?s ?p ?o .
FILTER(?s = <http://mre.zcu.cz/id/2285692c932c88f8673a162ef7b5c997993da41cc>) .
FILTER(?p = ds:diagDetail).
FILTER(?o = 123)
}
}
[尝试在DELETE和INSERT语句中包括GRAPH关键字。
DELETE {GRAPH ?g {?s ?p ?o } }
INSERT {GRAPH ?g {?s ?p 12345} }
where {
GRAPH ?g {
?s ?p ?o .
FILTER(?s = <http://mre.zcu.cz/id/2285692c932c88f8673a162ef7b5c997993da41cc>) .
FILTER(?p = ds:diagDetail).
FILTER(?o = 123)
}
}
否则,它可能会在“默认图形”中进行更改,但不会更改它们“存在”的实际图形中的三元组。