SPARQL не обязателен, фильтр VS не существует - PullRequest
0 голосов
/ 07 марта 2019

Есть ли разница (с точки зрения характеристик, стандартов и прочего) между:

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 Ответ

2 голосов
/ 08 марта 2019

Реальной разницы нет. Вторая - более старая версия, которая также работает на движках SPARQL 1.0. Однако первый вариант предпочтительнее, так как он читается более интуитивно.

...