Я работал над созданием файла ttl через Apache Jena. Этот файл запрашивается с помощью Apache Fuseki, но я замечаю, что чем больше данных я добавляю, тем медленнее становится запрос. Я использую ajax-вызов из javascript для отображения результатов на веб-странице. Есть ли лучшая конфигурация или способ, которым я могу оптимизировать запросы? Я точно знаю, что ttl-файл будет расти, так как предполагается, что будет добавлено больше данных.
Например, это один из запросов, которые я использую:
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX locah: <http://data.archiveshub.ac.uk/def/>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
SELECT ?Register ?Id ?Date ?Type ?Lang ?TypeOfCover ?Spine ?Note (count(?Deed) as ?TotalDeeds)
WHERE{
?Register dcterms:creator ?Author.
?Register dcterms:identifier ?Id.
?Register dcterms:type ?Type.
optional{?Register locah:dateCreatedAccumulatedString ?Date.}
optional{?Register <http://natarchives.com.mt/notarypedia/ontology#coverType> ?TypeOfCover.}
optional{?Register <http://natarchives.com.mt/notarypedia/ontology#spineWidth> ?Spine.}
optional{?Register <http://www.w3.org/2004/02/skos/core#note> ?Note.}
optional{?Register ore:aggregates ?Deed.}
optional{?Register dcterms:language ?Lang.}
?Author foaf:firstName "Giacomo".
?Author foaf:familyName "Zabbara"}
group by ?Register ?Id ?Date ?Type ?Lang ?TypeOfCover ?Spine ?Note
гдедля отображения результатов требуется около 10 секунд, что довольно неприятно для тех, кто хочет отображать результаты тут же, в пользовательском интерфейсе