Marklogic: оптический запрос sql внутренне преобразован в план: выполнить (план: sparql (""))

Я работаю над MarkLogic Optic API (Template Driven Extraction; TDE) и пытаюсь выполнить запрос с использованием Java API. У меня проблемы с извлечением данных из вложенного шаблона. где я применяю простую операцию равенства, например

let $template  := op:from-view("records", "recordsView") 
let $templateProducts :=op:from-view("records", "products")
let $templateOccurrences :=op:from-view("records", "occurrences")
return $template
 =>op:join-inner(op:from-view("records", "products")
 =>op:join-inner(op:from-view("records", "occurrences"), op:on(op:view-col("products", "md5Digest"), op:view-col("occurrences", "md5Digest"))), op:on(op:view-col("products", "md5Digest"), op:view-col("recordsView", "md5Digest")))
 =>op:where(op:eq(op:col("adDescription"), "QSR/CEC"))
 =>op:result()

тогда он выдает ошибку

XDMP-TRPLPERMNOTFOUND: plan:execute(plan:sparql(" * { http://marklogic.com/templateview . http://marklogic.com/templateview . http://marklogic.com/templateview . FILTER (products.md5Digest eq occurrences.md5Digest) FILTER (products.md5Digest eq recordsView.md5Digest) FILTER (adDescription eq Q{http://www.w3.org/2001/XMLSchema}string("QSR/CEC")) }"), (), ()) -- Triple index permutation not enabled

здесь используется sparql, но я хочу использовать только optic sql, также я не хочу включать тройную перестановку индексов. я точно не знаю, что не так. любая помощь приветствуется.

0
0
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Была ли база данных обновлена ​​с предыдущей версии до MarkLogic 9?

Если это так, возможно, потребуется переиндексировать базу данных:

http://docs.marklogic.com/messages/XDMP-en/XDMP-TRPLPERMNOTFOUND

Надеясь, что это поможет,

Другие вопросы по теме