Первый запрос RDFLib медленный на маленьком графике (56 троек) - PullRequest
1 голос
/ 27 января 2020

У меня есть небольшой график в магазине Jena / Fuseki, который я запрашиваю, используя rdflib / SPARQLWrapper через CONSTRUCT, чтобы построить меньший график, который содержит всю необходимую мне информацию.

В результате получается граф RDFLib с Всего 56 троек. Глядя на журналы Jena, запросы на построение графика занимают не более нескольких миллисекунд.

Теперь, когда я выполняю больше запросов на этом графике, первый раз запрос выполняется очень медленно. Например, этот простой SELECT:

SELECT DISTINCT ?o
WHERE {
    ?f threems:predicate ?o .
}

Занимает более 1 секунды. Последующие аналогичные запросы занимают часть этого ... Я попробовал метод rdflib .objects(), та же производительность.

Одна секунда - это не много, но, учитывая, что мне нужно использовать этот маленький график несколько раз в пределах Я бы с удовольствием отклонил запрос.

Я не уверен, как это оптимизировать, так как не думаю, что запрос актуален, если он связан с некоторыми предварительная загрузка или анализ, не ясно, что здесь является узким местом. Может быть, у кого-то есть идея / предложение?

...