Gliffy |
---|
size | L |
---|
name | Many-many without |
---|
align | left |
---|
version | 1 |
---|
|
NOTE: A consequence of this is that collections may be directly created but not edited
NOTE: All subresources can be created along with resources in flat style
...
- Parent contains a createable, uneditable collection of mappings
- Mapping contains an uneditable reference to primary
- Mapping contains a creatable, potentially editable reference to secondary (whether relationships can be updated is an open question)
- Secondary does not contain a reference to primary or mapping
- Primary resource has a special query whose parameter is a secondary uuid which returns all primaries related to the secondary; this query is identified by the name of the secondary (as there may be several such relationships)
- Mapping subresource has a special query whose parameter is a secondary uuid which returns all mappings related to the secondary
- Relationships are created by creating a mapping subresource with the proper secondary reference
- Relationships are deleted by deleting the mapping
- Mapping data is editable
NOTE: There can only be one collection of mappings or counterparty objects because of caching issues.
Gliffy |
---|
size | L |
---|
name | Self-join with mapping |
---|
align | left |
---|
version | 1 |
---|
|
...
- Object as primary contains a createable, uneditable collection of child mappings
- Mapping contains a uneditable reference to object as primary
- Mapping contains a createable, potentially editable reference to object as secondary (whether relationships can be updated is an open question)
- Object does not contain a reference to object as primary or mapping
- Primary resource has a special query whose parameter is a secondary uuid which returns all primaries related to the secondary; this query is identified by the name of the secondary (as there may be several such relationships)
- Mapping subresource has a special query whose parameter is a secondary uuid which returns all mappings related to the secondary
- Relationships are created by creating a mapping subresource with the proper object as secondary reference
- Whether relationships can be edited or merely create and deleted is an open question
- Relationships are deleted by deleting the mapping
- Mapping data is editable
NOTE: There can only be one collection of mappings or counterparty objects because of caching issues.
Gliffy |
---|
size | L |
---|
name | Many-many without |
---|
align | left |
---|
version | 1 |
---|
|
Example: Location : LocationTagMap : LocationTag
Model: Primary is a resource; Mapping is a sub-resource of Primary; Secondary is a resource
- Parent contains a createable, uneditable collection of mappings
- Mapping contains an uneditable reference to primary
- Mapping contains a creatable, potentially editable reference to secondary (whether relationships can be updated is an open question)
- Secondary does not contain a reference to primary or mapping
- Primary resource has a special query whose parameter is a secondary uuid which returns all primaries related to the secondary; this query is identified by the name of the secondary (as there may be several such relationships)
- Mapping subresource has a special query whose parameter is a secondary uuid which returns all mappings related to the secondary
- Relationships are created by creating a mapping subresource with the proper secondary reference
- Relationships are deleted by deleting the mapping
NOTE: The direction in which the relationship is broken is arbitrary, but there can only be one collection of mappings or counterparty objects because of caching issues.