我只是想知道如何为Jena创建新的自定义内置函数。我知道,为此,应同时使用“ BaseBuiltin”类和“ BuiltinRegistry”类(但是如何使用)。

我还找到了一个名为“ SADL”的Eclipse插件,但是我不确定是否可以将if用于此目的。如果可以...哪种方法更好,为什么?

你们谁能解释我该采取哪种方式?

干杯!

最佳答案

follow-up to a later question of yours中,我还提供了代码来说明该问题的答案。

为了方便需要快速参考的人,我在这里复制了它。该内置函数的名称为example,并根据BaseBuiltinwriting 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));
    }
} );

08-04 13:19