我有一个如下的ttl文件:
<http://www.foo.com/subject1> <http://www.foo.com/tag> "disabled", "my-tag1" .
<http://www.foo.com/subject2> <http://www.foo.com/tag> "my-tag2" .
<http://www.foo.com/subject3> <http://www.foo.com/tag> "my-tag3" .
如何构建查询以删除标记为“已禁用”的主题?主题可以包含零个或多个标签。 我试过了,
SELECT ?subject
WHERE
{
OPTIONAL { ?subject <http://www.foo.com/tag> ?tagValue . }
FILTER (!BOUND(?tagValue) || (str(?tagValue) != 'disabled'))
}
但是当我们为一个主题提供多个标记时,这不起作用。 有什么想法吗?
答案 0 :(得分:0)
查询:
select distinct ?s where { ?s <http://www.foo.com/tag> "disabled". }
将获取标记值为“disabled”的所有资源。然后,您可以以适合您的应用程序的任何方式删除要删除的资源列表。