Простое правило SPIN не работает в RDF4J
Я только начал использовать тройное хранилище RDF4J (я использую его верстак, версия 2.3.1, работающий на Windows 10 с Tomcat 9.0)
Я хочу использовать правила SPIN в RDF4J. Поэтому я создал новый репозиторий (в памяти с поддержкой RDFS+SPIN).
Я хотел бы начать с примера SPIN в документации RDF4J, касающегося того, как добавить правила SPIN. То есть я добавил данные (в Turtle и импортировал в RDF4J)
@prefix ex: <http://example.org/>.
ex:John a ex:Father ;
ex:parentOf ex:Lucy .
ex:Lucy a ex:Person .
И правило:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix sp: <http://spinrdf.org/sp#>.
@prefix spin: <http://spinrdf.org/spin#>.
@prefix ex: <http://example.org/>.
ex:Person a rdfs:Class ;
spin:rule [
a sp:Construct ;
sp:text """PREFIX ex: <http://example.org/>
CONSTRUCT { ?this ex:childOf ?parent . }
WHERE { ?parent ex:parentOf ?this . }"""
] .
И, как указано в документации, я выставил запрос (с установленным флажком "Включить выводимые операторы"),
PREFIX ex: <http://example.org/>
SELECT ?child
WHERE { ?child ex:childOf ?parent }
Тем не менее, результат не возвращается:
Может кто-то, пожалуйста, скажите мне, что я делаю что-то не так, почему правило SPIN не работает в моей рабочей среде RDF4J, я что-то пропустил?
1 ответ
(опубликовать мой комментарий как ответ для будущих читателей)
Я полагаю, что рассуждение SPIN в настоящее время предполагает, что все данные находятся в контексте по умолчанию. Убедитесь, что ваши данные не были добавлены в именованный график.