推理使用 xquery 但不使用 sparql 查询
inferencing working with xquery but not sparql query
我正在尝试 运行 使用 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> .
}
截至目前(MarkLogic 8.0-3),SPARQL 接口不提供指定一组要使用的推理规则的方法。 You can configure a default ruleset to use with the database,将用于所有 SPARQL 查询。
如前所述,您可以使用 sem:ruleset-store() (XQuery) or sem.rulesetStore() (JavaScript) 指定要使用的规则集。
我正在尝试 运行 使用 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> .
}
截至目前(MarkLogic 8.0-3),SPARQL 接口不提供指定一组要使用的推理规则的方法。 You can configure a default ruleset to use with the database,将用于所有 SPARQL 查询。
如前所述,您可以使用 sem:ruleset-store() (XQuery) or sem.rulesetStore() (JavaScript) 指定要使用的规则集。