我正在开发一个批量解析和上传到AllegroGraph三元组的应用程序,但遇到了麻烦。我可以使用以下代码打开并阅读相关图表:
AllegroGraphConnector conn = new AllegroGraphConnector(myHost, myGraph, myUsername, myPassword);
Graph g = new Graph();
conn.LoadGraph(g, "");
g.BaseUri = new Uri(MOG);
foreach (RTSNode r in _nodes)
{
IUriNode sbj = g.CreateUriNode(new Uri(RTSuri + r.myName));
IUriNode pred = g.CreateUriNode(new Uri(MOG));
ILiteralNode obj = g.CreateLiteralNode(r.myName, "en");
g.Assert(new Triple(sbj, pred, obj));
}
conn.SaveGraph(g);
如上所述,图表加载正常,三元组正在添加到本地版本。但是当我尝试保存它时,我收到400错误请求错误。打开完整调试显示错误原因:
不支持的文件格式:'application / n-triples'不是受支持的内容类型
是否可以选择更改AllegroGraphConnector与之通信的默认格式?
感谢您的时间。
答案 0 :(得分:0)
您使用的是哪种版本的dotNetRDF?
这听起来像是我们最近的1.0.8版本中修复的错误,因此我首先尝试升级到应该解决问题的最新版本
所以看起来这是AllegroGraph中的一个错误,根据他们的documentation,他们期望NTriples的MIME类型为text/plain
,而大多数当前系统(包括dotNetRDF)使用现在的标准{ {1}}作为NTriples的MIME类型。
目前没有针对此的解决方法,以CORE-447提交以便为下一个版本修复