写耶拿内置插件
我正在尝试编写一个内置的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()
,那么我就不会再看到它了。 还在被叫吗?
@Joshua
我找到了如何实现这一点。
首先,你应该创建一个从BaseBuiltin扩展的新类,如http://sadl.sourceforge.net/CustomJenaBuiltins.html
然后将其添加到builtinRegistry类中