Мы пытаемся расширить jena ARQ, добавив нового оператора. Однако пока мы не хотим делать это с самого начала, т. е. проходить все этапы от разбора запроса до выполнения запроса. Мы думаем переписать план выполнения вручную, а затем позволить ARQ выполнить переписанный план. Я провел поиск в Интернете, однако не смог найти никакой информации о редактировании плана выполнения вручную. Мне было интересно, есть ли способ записать план в файл и отредактировать файл вручную, а затем позволить ARQ прочитать файл с диска и выполнить его. Это вообще возможно? Может ли кто-нибудь дать мне подсказку о том, как начать эту проблему?
Расширение выполнения запросов Jena ARQ
Ответы (1)
Отправной точкой является чтение и запись алгебры с помощью SSE.parseOp
и выполнение с помощью QueryExecUtils
.
OpExecutor
— это механизм выполнения алгебры SPARQL, и если вы добавите новый тип Op
, то туда же и добавить выполнение.
person
AndyS
schedule
17.02.2016
Большое спасибо. Это очень помогает.
- person sgao; 19.02.2016
OpExt
есть точка расширения. Если операторы не могут быть записаны в std SPARQL, вы также можете добавить их туда. Однако, если правильно добавить оператор, то изменить OpExecutor может быть проще. Таким образом, вы можете написать алгебру SPARQL и прочитать ее с помощью функций SSE, а также выполнить см. QueryExecUtils. Это внутренние классы, и вы должны проверить код. jena.apache.org/documentation/query/extension.html - person AndyS   schedule 14.02.2016