查询dbpedia超时异常

时间:2012-02-11 19:07:33

标签: .net http semantic-web

我正在尝试对dbpedia进行查询,查询通常太长,如下所示:

Select * WHERE { <http://dbpedia.org/resource/Inception> ?pf1 ?of1 . ?of1 ?pf2 ?middle . <http://dbpedia.org/resource/Batman> ?ps1 ?middle .  FILTER ((!isLiteral(?middle)) && (?middle != <http://dbpedia.org/resource/Inception> ) && (?middle != <http://dbpedia.org/resource/Batman> ) && (!isLiteral(?of1)) && (?of1 != <http://dbpedia.org/resource/Inception> ) && (?of1 != <http://dbpedia.org/resource/Batman> ) ). }LIMIT 100

我正在使用dotnetRDF dll来执行SPARQL查询,查询给出超时异常,我尝试在dbpedia's SPARQL Querying tool上查询,它还给出了:

Virtuoso S1T00 Error SR171: Transaction timed out

我在这里看到类似QuestionLive网站有效,但我需要通过dbpedia实现,我不想在本地下载dbpedia转储。

如果我能以某种方式延长时间,那么我等待结果来,我想这会解决我的问题

1 个答案:

答案 0 :(得分:1)

你读过documentation了吗?具体来说,

  

如果使用SparqlQuery对象,则可以选择设置与执行超时相关的行为。由于某些查询可能需要很长时间才能运行,因此限制查询运行的时间通常是合理的,SparqlQuery的Timeout属性允许您指定超时。如果您希望即使发生超时也能获得结果,那么您可以设置PartialResultsOnTimeout属性以确保即使发生超时也会获得一些结果。