推理使用xquery而不是sparql查询

时间:2015-07-15 18:13:00

标签: xquery sparql marklogic inference

我正在尝试使用subClassOf关系运行推理示例。

出于某种原因,我在使用xquery时获取了select查询结果,但在使用sparql时却没有。

的XQuery

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)  

SPARQL

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> . 
} 

1 个答案:

答案 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)指定要使用的规则集。