如何通过字符串内容在Jena Fuseki中创建自己的规则?

问题描述

我正在尝试在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的问题?

P.S。我正在使用nodejs在post标头中具有text/turtle内容类型的UserName请求的正文中发送此消息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)