Могут ли уплотняемые массивы быть более избирательными в кадрировании JSON-LD?

В вопросе о том, как создать массивы из отдельных объектов при кадрировании JSON-LD для всех массивов (путем добавления параметра compactArrays).

Есть ли способ сделать это выборочно? Начиная с того, чтобы всегда иметь «@graph», а затем для некоторых «основных» узлов. Может быть, в кадре можно указать какой-то параметр, чтобы обозначить исключение из общего варианта?

В моем случае массивы на самом деле являются наборами.


person Roman Susi    schedule 01.10.2015    source источник


Ответы (1)


Да, вы можете сделать это для каждого свойства, установив для атрибута @collection свойства значение @set:

{
  "@context": {
    "arrayProperty": {
      "@id": "http://example.com/something",
      "@container": "@set"
    }
  },
  ...
  "arrayProperty": []
}
person Markus Lanthaler    schedule 01.10.2015
comment
Красивый! Единственное изменение, которое мне нужно, myProperty: {} (из-за получения пустого массива). В чем разница между {} и [] в этом случае? - person Roman Susi; 02.10.2015
comment
Работает и в другом случае, например: myProp: [{@type: SomeType, @embed: True }], поэтому я думаю, что на вопрос дан полный ответ. - person Roman Susi; 02.10.2015