Простое правило 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 в настоящее время предполагает, что все данные находятся в контексте по умолчанию. Убедитесь, что ваши данные не были добавлены в именованный график.

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