Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;超时/查询挂起";从Jena执行对DBpedia的SPARQL查询时_Sparql_Jena_Dbpedia - Fatal编程技术网

&引用;超时/查询挂起";从Jena执行对DBpedia的SPARQL查询时

&引用;超时/查询挂起";从Jena执行对DBpedia的SPARQL查询时,sparql,jena,dbpedia,Sparql,Jena,Dbpedia,使用Jena对dbpedia.org执行SPARQL查询时遇到问题 查询的形式如下: PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX p: <http://dbpedia.org/property/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?album ?name ?dateofrelease WHE

使用Jena对dbpedia.org执行SPARQL查询时遇到问题

查询的形式如下:

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX p: <http://dbpedia.org/property/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT ?album ?name ?dateofrelease 
WHERE { 
?album p:artist <http://dbpedia.org/resource/SomeArtist> . 
?album rdf:type <http://dbpedia.org/ontology/Album> . 
?album rdf:type <http://schema.org/MusicAlbum> . 
?album p:name ?name . 
?album <http://dbpedia.org/ontology/releaseDate> ?dateofrelease . 
FILTER(xsd:dateTime(?dateofrelease) >= '2009-01-01T00:00:00Z'^^xsd:dateTime) 
} LIMIT 5 
该程序在同一个表单上执行了大约30个查询,但其中一些查询在Jena抛出错误之前“挂起”了大约一两分钟

 com.hp.hpl.jena.sparql.resultset.ResultSetException: Not an ResultSet result
如果捕捉到异常并继续,一些查询将挂起,一些查询将快速返回结果集,结果集为0或更多。这样做几次,返回或“挂起”的查询是随机的。对相同的查询使用SPARQL DBpedia有时有效,有时在web浏览器中以相同的方式挂起

  • 我是否构造了错误的查询,使得dbpedia.org在某种程度上耗费了时间,从而导致查询在服务器上超时?我对SemanticWeb和Jena非常陌生,但我最初认为我的查询可能不会非常耗时,因为我在

    ?album p:artist <http://www.dbpedia.org/resource/SomeArtist> 
    
    专辑p:艺术家 声明

  • 是否存在我不知道的从一个来源/每个时间单位限制到dbpedia.org的请求数


(使用Jena 2.6.4)

我可以确认查询速度很慢

我尝试了一些可能会影响速度的变化,但没有帮助。对不起,我看不出任何明显的原因,为什么这种类型的查询会特别慢


要获得更一致的响应时间,另一种选择是下载DBPedia转储,grep出您感兴趣的谓词,并将它们加载到本地三重存储中,例如Jena。

感谢您的响应。我同意本地转储对于一致的性能是最好的。我现在也尝试了新的SPARQL端点,而且响应时间要好得多(至少目前是这样)。我在使用dotNetRDF时也遇到了同样的问题,你知道如何将dbpedia下载到本地转储吗?
?album p:artist <http://www.dbpedia.org/resource/SomeArtist>