Kendra App Data Model
Kendra App Data Model
The purpose of this document is to capture the ‘reasoning’ behind the development of the Asset Rights data model.
The model described in this document is the first draft of the Logical Model for managing the relations between the following entities:
- LegalEntity: This is a person or corporation that has legal rights to an asset
- Asset: A work (composition, arrangement, choreography)
- Right: A right such as Composition, Performance, Recording.
- Role: The type of right a LegalEntity has for an Asset (e.g. is the composer, singer, drummer, owner of)
- Contribution: The assignment of rights for a legal entity to an Asset.
The purpose of the model is to:
- Record the identity of Legal Entities
- Record the rights they have
- Enable the assignment of rights to an asset
- Enable the use of the rights linked to an asset to be inherited by an asset that uses that asset.
In the following discussion the terms ‘work’ and ‘clip’ are synonyms and can be applied to any asset that has rights associated with it including but not limited to:
- Music track
- Sound clip
- Orchestral work
The following sections detail the basic entities of the logical model. The attributes for this entity are minimal at this stage and are expected to be added to as the requirement for handling real data is advanced.
The data model handles the relationship between LegalEntities (People, performers, composers, companies etc) and Assets (music tracks, music compositions, etc). These rights are typed (Composition rights, performance rights, recording rights) and LegalEntities are related to assets via their rights using ‘Contribution’.
These roles describe the relationship between a performer or composer and a music track detailing what role coneys these rights.
The model is structured so as to maintain referential integrity of the data.
The entity type handles the different types of entities. These can be Legal Entities (People etc) and Assets (works, compositions etc)
|Entity_type||varchar(45)||The entity type name|
The entity represents a common parent entity for both Legal Entities (People etc) and Assets (works, compositions etc)
|Entity_type_id||int||The entity type|
|Entity_name||varchar(45)||The entity name|
Legal Entity / Asset
The Legal Entity and Asset manages data specific to a Legal Entity or Asset.
At present they don't contain any further attributes.
The right type controls the type of rights.
Examples are Performance Right, Composition Right.
|RightTypeDesc||varchar(45)||The Right Type|
Role Types are roles attached to a Right Type.
Examples of this are Guitarist, Vocalist (Performance Rights), Composer (Composition Right)
|RoleTypeName||varchar(45)||The Role Type name|
|idRightType||int||Foreign key to Right Type|
A contribution is an instance of an Asset that manages its rights and relation to Legal Entities and other Assets (e.g. Embedded clip)
|Contribution_title||varchar(45)||A title for the contribution|
|work_id||int||The id of an Asset|
|contributor_id||int||The ID of the contributor (an entity of type Asset or Legal Entity)|
|idRoleType||int||Foreign key to the Role Type|
|SourceStart||int||The start of the source asset in Milliseconds|
|SourceEnd||int||The end of the source asset in Milliseconds|
|Usage_weight||int||A weight given to the contribution|
|contrib_percentage||int||The percentage split of the contribution|
The contribution may have several usage extents. These are managed by the Contribution Usage.
These are the start and end times of the individual extents.
|idContribution||int||Foreign key to Contribution|
|UseStart||int||Millisecond time of the usage start|
|UseEnd||int||Millisecond time of the usage end|