使用dotnetRDF AllegroGraphConnector查询时遇XML 1.1版本错误
问题:使用AllegroGraphConnector执行查询时抛出XML版本错误
代码
AllegroGraphConnector connector = new AllegroGraphConnector( "https://someid.allegrograph.cloud/", "root", "mystore"); string sparqlQuery = @"ASK { ?s ?p ?o }"; var result = connector.Query(sparqlQuery); // 此行抛出错误
问题描述
执行任何格式正确的查询时,都会出现以下错误:
版本号“1.1”无效。第1行,位置16。
完整错误截图:
已尝试的解决方法
- 使用dotNetRdf.Client和dotNetRdf.Core包替代完整的dotNetRdf NuGet包
- 尝试不同的查询(格式错误的查询会抛出“MALFORMED”错误,格式正确的均抛出上述错误)
- 为匿名用户授予sudo权限
- 尝试使用
AllegroGraphServer,可正常连接且无错误,但无法用该实例执行查询 - 查阅文档和源代码寻找解决方案
- 在网上查找类似问题:第一个,第二个
在AllegroGraph网页视图中查询该存储库可正常运行(上述SPARQL查询应返回“true”)。我怀疑问题可能源于以下几点:
- 兼容性/版本问题(.NET、NuGet、dotnetRDF、XML)
- dotnetRDF bug(但我的使用场景非常基础,可能性较低)
- 服务器配置错误(我刚在根目录下创建了一个新存储库)
- 人为操作失误
软件环境
- LINQPad 8(.NET 8.0.3)
- Visual Studio 2022(.NET 8.0)
- dotNetRdf
更新
仅使用HttpClient通过?query执行相同SPARQL查询时,得到以下结果:
<?xml version="1.1"?> <!-- Generated by AllegroGraph 8.2.1 --> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head/> <boolean>true</boolean> </sparql>
因此,该错误与AllegroGraph服务器返回的XML 1.1版本有关,AllegroGraphConnector似乎不支持解析XML 1.1格式。
说明
感谢您的解答或评论,任何帮助都将不胜感激。请注意,我刚接触语义网领域,对AllegroGraph、dotnetRDF、SPARQL等技术均不熟悉。
内容的提问来源于stack exchange,提问作者Mayfair
相关产品推荐
相关产品推荐

