【问题标题】:How can I create customized builtins in Jena?如何在 Jena 中创建自定义的内置函数?
【发布时间】:2014-04-23 21:03:48
【问题描述】:

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

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

谁能解释一下我应该走哪条路?

干杯!

【问题讨论】:

  • 你看过writing Jena built-ins这个问题吗(在我看来,这不是一个好问题,答案并没有太大帮助,但它是相关的)。
  • 你想让你的内置函数做什么?它们实施起来并不难,但一些特定的要求会使制作示例变得更容易。
  • 另外,您是否查看过 Jena 中扩展 BaseBuiltin 的任何内置函数的源代码。例如,addOne?

标签: java eclipse sparql jena rule


【解决方案1】:

follow-up to a later question of yours 中,我也提供了演示此问题答案的代码。

为了方便需要快速参考的人,我在这里复制了它。这个内置函数名为example,并根据writing Jena builtin-insOfficial Documentation 将其大部分功能委托给BaseBuiltin。感谢 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));
    }
} );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多