Marklogic:视频sql查询内部转换为计划:执行(计划:sparql(""))

时间:2018-04-11 12:18:42

标签: marklogic marklogic-8

我正在研究MarkLogic Optic API(模板驱动提取; 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:计划:执行(计划:sparql(" * {http://marklogic.com/templateviewhttp://marklogic.com/templateviewhttp://marklogic.com/templateview。过滤器(products.md5Digest eq occurrences.md5Digest)过滤器(products.md5Digest eq recordsView.md5Digest)FILTER(adDescription eq Q {http://www.w3.org/2001/XMLSchema} string(" QSR / CEC"))}"),(),()) - 三重索引排列未启用

这里是使用sparql但我想只使用光学sql我也不想启用三重索引排列。 我不知道到底哪里错了。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

数据库是否已从先前版本升级到MarkLogic 9?

如果是这样,可能需要重新索引数据库:

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

希望有帮助,