Я пытаюсь запустить следующий логический вывод примера на ML 8.0 и жалуетсяНеопределенной функция семафора: SPARQL-обновление() при попытке запуска логического вывода примера
«[1,0 мл] XDMP-UNDFUN: (ERR : XPST0017) Неопределенная функция sem: sparql-update() "
Может кто-нибудь понять, почему эта проблема возникла?
http://docs.marklogic.com/guide/semantics/inferencing?print=yes
import module namespace sem = "http://marklogic.com/semantics"
at "/MarkLogic/semantics.xqy";
let $sup :=
'
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
INSERT DATA
{ <someMedicalCondition> rdf:type <osteoarthritis> .
<osteoarthritis> rdfs:subClassOf <bonedisease> . }'
return sem:sparql-update($sup)
; (: transaction separator :)
let $sq :=
'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX d: <http://diagnoses#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?diagnosis
WHERE { ?diagnosis rdf:type <bonedisease>. } '
let $rs := sem:ruleset-store("rdfs.rules", sem:store())
(: rdfs:rules is a predefined rule set in <MarkLogic-install-dir>/Config :)
return sem:sparql($sq,(),(), $rs)
(: the rules specify that query for <bonedisease> will return the subclass <osteoarthritis> :)
Я проверил semantics.xqy, я не вижу там функции sparql-update(). –
Код работает нормально в 8.0-3. Какую версию вы используете точно? Запустите xdmp: version() для проверки. – grtjn
Я использую версию 8.0-2 –