我有 rdflib-sqlalchemy 创建的 7200 左右的 SKOS.Concept 个对象来解析存储在 Postgres DB 中的乌龟文件。

以下 SPARQL 查询需要 30 秒以上才能响应数据:

SELECT ?subject ?prefLabel
 WHERE { ?subject rdf:type 
 <http://www.w3.org/2004/02/skos/core#Concept> .
 ?subject skos:prefLabel ?prefLabel .
 FILTER (lang(?prefLabel) = 'en') } 
 order by ?prefLabel
 LIMIT 20 OFFSET 0

我使用限制和偏移来分页结果。我传入语言参数(ar,en,es,fr,ru,zh 之一)。

如果我只选择主题,结果查询会很快 - 但我需要在结果集中通过 prefLabel 进行整理。

这是一个在键值存储(Sleepycat)中运行速度非常快的查询,但在使用 Postgres 后端移动到 rdlib-sqlalchemy 时会进行爬网。

我是 rdlif 和 SPARQL 的新手 - 欢迎任何建议或见解。

提前致谢!