スピンルールを定義するには?

私はAllegroGraph 4.4を使用しています。ケネディの家系図に関するデータベースのサンプルがあります。 SPINのチュートリアルの例をコピーしました。ここにあります:

(ag.spin:register-spin-function  
!ex:age  
"prefix kennedy:   
 prefix xs:   
 select ( (2011 - xs:int(?birthYear)) as ?age ) {  
   ?who kennedy:birth-year ?birthYear .  
 }"  
'(?who)) 

問題は、この機能を登録するにはどこどのようにを知ることができないということです。私はWebViewを試したが、私はこのエラーが表示されます:

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

なぜこのエラーが発生するのですか?

ルールはどこで定義する必要がありますか?

3

1 答え

コードはソースファイルの一部であるか、REPLで評価されるCommon Lispコードです。 "!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#")
1
追加された