Je suis en train d'exécuter l'exemple inférence suivante sur ML 8.0 et il est plaignaisFonction non définie ETM: sparql-update() tout en essayant d'exécuter par exemple l'inférence
« [1,0 ml] XDMP-UNDFUN: (err : XPST0017) Fonction indéfinie sem: sparql-update() "
Quelqu'un peut-il donner une idée de la raison de ce problème?
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> :)
J'ai vérifié semantics.xqy, je ne vois pas la fonction sparql-update() définie ici. –
Le code fonctionne bien dans 8.0-3. Quelle version utilisez-vous exactement? Exécutez xdmp: version() pour vérifier. – grtjn
J'utilise la version 8.0-2 –