如何解决SPARQL 中的 NOT IN 运算符
知道为什么 NOT IN 运算符在此查询中不起作用
SELECT ?p0 ?o0
WHERE {
<http://dbpedia.org/resource/Berlin> ?p0 ?o0 .
FILTER (?p0 NOT IN("rdfs:label","dbo:abstract","dbo:wikiPageWikiLink","dbp:image","dbp:wikiPageUsestemplate","rdfs:comment","rdfs:label","rdfs:seeAlso","owl:sameAs","dbo:wikiPageExternalLink","dbo:wikiPageID","dbo:wikiPageLength","dbo:wikiPageRevisionID","dbp:image")).
}
解决方法
原因是您在 NOT IN
运算符中使用了 string literals 而不是 prefixed IRIs。只需删除所有 "
即可正常工作:
SELECT ?p0 ?o0
WHERE {
<http://dbpedia.org/resource/Berlin> ?p0 ?o0 .
FILTER (?p0 NOT IN(rdfs:label,dbo:abstract,dbo:wikiPageWikiLink,dbp:image,dbp:wikiPageUsesTemplate,rdfs:comment,rdfs:label,rdfs:seeAlso,owl:sameAs,dbo:wikiPageExternalLink,dbo:wikiPageID,dbo:wikiPageLength,dbo:wikiPageRevisionID,dbp:image)).
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。