настраиваемый фильтр sparql Graphdb

Одна из вещей, которую я хотел бы сделать, это реализовать мой собственный фильтр SPARQL в GraphDB. GraphDB работает с RDF4J, поэтому мне было интересно, есть ли такая конструкция: http://docs.rdf4j.org/custom-sparql-functions/#_implementing_the_custom_function_as_a_java_class возможно ли в GraphDB? Я искал, но не могу найти, где можно разместить такой JAR в GraphDB, если это возможно?

Первый вопрос: можно ли реализовать собственный фильтр SPARQL?


person user3599600    schedule 14.09.2018    source источник
comment
Он работает с любыми пользовательскими функциями, просто поместите свой JAR где-нибудь в пути к классам и не забудьте встроить в него конфигурацию SPI (раздел 3 из ссылки, которую вы разместили)   -  person Damyan Ognyanov    schedule 17.09.2018
comment
@DamyanOgnyanov какой путь к классам? Путь к классам вашего проекта, использующего RDF4J для запроса, или путь к классам самого GraphDB?   -  person medium    schedule 10.12.2018
comment
@medium Путь к классам относится к экземпляру сервера Graphdb, на котором будет оцениваться ваш запрос SPARQL. Механизм оценки найдет код, связанный с IRI вашей функции, и вызовет его. Для обнаружения и регистрации функции требуется, чтобы метаданные SPI (указанные в комментарии выше) присутствовали в вашем банке.   -  person Damyan Ognyanov    schedule 11.12.2018
comment
@DamyanOgnyanov Я попытался сделать это, но все равно получаю сообщение об ошибке: Неизвестная функция 'example.org/custom-function/ палиндром ». Я поместил свою банку в / graphDBFree / runtime / lib, это правильное место?   -  person medium    schedule 11.12.2018
comment
@medium поместите банку в /graphDBFree/app/lib, а не в /graphDBFree/runtime/lib   -  person Damyan Ognyanov    schedule 12.12.2018
comment
@DamyanOgnyanov спасибо, я все равно получаю ошибку. Есть ли способ отладить это?   -  person medium    schedule 12.12.2018
comment
@medium действительно, недостаточно было просто поместить банку в папку /graphDBFree/app/lib. Встроенная программа запуска использует явную настройку пути к классам для вывода списка всех jar-файлов. В папке app должен быть файл с именем graphDB Free.cfg, который вам нужно отредактировать и добавить свою банку в запись `app.classpath = '.   -  person Damyan Ognyanov    schedule 13.12.2018


Ответы (1)


Это решено?

Единственное, что я вижу, это сообщение об ошибке как «example.org/custom-function/palindrome»: разве не должно быть http:// впереди?

person Vladimir Alexiev    schedule 16.09.2020