微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何通过字符串内容在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 举报,一经查实,本站将立刻删除。