【问题标题】:execute sparql query for dbpedia Endpoint对 dbpedia Endpoint 执行 sparql 查询
【发布时间】:2013-06-27 09:44:24
【问题描述】:

我正在尝试使用此 C# 代码对 DBpedia 端点执行 SPARQL 查询:

 try
        {
            SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org");
            string query = "SELECT ?artist ?album WHERE { ?album d:producer :Timbaland .  ?album d:musicalArtist ?artist . }";
            SparqlResultSet rset = endpoint.QueryWithResultSet(query);
            foreach (SparqlResult result in rset.Results)
            {

                Console.WriteLine(result.ToString());
            }
        }
        catch (Exception ex)
        {

            Console.WriteLine(ex.Message.ToString());
        }

我仍然遇到异常

尝试进行 SPARQL 查询时发生 HTTP 错误,有关详细信息,请参阅内部异常

这可能是什么原因造成的?

【问题讨论】:

  • 错误信息就是这么说的吗?您是否有权访问 HTTP 错误代码?它确实说“有关详细信息,请参阅内部异常”。 inner exception 提供了哪些详细信息?
  • 您的查询也不对;如果将其粘贴到公共端点,您将看到 an error message 前缀 d: 未定义。我建议您在将查询硬编码到应用程序之前使用交互式界面调试查询。

标签: c# sparql dbpedia dotnetrdf


【解决方案1】:

错误消息具有合理的描述性,就像它说请参阅内部异常以获取详细信息,这将为您提供发生的 .Net WebException,这可能允许您访问 .Net WebResponse(如果可用),这将提供您可以访问响应代码和正文等内容。

正如@Joshua Taylor 指出的那样,您的实际查询在这种情况下是无效的。

同样值得阅读Debugging HTTP Communication上的dotNetRDF documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多