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