2012-02-11 38 views
0

我试图做DBpedia的查询,查询通常是太长了,像这样:查询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 

我看到一个类似Question这里,Live网站的作品,但我需要通过DBpedia中做的活,我不想下载中心的dbpedia在本地转储。

如果我能以某种方式使timout更长的时间,所以我等待结果就来了,我认为这将解决我的问题

+0

“生活网站作品”是什么意思?当您将查询发送到DBpedia Live端点时,您的查询是否会提供结果? – 2013-01-13 12:24:41

回答

1

你看了documentation?具体来说,

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

+0

设置超时属性不起作用,它仍然超时。 – SKandeel 2012-02-11 22:50:13