# ArtistInfo

_Last Revision:20th March 2021_

This document is about the ArtistInfo node in the knowledge graph implemented using Neo4j Graph Database.

**_This label is deprecated. If you need artist related entity or relationships use LabelParticipant instead._**

## Why ArtistInfo exists?

ArtistInfo is part of the very first data model that was created at The Orchard. Back in the day, it was crucial to capture the one artist or band that shows up on the cover of a CD.
ArtistInfo was created as a link between a Label and their Products. You can think of it as a “brand” table.
After the introduction of a Project concept (collection of related Products and Product types), ArtistInfo has now been referred to as a Project level artist.

## How a ArtistInfo is created?

There’s a Foreign Key relationship between Vendor->ArtistInfo->Product. This forces all our applications to create an ArtistInfo record while adding new products.
There is a unique constraint on (ArtistInfo name, Vendor id) to avoid any new duplicates from getting created in the table within a label.

## Why ArtistInfo is being deprecated?

The concept of a Project level artist is less important to the business and how its being utilized on retail and media platforms.
Release level and track level artists are more important to recognize and connect to their external identifiers.
Also, in reality, Labels are the ones who own rights to the Products. Tying in this Project level Artistinfo between Vendor and Product adds to unnecessary complexity.

## Entity-Relationship diagram for ArtistInfo

![ER diagram for Artist Info](images/artist-info-er-diagram.png)
