выполнить запрос sparql для конечной точки dbpedia

Я пытаюсь выполнить запрос SPARQL для конечной точки DBpedia, используя этот код C #:

 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());
        }

Я все еще получаю исключение

Ошибка HTTP произошла при попытке выполнить запрос SPARQL, подробности см. В разделе «Внутреннее исключение».

Что может быть причиной этого?


person jack m    schedule 27.06.2013    source источник
comment
Это все, что написано в сообщении об ошибке? У вас есть доступ к коду ошибки HTTP? Он действительно говорит, что см. Внутреннее исключение для подробностей. Какие подробности предоставляет внутреннее исключение?   -  person Joshua Taylor    schedule 27.06.2013
comment
Ваш запрос тоже неверен; если вы вставите его в общедоступную конечную точку, вы увидите сообщение об ошибке префикс d: не определен. Я рекомендую вам отлаживать свои запросы с помощью интерактивных интерфейсов, прежде чем вы жестко закодируете их в приложении.   -  person Joshua Taylor    schedule 27.06.2013


Ответы (1)


Сообщение об ошибке достаточно информативно, например, в нем говорится, см. Внутреннее исключение для получения подробной информации, которая предоставит вам произошедшее .Net WebException, которое может позволить вам получить доступ к .Net WebResponse, если он доступен, что даст вам доступ к таким вещам, как код ответа и тело.

Как указывает @Joshua Taylor, ваш фактический запрос в этом случае недействителен.

Также, возможно, стоит прочитать документацию dotNetRDF на Отладка связи HTTP

person RobV    schedule 27.06.2013