Лучшие практики говорят, что
JSON документы могут быть в форме объекта или массива объектов. В большинстве случаев разработчикам нужна единая точка входа, поэтому JSON ДОЛЖЕН быть в форме одного объекта верхнего уровня.
Мне кажется, что это поощряет идею о том, что верх -уровневый объект в документе JSON -LD имеет особое значение, скажем, это может быть то место, где должна начинаться обработка. Это прекрасно работает для компонентов, не поддерживающих RDF, но когда документ JSON -LD был преобразован в RDF, как мне узнать, какой узел является объектом верхнего уровня? Придает ли компонент, не подозревающий RDF, значение чему-то, что не имеет semanti c занимаемого места?
Некоторые возможные решения, которые я рассматриваю:
- Попросите клиента, не поддерживающего RDF, отметить root узел для меня (например,
rdf:type my:RootNode
) - Найдите пустой узел (субъект), который никогда не отображается как объект (и надеюсь, что он точно есть).
- Загрузите JSON -LD как JSON, и сделайте (1) себя перед синтаксическим анализом, надеясь, что JSON -LD всегда находится в правильной форме.