我正在尝试使用subClassOf关系运行推理示例。
出于某种原因,我在使用xquery时获取了select查询结果,但在使用sparql时却没有。
let $sq :=
'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT *
WHERE { ?s rdf:type <http://www.smartlogic.com/geography#Europe> .
} '
let $rs := sem:ruleset-store("rdfs.rules", sem:store())
return sem:sparql($sq, (), (), $rs)
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT *
WHERE { ?s rdf:type <http://www.smartlogic.com/geography#Europe> .
}
答案 0 :(得分:0)
截至目前(MarkLogic 8.0-3),SPARQL接口未提供指定要使用的一组推理规则的方法。 You can configure a default ruleset to use with the database,将与所有SPARQL查询一起使用。
完成后,您可以使用sem:ruleset-store() (XQuery)或sem.rulesetStore() (JavaScript)指定要使用的规则集。