我想寫一個SPARQL查詢應該給我所有foaf:Agents
這不是foaf:Persons
。SPARQL否定:所有foaf:非foaf的代理:人員
我看不到一種將this OPTIONAL/BOUND construct應用於此問題的方法,因爲所有屬性(如rdfs:subClassOf
和rdf:type
)都是傳遞和反射的。
我嘗試這樣做:
SELECT * WHERE {
?x rdf:type foaf:Agent
OPTIONAL { ?y rdf:type foaf:Person }
FILTER (!BOUND(?y)) }
但RDF:類型似乎是傳遞,至少JENA/ARQ/SDB。
但我怎麼設置X和Y之間的關係?? – 2009-10-24 12:16:45
SPARQL 1.1肯定會否定,ISWC 2009上的工作組面板明確表示 – RobV 2009-10-29 21:58:19
請注意,SPARQL 1.1語法(如鏈接中指定的)現在實際上是「FILTER NOT EXISTS」(需要FILTER關鍵字前面) – 2017-05-11 00:47:09