Контекстные параметры в 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
Другие вопросы по тегам