我只是想知道如何为Jena创建新的自定义内置函数。我知道,为此,应同时使用“ BaseBuiltin”类和“ BuiltinRegistry”类(但是如何使用)。
我还找到了一个名为“ SADL”的Eclipse插件,但是我不确定是否可以将if用于此目的。如果可以...哪种方法更好,为什么?
你们谁能解释我该采取哪种方式?
干杯!
最佳答案
在follow-up to a later question of yours中,我还提供了代码来说明该问题的答案。
为了方便需要快速参考的人,我在这里复制了它。该内置函数的名称为example
,并根据BaseBuiltin
和writing Jena builtin-ins将其大部分功能委托给Official Documentation。感谢JT提及他先前的问题。
BuiltinRegistry.theRegistry.register( new BaseBuiltin() {
@Override
public String getName() {
return "example";
}
@Override
public void headAction( final Node[] args, final int length, final RuleContext context ) {
System.out.println("Head Action: "+Arrays.toString(args));
}
} );