SPARQL检查是否存在多个单值

时间:2012-10-11 17:46:14

标签: filter rdf sparql

我有一个如下的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'))
}

但是当我们为一个主题提供多个标记时,这不起作用。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

查询:

select distinct ?s where { ?s <http://www.foo.com/tag> "disabled". }

将获取标记值为“disabled”的所有资源。然后,您可以以适合您的应用程序的任何方式删除要删除的资源列表。