我最近一直在探索 SPARQl 查询,它们似乎非常慢。我还尝试使用 Apache Jena Fuseki 运行联合查询,这也非常慢,比使用一个 SPARQL 端点的查询慢。有没有办法提高 SPARQL 查询的性能?我在互联网上找到的一些建议是使用缓存查询结果,我认为这违背了将数据放入网络的目的。
这是我尝试过的联合查询的示例。我通过联合 SPARQL 查询从 Connecting Linkedmdb 和 DBpedia 获得了这个查询
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