Как я могу получить идентификатор BlankNode в библиотеку dotnetrdf в C#

Я создаю blankNode как этот код, используя dotNetRDF

BlankNode ddd = k.CreateBlankNode();

и затем утверждают это в файле n3, но когда я открываю файл n3 с помощью notpad, он показывает этот blankNode как []. Как я могу создать идентификатор BlankNode самостоятельно, чтобы затем удалить это?

удалить узел или тройку, используя dotenetrdf librery?

1 ответ

Решение

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

IBlankNode bnode = g.CreateBlankNode("id");

Обратите внимание, что это не гарантирует, что библиотека не будет преобразовывать ее в анонимный синтаксис [] на выходе N3, так как это просто синтаксическое сжатие. Если вы действительно хотите избежать этого синтаксического сжатия, вы можете создать и настроить Notation3Writer вручную и установите CompressionLevel свойство должно быть низким (все, что < 5 должно прекратить использование [])

В противном случае, если вы хотите удалить анонимный пустой узел, вам необходимо сформулировать некоторые критерии выбора, которые позволят вам найти соответствующий узел, а затем убрать тройки, основываясь на этом.

Другие вопросы по тегам