我有7200左右的SKOS.Concept对象,由rdflib-sqlalchemy创建,解析存储在Postgres数据库中的海龟文件。
以下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的新手 - 欢迎任何建议或见解。
提前致谢!