Недавно я изучал запросы SPARQl, и они кажутся заметно медленными. Я также пытался запустить федеративный запрос с помощью Apache Jena Fuseki, это тоже было очень медленно, медленнее, чем запросы с использованием одной конечной точки SPARQL. Есть ли способ улучшить производительность запроса SPARQL? Некоторые предложения, которые я нашел в Интернете, заключались в том, чтобы использовать кешированные результаты запросов, что, я думаю, противоречит цели размещения данных в Интернете.
Вот пример федеративного запроса, который я пробовал. Я получил этот запрос от Подключение Linkedmdb и DBpedia через федеративные запросы SPARQL
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX movie: <http://data.linkedmdb.org/resource/movie/>
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT ?film ?label ?subject WHERE {
SERVICE <http://data.linkedmdb.org/sparql> {
?film a movie:film .
?film rdfs:label ?label .
?film owl:sameAs ?dbpediaLink
FILTER(regex(str(?dbpediaLink), "dbpedia", "i"))
}
SERVICE <http://dbpedia.org/sparql> {
?dbpediaLink dcterms:subject ?subject
}
}
LIMIT 50
owl:sameAs
ссылки на LinkedMDB в DBpedia. - person Stanislav Kralin   schedule 02.07.2017LIMIT 50
(безORDER BY
и т. д.) вам не нужно извлекать все данные из LinkedMDB. Модификаторы решения не допускаются после предложенийSERVICE
, поэтому просто оберните вызов службы LinkedMDB в{ SELECT ?film ?label ?dbpediaLink WHERE {
...} LIMIT 100 }
. - person Stanislav Kralin   schedule 03.07.2017