The design guidelines refer to extending resources by "adding relationships" but there is no example of this extension pattern within the document. Can anyone provide me with an example of how this may be achieved? I am presuming that this pattern has derived from SID where already sub-classed resources may be extended by association...
Also I noticed Section 2.5 "Resource Field Naming" of the Design Guidelines Part 1 has been removed. It previously suggested camelCase of lowercase. I was also wondering if there was any restriction of providing extension resources with field names containing a prefix, e.g. CSP/DSP short name, is recommended or not?
An extension is considered conformant or valid if it does not invalidate the core characteristics of an API and does not contradict the API Design Guidelines.
Various extensions mechanisms are supported:
o Extending the basic schema of an entity like Product to create a subclass in that case all the mandatory attributes and relationships of the base schema should be present in the extension.
o Adding characteristics to define run time extension
o Adding relationships
Yes, a bit mysterious - if we add a new relationship are we not extending the schema (covered by bullet #1)
I guessed that maybe it was alluding to using existing reference blocks but supplying new roles (as they are just strings).
Thinking about it, it may just have been a copying and pasting error from SID. Can't see how it applies to the Open APIs based on the polymorphism implementation.