Функция минуса в оптическом запросе

#xquery #marklogic

#xquery #марклогик

Вопрос:

У меня есть требование сделать минус в одном из вариантов использования, но в MarkLogic я не могу использовать функцию минуса. Есть ли какой-нибудь альтернативный способ сделать это?

 select table1.value1 from table1 where table1.date = '2020-11-27'
minus
select table1.value1 from table1 where table1.date = '2020-11-26'
 

Ответ №1:

Оператор « MINUS » является оператором SPARQL. Аналогичная функциональность поддерживается в API Optic от MarkLogic с использованием op:except() оператора. Вы также можете использовать оператор « MINUS » в SPARQL и op:from-sparql() в API Optic, а EXCEPT также оператор «» в SQL и op:from-sql() в API Optic.

Ответ №2:

Оператор минус / вычитания в XQuery равен «-«, как и в большинстве языков. Остальная часть вашего кода немного похожа на SQL для меня (хотя в последний раз я использовал SQL около 30 лет назад), и все это нужно будет изменить.

Боюсь, я не совсем понимаю, что такое «Оптический запрос».

Комментарии:

1. Существует возможность использовать sql в marklogic, но многие функции SQL в MarkLogic не поддерживаются

2. MarkLogic имеет библиотеку функций XQuery для запросов в реляционном стиле, называемую Optic API.

3. Возможно, было ошибкой пометить вопрос XQuery.