代码之家  ›  专栏  ›  技术社区  ›  Shivlingappa Suryawanshi

Marklogic:optic sql查询内部转换为计划:执行(计划:sparql(“”)

  •  0
  • Shivlingappa Suryawanshi  · 技术社区  · 6 年前

    我正在研究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/templateview http://marklogic.com/templateview http://marklogic.com/templateview .过滤器(products.md5Digest eq occurrents.md5Digest)过滤器(products.md5Digest eq recordsView.md5Digest)过滤器(AddDescription eq{ http://www.w3.org/2001/XMLSchema }字符串(“QSR/CEC”)}“,(),())--未启用三重索引排列

    这里使用的是sparql,但我只想使用optic sql,也不想启用三重索引排列。 我不知道到底怎么了。 非常感谢您的帮助。

    1 回复  |  直到 6 年前
        1
  •  1
  •   ehennum    6 年前

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

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

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

    希望这有帮助,