Как мне создать свои собственные правила в Jena Fuseki из строкового содержимого?

#jena #fuseki #jena-rules

#jena #fuseki #jena-правила

Вопрос:

Я пытаюсь создать свои собственные правила свойств в Jena Fuseki. Для этого я использую Generic Rule Reasoning , что позволяет мне использовать мои собственные правила. Когда я использую эту стратегию со своими правилами из файла, все работает нормально:

 :model_inf a ja:InfModel ; 
    ja:baseModel :tdbGraph ; 
    ja:reasoner [ 
        ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; 
        ja:rulesFrom <file://...> ;
    ] .
  

Однако я бы не хотел использовать файл, а добавлял правила непосредственно в виде строки. Я попытался просто скопировать содержимое файлов правил, которые работали в приведенном выше примере, например (небольшой фрагмент файла):

 #-*-mode: conf-unix-*-
@prefix time: <http://www.w3.org/2006/time#>
@include <owlmicro>

-> table(owl:sameAs).

#---------------------------------------------------------------------------
# Equality
#---------------------------------------------------------------------------

sameAs_symmetry:
(?x owl:sameAs ?y)
-> (?y owl:sameAs ?x).

sameAs_transitivity:
(?x owl:sameAs ?y)
(?y owl:sameAs ?z)
-> (?x owl:sameAs ?x).

sameAs_Thing1:
-> [(?x rdf:type owl:Thing) <- (?x owl:sameAs ?y)].

sameAs_Thing2:
-> [(?x owl:sameAs ?x) <- (?x rdf:type owl:Thing)].
  

и поместите это в переменную string_rules_variable (с правильным экранированием):

 :model_inf a ja:InfModel ; 
    ja:baseModel :tdbGraph ; 
    ja:reasoner [ 
        ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; 
        ja:rules [
            ${string_rules_variable}
        ] ;
    ] .
  

где ${string_rules_variable} (интерполяция строк javascript) содержит правила, считываемые из файла.

В итоге репозиторий был создан без ошибок, но правила не сработали, и owlmicro инструкции не появились в репозитории.

Итак, я делаю что-то не так, или это проблема Jena Fuseki?

PS Я использую nodejs для отправки этого в теле post запроса с text/turtle типом содержимого в заголовках.