Вывод, работающий с xquery, но не sparql запрос

Я пытаюсь запустить пример вывода с использованием отношения subClassOf.

По какой-то причине я получаю результаты запроса select, когда использую xquery, а не когда использую 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 ответ

Решение

На данный момент (MarkLogic 8.0-3) интерфейс SPARQL не позволяет указать набор правил вывода для использования. Вы можете настроить набор правил по умолчанию для использования с базой данных, который будет использоваться со всеми запросами SPARQL.

Сделав это, вы можете использовать sem:ruleset-store() (XQuery) или sem.rulesetStore() (JavaScript), чтобы указать набор правил для использования.

Другие вопросы по тегам