我们有一些包含oa:Annotations且具有某些属性的图。由于我正在处理服务器的本地副本,因此更改这些URI指向本地主机对我很有用。根据我读过的书,我认为这应该起作用,但事实并非如此。它似乎并没有改变任何东西。服务器仍然返回204,我使用的是端口和url(/ update)。所以我绝对应该能够改变事情。没有错误消息。
PREFIX oa: <http://www.w3.org/ns/oa#>
DELETE
{ GRAPH ?g {?oldIRI ?p ?o} }
INSERT
{ GRAPH ?g {?newIRI ?p ?o} }
WHERE
{
GRAPH ?g {
?oldIRI a oa:Annotation .
?oldIRI ?p ?o .
}
BIND(
CONCAT("http://localhost:80",
SUBSTR( STR(?oldIRI),
34,
STRLEN(STR(?oldIRI)) )
) AS ?newIRI
)
FILTER(CONTAINS(?oldIRI, "part_of_old_url"))
}
有人知道为什么它没有达到我希望的效果吗?我用作参考的书确实具有更改属性及其值的“方法”,但是没有更改主题的示例,因此我认为存在更普遍的问题吗?
如评论中所建议,我使用CONTAINS(STR(?oldIRI), "part_of_old_url")
将oldIRI转换为字符串。我尚不完全了解所有更改,但这就是我可以说的:(我有备份,不用担心:D)
PREFIX oa: <http://www.w3.org/ns/oa#>
SELECT *
WHERE {
GRAPH ?g {
?iri a oa:Annotation .
}
} LIMIT 100
此查询的结果为零。这是一个默认查询,我经常使用它来获取一些注解uri,以便进行调查。