Как определить правило 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.

Почему я продолжаю получать эту ошибку?

Где я должен определить правило?

1 ответ

Код является кодом 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#")
Другие вопросы по тегам