当我运行以下代码以使用此代码片段查询dblp数据集时,我正在使用此端点http://dblp.l3s.de/d2r/snorql enter code hereString st = "";String qry = "";String uri_V;
uri_V = "http://dblp.l3s.de/d2r/sparql";
// Modify if need......
//String ns = "\""+TextBox1.Text.ToString()+"\"";
// String qry = "SELECT DISTINCT ?name WHERE { ?person foaf:name ?name.FILTER regex(str(?name),"+ns+").}";
if (radiosrch.SelectedIndex == 0)
{
qry = "SELECT ?title WHERE {?game <http://purl.org/dc/terms/subject> <http://dbpedia.org/resource/Category:First-person_shooters> .?game foaf:name ?title .}ORDER by ?title";
}
else// if (radiosrch.SelectedIndex == 1)
{
// qry= "query for publisher."
qry = "SELECT DISTINCT ?Concept WHERE {[] a ?Concept} LIMIT 10";
}
//Common
SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(new Uri(uri_V));
SparqlResultSet results = endpoint.QueryWithResultSet(qry);
foreach (SparqlResult result in results)
{
Console.WriteLine(result.ToString());
st = st + result.ToString() + "\n";
}
TextBox3.Text = st.ToString();
}
catch (Exception ex)
{
Label1.Visible = true;
Label1.Text = ex.ToString();
}我得到以下错误
VDS.RDF.Query.RdfQueryException:尝试执行SPARQL查询时出现HTTP错误,有关详细信息,请参阅内部异常-> System.Net.WebException:远程服务器返回错误:(400)错误请求。在VDS.RDF.Query.SparqlRemoteEndpoint.ExecuteQuery(Uri目标处的VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(ISparqlResultsHandler (),String sparqlQuery,String acceptHeader)在VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(ISparqlResultsHandler处理程序,String sparqlQuery) -内部异常堆栈跟踪的结束-在VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(ISparqlResultsHandler处理程序处,String sparqlQuery)在VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(String sparqlQuery)在Index.ImageButton1_Click(对象发送器,d:\SPARQL\Index.aspx.cs:line 48中的ImageClickEventArgs e)
请尽快帮我解决问题,谢谢
发布于 2013-04-04 08:02:01
请参阅有关使用dotNetRDF的Debugging HTTP Communications的文档
在您的请求之前设置以下内容:
Options.HttpDebugging = true;这将使dotNetRDF将有关HTTP请求和响应的调试信息打印到控制台,如果这还不够有启发性,还可以启用以下功能:
Options.HttpFullDebugging = false;这将把完整的HTTP响应转储到控制台,这样您就可以确切地看到服务器返回的错误消息。
然而,启用后一个选项将导致后续代码失败,并出现不同的错误,因为预期的响应流将不会耗尽,因此,一旦这为您提供了足够的信息来调试您的问题,不要忘记再次关闭它!
https://stackoverflow.com/questions/15800269
复制相似问题