Первое, что нужно сказать, это то, что две указанные вами формы имеют абсолютно одинаковое значение для RDF, то есть они генерируют точно такой же набор троек при разборе в RDF-граф. По этой причине обычно не стоит беспокоиться о точном синтаксисе XML, созданного автором. RDF / XML, как правило, не является дружественным синтаксисом для чтения. Если вы просто хотите сериализовать Model
, чтобы потом можно было прочитать его снова, я бы предложил Синтаксис Turtle , поскольку он более компактен и проще для чтения и понимания людьми.
Однако есть одна причина, по которой вы можете позаботиться конкретно о сериализации XML: если вы хотите, чтобы файл был частью конвейера обработки XML (например, XSLT или аналогичного). В этом случае вы можете создать нужный формат, изменив последнюю строку вашего примера:
m.write( f, "RDF/XML-ABBREV" );
или, что эквивалентно,
m.write( f, FileUtils.langXMLAbbrev );