Функция year () НЕ РАБОТАЕТ в SPARQL (Protege) - PullRequest
0 голосов
/ 26 ноября 2018

Этот запрос выдает ошибку

Неизвестная функция 'http://www.w3.org/xpath-functions#year-from-dateTime'

Мой код:

select ?age where { 
  bind( "1799-12-14"^^<http://www.w3.org/2001/XMLSchema#date> as ?death )
  bind( "1732-02-22"^^<http://www.w3.org/2001/XMLSchema#date> as ?birth )
  bind(year(?death)-year(?death) AS ?age)
}

И я гуглюв течение стольких часов, не находя никакой полезной информации.Должен ли я добавить префикс, который ссылается на функцию где-то?Почему в Protege нет встроенных функций преобразования даты и времени?

select ?age where { 
  bind( "1799-12-14"^^<http://www.w3.org/2001/XMLSchema#date> as ?death )
  bind( "1732-02-22"^^<http://www.w3.org/2001/XMLSchema#date> as ?birth )
  bind(int(?death)-int(?death) AS ?age)
}

Я пытался привести дату к целому числу, но это выдает еще одно сообщение об ошибке.Кто-нибудь знает, как правильно приводить dateTime к int с Protege SPARQL?

...