When the specifications were first created, the underlying JSON-LD structure was simplified by aliasing @type to type and @id to id.
Although this initially provided a minor simplification for implementations, as the tooling and implementations have now become more sophisticated this has caused challenges for implementations that leverage existing JSON-LD based libraries (e.g. Schema.NET), and situations where data is being serialised for consumption by e.g. Google for SEO (e.g. the Dataset Sites), where proper JSON-LD form is expected.
Proposal
For the next minor version of the modelling specification, we should move towards a recommendation of @type and @id, while still supporting type and id for backward compatibility. We should also adopt the same for the Open Booking specification.
Note as the modelling specification currently allows for either to be used, and simply preferences type and id, this is not a breaking change.
Although there was universal agreement that the presence of '@' prefixes is one of the more awkward aspects of the JSON-LD specification, the consensus was to accommodate these, while retaining the option of aliasing to avoid breaking changes.
Proposer
ODI
Background
When the specifications were first created, the underlying JSON-LD structure was simplified by aliasing
@type
totype
and@id
toid
.Although this initially provided a minor simplification for implementations, as the tooling and implementations have now become more sophisticated this has caused challenges for implementations that leverage existing JSON-LD based libraries (e.g. Schema.NET), and situations where data is being serialised for consumption by e.g. Google for SEO (e.g. the Dataset Sites), where proper JSON-LD form is expected.
Proposal
For the next minor version of the modelling specification, we should move towards a recommendation of
@type
and@id
, while still supportingtype
andid
for backward compatibility. We should also adopt the same for the Open Booking specification.Note as the modelling specification currently allows for either to be used, and simply preferences
type
andid
, this is not a breaking change.Example