【问题标题】:writing Jena built-ins编写 Jena 内置程序
【发布时间】:2012-08-27 10:09:41
【问题描述】:

我正在尝试编写一个Jena built-in 以从给定的算法中返回一个值,然后与该值进行比较,例如,

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 documentation 说最简单的试验方法是查看内置目录中的示例,但是我的安装中似乎没有这个,我使用的是 Jena 2.6。 4 在 Windows 7 上。我在哪里可以找到这个?我需要从其他地方下载吗?

其次,我不确定如何从我的内置函数中获取返回值。如果我只是使用硬连线值调用myBuiltIn(2, 1),我知道它被调用是因为我已添加到内置的bodyCall() 方法中的一些调试输出。但是,如果我将它传递给greaterThan(),那么我将不再看到这个。还在调用吗?

【问题讨论】:

  • 所以,在实际阅读并理解了文档之后,我想出了如何做到这一点。也许那里有教训!
  • 你能发布你的工作结果吗?您的问题在 Google 搜索 Jena 内置程序时很早就出现了,人们将从您的经验中受益!

标签: java semantic-web jena


【解决方案1】:

@约书亚

我找到了如何实现它。

首先,您应该创建一个从 BaseBuiltin 扩展的新类,例如 http://sadl.sourceforge.net/CustomJenaBuiltins.html

然后将其添加到 builtinRegistry 类中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多