1

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を使用して、ヘッダーにcontent-typeを含むpostリクエストの本文でこれを送信しています。text/turtle

4

0 に答える 0