SPARQL-запрос GRAPH объединяет в памяти? - PullRequest
0 голосов
/ 15 апреля 2020

Я читал книгу , где я наткнулся на эту строку:

"Предложение SPARQL FROM предоставляет другой способ определения пользовательских графов объединения. Предложение FROM используется для идентифицировать график по умолчанию для запроса. Наиболее типичное использование - это идентификация одного графика RDF. Однако, если в запросе указано несколько предложений FROM, содержимое этих графиков объединяется (обычно в памяти), чтобы обеспечить объединяющий граф , который будет формировать график по умолчанию для запроса. Таким образом, эта функция SPARQL может предоставить другой способ собрать полезную диаграмму-представление c набора данных. "

Здесь он говорит, что «эти графы объединены (обычно в памяти), чтобы обеспечить объединение графов».

Я новичок в Apache Йена, так что это заставило меня задуматься, происходят ли такие большие объединения GRAPH в памяти?

Поэтому я использую TDB для хранения своих графиков и запрашиваю их с помощью SPARQL, и я хочу запросить «объединение GRAPH из 2 конкретных графиков, заданных в нескольких предложениях FROM», или «Объединение графов всех именованных графов»:

Произойдет ли это UNION в памяти из моего кода Java, где я использую ARQ для запроса TDB ??

Будет это не вызывает ошибку OutOfMemory много раз, так как графов может быть много?

Это может показаться ложным ie вопросом, простите мой опыт новичка в Йене.

1 Ответ

1 голос
/ 15 апреля 2020

Я, конечно, могу только догадываться о намерениях авторов здесь, но возможно, что они только хотели сказать, что обработка нескольких предложений FROM может происходить путем извлечения данных из каждого именованного графа, а затем как части запроса обработка производит объединение тех из них как результат запроса. Обратите внимание, что это не означает, что все именованные графы хранятся в памяти, просто то, что по мере выполнения запроса и итерации по отдельным результатам (в памяти), он объединяет результаты из обоих источников в «объединенный» результат.

В любом случае: маловероятно, что какая-либо серьезная база данных SPARQL (включая Jena) обрабатывает запросы с несколькими предложениями FROM, сначала загружая весь набор данных в память.

...