我有一个asp.net项目,在这个项目中,我想查询DBPedia。使用下面的代码我得到了一个错误:
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());}错误信息:“System.Xml.XmlException类型的异常发生在dotNetRDF.dll中,但未在用户代码中处理”。
即使我处理异常,也不能执行该方法。关于详细信息,它说有一个无效的XML1.1版本。
由于XML来自DBPedia,我不知道如何更改,也不知道如何处理这个问题。
发布于 2015-05-25 11:33:38
Virtuoso是dbpedia SPARQL端点后面使用的三重存储,它更新了它的XML结果生成。他们在这提交中用1.1替换了XML1.0版本。这将导致dotNetRDF解析器中的异常。
Virtuoso上的后来恢复了XML中的更改。希望DBPedia将很快更新它们的二进制文件,因此旧的XML再次出现在SPARQL结果中。
来源:http://github.com/openlink/virtuoso-opensource/issues/405
https://stackoverflow.com/questions/30214393
复制相似问题