Код: Выделить всё
public static void main(String[] args) throws IOException {
InputStream dummyIS = Main.class.getResourceAsStream("/dummyJ.json");
Model output = Rio.parse(dummyIS, "", RDFFormat.JSONLD);
// logic to interact with output field
WriterConfig writerConfig = new WriterConfig();
writerConfig.set(JSONLDSettings.JSONLD_MODE, JSONLDMode.COMPACT);
StringWriter out = new StringWriter();
Rio.write(output, out, RDFFormat.JSONLD, writerConfig);
String finalOut = out.toString();
// saving string somewhere
}
Код: Выделить всё
{
"@id": "https://example.com/86b0db22-8478-4e5e-ac8b-456a07f7b203",
"@graph": [
{
"@id": "https://example.com/123",
"edm:dummy":[
{
"@id": "https://example.com/123#abc",
"@field1": "dummyData",
...
}
]
}
],
"@context":[...]
}
Код: Выделить всё
{
"@graph":[
{
"@id": "_:genid-61d31e4b5a1a4ef397ec527041ed13d62-b0",
"@graph": [
{
"@id": "https://example.com/123",
{
"@id": "https://example.com/123#abc",
"@field1": "dummyData",
...
},
"edm:dummy":[
"@id": "https://example.com/123#abc"
],
...
}
]
}
],
"@context":[...]
}
Я не хочу, чтобы ни одно из этих событий не происходило. Я хочу, чтобы моя выходная строка имела ту же структуру, что и в начале. Сначала я думал, что допустил ошибку при манипулировании своей Моделью. Однако даже если я не выполняю никакой работы со своей Моделью и немедленно конвертирую Модель обратно в строку, я все равно вижу то же поведение. Это заставляет меня думать, что я неправильно записываю свою модель в строку.
Мой вопрос: что я делаю неправильно? Как я могу записать модель в строку, чтобы сохранить исходную структуру без введения дополнительных полей и переноса данных в массив @graph?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -structure
Мобильная версия