查询大乌龟文件

时间:2018-08-08 14:39:15

标签: python performance sparql rdflib turtle-rdf

我有一个乌龟文件,其中有超过7000万行,我使用python脚本进行查询,结果是执行时间太长。

这是我尝试做的一个例子:

import rdflib
import rdfextras
rdfextras.registerplugins() 

g=rdflib.Graph()
g.parse("my_file.ttl", format='turtle')
results = g.query("""
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX bk:  <http://www.ondex.org/bioknet/terms/>
    SELECT (COUNT(*) AS ?nbr_of_genes)
    WHERE {
    ?gene rdf:type bk:Gene.
    }
""")

我从原始文件中抽取了100万行的样本,这个简单的查询花了76秒钟来执行!

有没有一种更快的查询文件的方法?

1 个答案:

答案 0 :(得分:1)

将您的Turtle文件加载到适当的RDF三重或四重存储中,自然会从DBMS功能中受益。