Any idea why NOT IN operator is not working in this query
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")).
}
The reason is that you use string literals instead of prefixed IRIs inside the NOT IN
operator. Just remove all "
and it will work well:
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)).
}