dotnetrdf xml exception using QueryWithResultSet

余生颓废 提交于 2019-12-02 17:04:16

问题


I have an asp.net project in which, I would like to query DBPedia. Using the following code I am getting an error:

public string testEndpoint()
    {

        //TEST02
        SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org");
        string res = "";
        //Make a SELECT query against the Endpoint
        SparqlResultSet results = endpoint.QueryWithResultSet("SELECT ?year WHERE {dbpedia:Rihanna dbpedia-owl:birthYear ?year}");

        foreach (SparqlResult result in results)
        {
            res = result.ToString();    
            Console.WriteLine(result.ToString());}

Error message: "An exception of type 'System.Xml.XmlException' occurred in dotNetRDF.dll but was not handled in user code".

Even if I handle the exception the method cannot be executed. Regarding the details it says that there is an invalid XML-version 1.1.

As the XML comes from DBPedia I don't know how to change the xml version or how else I can handle this problem.


回答1:


Virtuoso, which is the triple store used behind the dbpedia SPARQL endpoint, has updated its XML result generation. They replaced the XML version 1.0 with 1.1 in this commit. This causes the exception in the dotNetRDF parser.

Later on Virtuoso reverted the changes in the XML header. Hopefully DBPedia will update their binaries soon, so the old XML header appears again in the SPARQL results.

Source: http://github.com/openlink/virtuoso-opensource/issues/405



来源:https://stackoverflow.com/questions/30214393/dotnetrdf-xml-exception-using-querywithresultset

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!