我正在开发一个用于批量解析并上传到AllegroGraph triplestore的应用程序,但遇到了一个麻烦。我能够使用以下代码打开和读取有关的图表:
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-triple’不是受支持的内容类型
是否有更改AllegroGraphConnector通信的默认格式的选项?
谢谢您抽时间见我。
发布于 2015-05-14 08:34:57
您使用的是什么版本的dotNetRDF?
这听起来像是在我们最近的1.0.8版本中修复的一个bug,所以我首先尝试升级到应该解决问题的最新版本。
更新
看起来这是AllegroGraph中的一个bug,根据他们的文档,他们期望NTriples的MIME类型是text/plain,而大多数当前的系统(包括dotNetRDF)使用现在的标准application/n-triples作为NTriples的MIME类型。
目前还没有解决这一问题的方法,将其作为核心-447为下一个版本进行修复。
https://stackoverflow.com/questions/30225632
复制相似问题