DotNetRDF и AllegroGraph

Я работаю над приложением для массового анализа и загрузки в тройной магазин 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. Включение полной отладки показывает, что ошибка связана с:

НЕПОДДЕРЖИВАЕМЫЙ ФОРМАТ ФАЙЛА: «application/n-triples» не является поддерживаемым типом содержимого.

Есть ли возможность изменить формат по умолчанию, с которым взаимодействует AllegroGraphConnector?

Спасибо за ваше время.


person Elipson    schedule 13.05.2015    source источник


Ответы (1)


Какую версию dotNetRDF вы используете?

Это похоже на ошибку, которая была исправлена ​​в нашей последней версии 1.0.8, поэтому я сначала попробую обновить ее до последней версии, которая должна решить проблему.

Обновлять

Похоже, что это ошибка в AllegroGraph, согласно их документации они ожидают, что тип MIME для NTriples будет text/plain, тогда как большинство современных систем (включая dotNetRDF) используют теперь стандартный application/n-triples в качестве типа MIME для NTriples.

В настоящее время обходного пути для этого нет, он зарегистрирован как CORE-447. исправлено для следующего релиза

person RobV    schedule 14.05.2015
comment
Я взял версию с NuGet: dotNetRDF — 1.0.8.3533. - person Elipson; 14.05.2015