У меня есть небольшой график в магазине Jena / Fuseki, который я запрашиваю, используя rdflib / SPARQLWrapper через CONSTRUCT, чтобы построить меньший график, который содержит всю необходимую мне информацию.
В результате получается граф RDFLib с Всего 56 троек. Глядя на журналы Jena, запросы на построение графика занимают не более нескольких миллисекунд.
Теперь, когда я выполняю больше запросов на этом графике, первый раз запрос выполняется очень медленно. Например, этот простой SELECT:
SELECT DISTINCT ?o
WHERE {
?f threems:predicate ?o .
}
Занимает более 1 секунды. Последующие аналогичные запросы занимают часть этого ... Я попробовал метод rdflib .objects()
, та же производительность.
Одна секунда - это не много, но, учитывая, что мне нужно использовать этот маленький график несколько раз в пределах Я бы с удовольствием отклонил запрос.
Я не уверен, как это оптимизировать, так как не думаю, что запрос актуален, если он связан с некоторыми предварительная загрузка или анализ, не ясно, что здесь является узким местом. Может быть, у кого-то есть идея / предложение?