НЕ В операторе в SPARQL

#sparql

Вопрос:

Любая идея, почему оператор 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")). 
}
 

Ответ №1:

Причина в том, что вы используете строковые литералы вместо префиксов IRIs внутри 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)).
}
 

<a rel=»noreferrer noopener nofollow» href=»https://dbpedia.org/sparql?default-graph-uri=http://dbpedia.orgamp;query=SELECT ?p0 ?o0
WHERE {
?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)).
}amp;format=text/htmlamp;timeout=30000amp;signal_void=onamp;signal_unconnected=on» rel=»nofollow noreferrer»>Попробуйте