1

我正在开发一个用于批量解析和上传到 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- Bad request 错误。打开完全调试显示错误是由于:

不支持的文件格式:“应用程序/n-triples”不是受支持的内容类型

是否有更改 AllegroGraphConnector 通信的默认格式的选项?

感谢您的时间。

4

1 回答 1

0

您使用的是什么版本的 dotNetRDF?

这听起来像是在我们最近的 1.0.8 版本中修复的一个错误,所以我会首先尝试升级到应该可以解决问题的最新版本

更新

所以看起来这是 AllegroGraph 中的一个错误,根据他们的文档,他们期望 NTriples 的 MIME 类型是,text/plain而大多数当前系统(包括 dotNetRDF)使用现在的标准application/n-triples作为 NTriples 的 MIME 类型。

目前没有解决方法,提交为CORE-447以在下一个版本中修复

于 2015-05-14T08:34:57.960 回答