SPARQL:如何在只有一个方向存在的情况下获得具有特定谓词的所有三元组
SPARQL: How to get all triples with certain predicate where only one direction exists
我想查询所有具有特定谓词 p 的三元组。查询应该只有 return 三元组 (s,p,o),其中另一个方向 (o,p,s) 不存在。
我怎样才能进行这样的查询?
这很简单:
SELECT ?s ?p ?o {
?s ?p ?o
MINUS { ?o ?p ?s }
}
FILTER NOT EXISTS
而不是 MINUS
也可以。将查询中的 ?p
替换为所需的谓词,或者如果要在结果中使用 ?p
,则使用类似 FILTER (?p=ex:myPredicate)
的内容。
我想查询所有具有特定谓词 p 的三元组。查询应该只有 return 三元组 (s,p,o),其中另一个方向 (o,p,s) 不存在。 我怎样才能进行这样的查询?
这很简单:
SELECT ?s ?p ?o {
?s ?p ?o
MINUS { ?o ?p ?s }
}
FILTER NOT EXISTS
而不是 MINUS
也可以。将查询中的 ?p
替换为所需的谓词,或者如果要在结果中使用 ?p
,则使用类似 FILTER (?p=ex:myPredicate)
的内容。