Я новичок в Apache Jena и Fuseki. Я установил Apache Jena Fuseki как автономный сервер и пытаюсь определить очень простое правило вывода, и, похоже, я неправильно его настраиваю. Мой файл конфигурации config_new.ttl выглядит так:
@prefix : <#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix ao: <http://ao.com> .
[] rdf:type fuseki:Server ;
fuseki:services (
<#mainservice>
) .
<#mainservice> rdf:type fuseki:Service ;
fuseki:name "mainservice" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceQuery "query" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#ao> ;
.
### In-memory, initially empty.
## This database set-up allows OWL inference.
<#ao> rdf:type ja:MemoryModel ;
ja:defaultGraph <#infGraph> .
<#infGraph> rdf:type ja:InfModel ;
ja:reasoner [ ja:rulesFrom <file:inference_rules.rules> ; ] .
Я запускаю сервер из консоли с помощью:
./fuseki-server --update --file=config_new.ttl /mainservice
Он запускается, и я могу загрузить некоторые данные и успешно запросить их с веб-страницы, но, похоже, он не читает файл inference_rules.rules. Даже если имя файла неправильное, или файл не существует, или содержимое файла неверно, я не получаю никаких ошибок и правило не работает.
Что мне не хватает?
Здесь есть второй вопрос. Видимо, я еще не там, но позвольте мне разместить здесь содержимое inference_rules.rules. Я пытаюсь определить простое транзитивное правило: если (A — это B) и (B — это C), то A — это C:
@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
@prefix ex: http://example.com/
@prefix xs: http://www.w3.org/2001/XMLSchema#
@prefix ao: http://ao.com/
[isATransitive:
(?a ao:isA ?b)
(?b ao:isA ?c)
->
(?a ao:isA ?c)
]
Я правильно определил?