1

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

但是当我们为一个主题有多个标签时,这不起作用。有任何想法吗?

4

1 回答 1

0

查询:

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

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

于 2012-10-11T18:57:47.070 回答