cts:triple-range-query with triple in document properties

cts:triple-range-query with triple in document propties

我想执行 cts:triple-range-query,如 https://docs.marklogic.com/cts:triple-range-query 的示例部分所示。但是,我将三元组放在文档属性中。

很遗憾,以下查询没有 return 文档。

xquery version "1.0-ml";

let $query := cts:triple-range-query(
  sem:iri("http://example.com/Mark"),
  sem:iri("http://example.com/ns/person#age"),
  50,
  "<"
)
return cts:search(fn:doc(), $query)

如何使查询与存储在文档属性中的三元组一起工作?

尝试像这样在 cts:properties-fragment-query 中封装您的查询:

return cts:search(fn:doc(), cts:properties-fragment-query($query))

通过使用 envelope 或 sidecar(具有确定性 URI 的第二个文档)设计模式进行横向扩展时,您可能会获得更高的性能结果。