DotNetRDF& AllegroGraph

时间:2015-05-13 21:39:25

标签: c# allegrograph dotnetrdf

我正在开发一个批量解析和上传到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与之通信的默认格式?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您使用的是哪种版本的dotNetRDF?

这听起来像是我们最近的1.0.8版本中修复的错误,因此我首先尝试升级到应该解决问题的最新版本

更新

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

目前没有针对此的解决方法,以CORE-447提交以便为下一个版本修复