如何定义SPIN规则



我使用的是AllegroGraph 4.4。我有他们关于肯尼迪家谱的样本数据库输入。我从他们关于SPIN的教程中复制了一个例子。这是:

(ag.spin:register-spin-function  
!ex:age  
"prefix kennedy: <http://www.franz.com/simple#>  
 prefix xs: <http://www.w3.org/2001/XMLSchema#>  
 select ( (2011 - xs:int(?birthYear)) as ?age ) {  
   ?who kennedy:birth-year ?birthYear .  
 }"  
'(?who)) 

问题是,我不知道在哪里以及如何注册此函数。我尝试过WebView,但我得到了这个错误:

Non-symbol element !ex:age in binding list.

为什么我一直收到这个错误?

我应该在哪里定义规则?

代码是Common Lisp代码,应该是源文件的一部分,或者在REPL中求值。您得到的错误是"非符号元素!例如:绑定列表中的年龄"似乎表明系统在尝试处理!ex:age时阻塞。执行示例中的设置首先有帮助吗?第一行和最后一行,(enable-!-reader)(register-namespace "ex" "http://franz.examples#"),似乎是您需要的,以便正确读取!ex:age

(enable-!-reader)  
(enable-print-decoded t)  
(create-triple-store "kennedy")  
(load-ntriples "kennedy.ntriples")  
(register-namespace "kennedy" "http://www.franz.com/simple#")  
(register-namespace "ex" "http://franz.examples#")

相关内容

  • 没有找到相关文章

最新更新