У меня есть репозиторий контента, где в последних версиях документов используется тройка IsLatestVersion.Как вернуть набор MarkLogic URI с помощью cts: triple-range-query()?
Это пример документа с тройкой isLatestVersion.
Document URI: /Transaction/00000000000101000000/1.xml
<aptp:Transaction xmlns:aptp="http://sample.com/aptp">
<aptp:TransactionDate>2016-07-28</aptp:TransactionDate>
<aptp:TransactionType>Principal</aptp:TransactionType>
<aptp:Operation>Buy</aptp:Operation>
<sem:triple name="isLatestVersion"
xmlns:aptp="http://sample.com/aptp"
xmlns:sem="http://marklogic.com/semantics">
<sem:subject datatype="http://www.w3.org/2001/XMLSchema#string">
/Transaction/00000000000101000000/1.xml
</sem:subject>
<sem:predicate>isLatestVersion</sem:predicate>
<sem:object datatype="http://www.w3.org/2001/XMLSchema#boolean">true</sem:object>
</sem:triple>
</aptp:Transaction>
Я хотел бы получить следующий фрагмент кода, чтобы вернуть последовательность последней версии uris. В настоящее время он возвращает пустой набор.
import module namespace sem = "http://marklogic.com/semantics" at "/MarkLogic/semantics.xqy";
let $uris :=
(
"/Transaction/00000000000101000000/1.xml",
"/Transaction/00000000000101000001/1.xml",
"/Transaction/111111/1.xml"
)
let $query := cts:triple-range-query($uris, "isLatestVersion", fn:true())
return
cts:uris("",(), $query)
Я пропустил что-то очевидное?
Я вижу, что мне просто нужно добавить sem: iri ("isLatestVersion") к запросу. –