Префиксы не работают в LeviathanUpdateProcessor dotNetRdf?

Я запускаю оператор INSERT/WHERE с dotNetRdf, используя LeviathanUpdateProcessor, и он отлично работает, но не распознает пространства имен PREFIX, которые я добавляю программно, или пространства имен в SPARQL. Я также добавил в SparqlUpdateCommandSet и объект Graph.

SparqlUpdateCommandSet cmds = parser.ParseFromString(cmdString);
            cmds.NamespaceMap.AddNamespace( ...)

Кто-нибудь знает, работает ли это? иначе я не могу использовать префиксы


person Aries On The Cusp    schedule 27.06.2016    source источник


Ответы (1)


Пространства имен должны быть определены в фактической строке для анализа, а не постфактум. Анализатору необходимо расширить их, чтобы заполнить URI в процессе анализа.

Пространства имен, добавленные программно постфактум, будут использоваться только при сериализации обновления обратно в строку.

Если вы предпочитаете программно управлять своими пространствами имен, вам следует рассмотреть использование SparqlParameterizedString, как показано в руководстве пользователя.

person RobV    schedule 01.07.2016