Section 2.1 says:
Implementations MAY also use additional properties and values not defined in the JSON-LD @context with the understanding that any such properties will likely be unsupported and ignored by consuming implementations that use the standard JSON-LD algorithms.
I think the best practice as of this date is to use an extension context. Adding ad-hoc properties can cause conflicts if they are used with different semantics by different implementations.
Section 2.1 says:
I think the best practice as of this date is to use an extension context. Adding ad-hoc properties can cause conflicts if they are used with different semantics by different implementations.