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