Контекстные параметры в Blazegraph Nano SPARQL
Я провожу некоторые эксперименты с Blazegraph Nano SPARQL Server. Я запустил сервер с помощью следующей команды:
$ java -server -Xmx4g -jar bigdata-bundled.jar
Тем не менее, мне нужно установить тайм-аут для запросов. Для этого есть параметр контекста с именем queryTimeout, но я не знаю, как его использовать. Могу ли я добавить параметр команды для установки этого параметра? Если этот параметр может быть установлен только в web.xml
файл, где я могу найти минимальный web.xml
файл, который я могу использовать, чтобы установить queryTimeout
параметр?
2 ответа
Можно снова скомпилировать Blazegraph после обновления web.xml
файл. Шаги:
Клонировать репозиторий git.
git clone git://git.code.sf.net/p/bigdata/git Blazegraph
Оформить релиз.
git checkout -b BLAZEGRAPH_RELEASE_1_5_1
редактировать bigdata-war/src/WEB-INF/web.xml
установить queryTimeout
свойство как:
<context-param>
<description>When non-zero, the timeout for queries (milliseconds).</description>
<param-name>queryTimeout</param-name>
<param-value>60000</param-value>
</context-param>
Перекомпилируйте Blazegraph.
ant clean executable-jar
Если вы используете REST API, вам не нужно перекомпилировать файл web.xml. Вы можете использовать параметр запроса времени ожидания, чтобы задать значение для отдельного запроса в секундах, или заголовок HTTP X-BIGDATA-MAX-QUERY-MILLIS, чтобы установить время ожидания запроса в миллисекундах. Смотрите REST Query API.
Пример установки времени ожидания до 30 секунд.
curl -X POST http://localhost:8080/bigdata/sparql --data-urlencode \
'query=SELECT * { ?s ?p ?o } LIMIT 1' --data-urlencode 'timeout=30'
Пример установки времени ожидания до 100 миллисекунд.
curl -X POST http://localhost:8080/bigdata/sparql --data-urlencode \
'query=SELECT * { ?s ?p ?o } LIMIT 1' -H 'X-BIGDATA-MAX-QUERY-MILLIS:100'
Если у вас есть встроенное приложение, такое как Blueprints. Вы можете установить свойство maxQueryTime при создании базы знаний. Он устанавливает время ожидания в секундах для объекта Query в библиотеке OpenRDF (rdf4j). Вот пример со встроенным режимом " Сезам".
com.bigdata.blueprints.BigdataGraph.maxQueryTime=30