Я попытался обновить встроенные тройки в marklogic с помощью xquery, но, похоже, он не работает для встроенных троек, однако тот же запрос работает для других троек. Можете ли вы сказать мне, есть ли какой-либо другой параметр, который необходимо указать при выполнении обновления для встроенных троек? . Код, который я использовал,
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics"
at "/Marklogic/semantics.xqy";
let $triples := cts:triples(sem:iri("http://smartlogic.com/document#2012-10-26_DNB.OL_(Citi)_DNB_ASA_(DNB.OL)__Model_Update.61259187.xml"),()())
for $triple in $triples
let $node := sem:database-nodes($triple)
let $replace :=
<sem:triple>
<sem:subject>http://www.example.com/products/1001_Test
</sem:subject>
{$node/sem:predicate, $node/sem:object}
</sem:triple>
return $node ! xdmp:node-replace(., $replace)
Мой документ содержит следующую тройку
<sem:triples xmlns:sem="http://marklogic.com/semantics">
<sem:triple>
<sem:subject>http://smartlogic.com/document#2012-10-26_DNB.OL_(Citi)_DNB_ASA_(DNB.OL)__Model_Update.61259187.xml</sem:subject>
<sem:predicate>http://www.smartlogic.com/schemas/docinfo.rdf#cik</sem:predicate>
<sem:object>datatype="http://www.w3.org/2001/XMLSchema#string</sem:object>
</sem:triple>
</sem:triples>
и я хочу, чтобы эта конкретная тема превратилась во что-то вроде этого
<sem:subject>http://www.example.com/products/1001_Test</sem:subject>
Но когда я использую xquery для его обновления, он ничего не меняет, встроенная тройка в документах остается прежней. Потому что, когда я попытался увидеть, изменился ли какой-либо из результатов на предмет, который я указал, он не дал мне никаких результатов.
Я использовал следующий запрос для тестирования.
SELECT *
WHERE {
<http://www.example.com/products/1001_Test> ?predicate ?object
}
sem:subject
2) откуда вы знаете, что он не работает? Что находится в документе после завершения запроса? - person Florent Georges   schedule 24.06.2015doc()
или//sem:triples
для просмотра самих элементов XML) - person Florent Georges   schedule 24.06.2015