更新特定图形中的值

问题描述 投票:0回答:1

我想更新特定图中的值。当我调用此查询时,在两个不同的图中得到两个三元组:

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)
  }
}
sparql jena
1个回答
0
投票

[尝试在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)
  }
}

否则,它可能会在“默认图形”中进行更改,但不会更改它们“存在”的实际图形中的三元组。

© www.soinside.com 2019 - 2024. All rights reserved.