我试图编写一个SPARQL查询,该查询应该给出所有不是 foaf:Persons
的foaf:Agents
。
我无法想到如何将这个OPTIONAL/BOUND构造应用于这个问题,因为像 rdfs:subClassOf
和 rdf:type
这样的属性是传递和自反的。
我尝试了这个:
SELECT * WHERE {
?x rdf:type foaf:Agent
OPTIONAL { ?y rdf:type foaf:Person }
FILTER ( !BOUND(?y) ) }
但是 rdf:type 看起来是可传递的,至少在 JENA / ARQ / SDB 中是这样。
FILTER NOT EXISTS
(需要前置FILTER
关键字)。 - Tom Saleeba