与えられたアルゴリズムから値を返し、その値と比較するJena ビルトインを作成しようとしています。
String rule = "[exRule: (?d rdf:type ex:abc)" +
"<-" +
// ...extract ?a, ?b to use as inputs to the rule
"greaterThan(myBuiltIn(?a, ?b), 1)" + // Is return value greater than 1
"]";
したがって、最初にJena のドキュメントには、これを試す最も簡単な方法は builtins ディレクトリの例を見ることであると書かれていますが、私のインストールにはこれがないようです。Windows 7 で Jena 2.6.4 を使用しています。 . これはどこにありますか? 他の場所からダウンロードする必要がありますか?
次に、ビルトインから戻り値を取得する方法がわかりません。ハードワイヤード値を使用して単純に呼び出すと、組み込みのメソッドmyBuiltIn(2, 1)
に追加したデバッグ出力が原因で呼び出されていることがわかります。bodyCall()
ただし、に渡すとgreaterThan()
、これは表示されなくなります。まだ呼ばれてるの?