Может ли Fuseki использовать OWL-резонатор и правило - PullRequest
1 голос
/ 26 марта 2020

Я использую Jena Fuseki для загрузки файла Jena TDB для создания службы SPARQL. Конфигурация логического устройства fuseki имеет следующее:

<#inf_model> a ja:InfModel ;
    ja:baseModel <#union_model>;
    ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>] ;

Теперь я также хочу написать некоторые правила и установить общий логический оператор c для сервера Fuseki. Как мне сконфигурировать Fuseki, чтобы он сочетал в себе и OWL-рассуждение, и обобщенный c правило?

Я попробовал следующую конфигурацию:

<#inf_model> a ja:InfModel ;
    ja:baseModel <#union_model>;
    ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>] ;

    ja:reasoner [
        ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; 
        ja:rulesFrom <file://D:/Program%20Files/apache-jena-fuseki-3.13.1/run/rule.ttl>; ]

Но она не работает с

...multiple values for the unique property http://jena.hpl.hp.com/2005/11/Assembler#reasoner

Может ли Fuseki иметь более одного логика?

1 Ответ

0 голосов
/ 21 апреля 2020

Документация содержит раздел под названием "Объединение RDFS / OWL с пользовательскими правилами". Первое предложение, которое они делают, это «создайте одну InfModel, используя другую InfModel в качестве базовых данных».

Они не дают пример, но на основе этого я смог заставить работать следующее:

config:dataset a ja:RDFDataset ;
    ja:defaultGraph       <#model_inf2> ;
     .

<#model_inf2> a ja:InfModel ;
     ja:baseModel <#model_inf1> ;

     ja:reasoner [
        ja:rulesFrom <file:/my-rules.rules> ;
        ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner>
     ] .

<#model_inf1> a ja:InfModel ;
     ja:baseModel <#graph> ;
     ja:reasoner [
        ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
     ] .

<#graph> rdf:type tdb:GraphTDB ;
  tdb:dataset config:tdb_dataset_readwrite .

config:tdb_dataset_readwrite
        a             tdb:DatasetTDB ;
        tdb:location  "<path-to-tbd-dataset>"
        .
...