SPARQL可选的未绑定VS过滤器不存在

时间:2019-03-07 18:24:28

标签: sparql semantic-web

之间是否存在差异(在性能,对标准的尊重或其他方面):

select distinct ?planeWithoutPassengers where {
    ?planeWithoutPassengers a <http://example.org/plane> .
    filter not exists {
        ?planeWithoutPassengers <http://example.org/hasPassenger> ?passenger .
    }
}

并且:

select distinct ?planeWithoutPassengers where {
    ?planeWithoutPassengers a <http://example.org/plane> .
    optional {
        ?planeWithoutPassengers <http://example.org/hasPassenger> ?passenger .
    }
    filter (!bound(?passenger)).
}

1 个答案:

答案 0 :(得分:2)

没有真正的区别。第二个是较旧的版本,它也可以在SPARQL 1.0引擎上使用。但是,第一个是首选,因为它读起来更直观。

相关问题