What you are saying, would be true if you are showing one related context record from the artifact table. If you want to show multiple context records from the artifact record, you would need to show the related contexts in a portal from the artifact table the many to many "bag" table... does this make sense?
Because the context – bag link is many-to-many you will have to insert a join table to resolve this. The join table functions to break down the many-to-many relationship into two one-to-many relationships: Context—JOIN—Bag.
The join table only needs to have a foreign key field for context and a foreign key field for bag; these are used to make each side of the link—to the primary key field respectively in each of the other tables.
Thus context 1 will have a join to bag A, and context 2 will have a separate join to bag A. From bag A you will be able to see both contexts, and from each context you will see bag A without either affecting the other.