Я работаю над 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. ФИЛЬТР (products.md5Digest eq Events.md5Digest) FILTER (products.md5Digest eq recordsView.md5Digest) FILTER (adDescription eq Q {< a href = "http://www.w3.org/2001/XMLSchema" rel = "nofollow noreferrer"> http://www.w3.org/2001/XMLSchema } строка ("QSR / CEC" ))} "), (), ()) - Тройная перестановка индексов не включена

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

0
Shivlingappa Suryawanshi 11 Апр 2018 в 15:18

1 ответ

Лучший ответ

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

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

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

Надеюсь, что это помогает,

1
ehennum 12 Апр 2018 в 15:33