You can create any "custom" fields you like on a tiddler.
To represent a one-to-one relationship between painting and painter, you could define
a "paintedby" field for a painting, the value of which would be the title of a "painter" tiddler.
e.g., [[The Mona Lisa]] tiddler would have a "paintedby" field containing: "Leonardo Da Vinci".
Conversely, to represent one-to-many relationships, you could define a "painted" tiddler for
an artist, the value of which would be a space-separated list of titles of paintings.
e.g., [[Leonardo Da Vinci]] tiddler would have a "painted" field containing: [[The Mona Lisa]] [[The Last Supper]] [[Salvator Mundi]]
Then, to display a list of all his works, you can write in the [[Leonardo Da Vinci]] tiddler:
<$list filter="[list[!!painted]]"><$link /><br></$list>
Alternatively, if not all paintings by Da Vinci are entered into the "painted' field, you can still list all his paintings using a filter that looks for his name in the "paintedby" field of other tiddlers, like this:
<$list filter="[all[tiddlers]paintedby<currentTiddler>]">...</$list>
For a more complex example, let's suppose that each artist tiddler is tagged with "artist". Then, you could create a list of all paintings in the document, grouped by artists, using something like:
<$list filter="[tag[artist]]">
<$link />
<blockquote>
<$list filter="[all[tiddlers]paintedby<currentTiddler>]"><$link /><br></$list>
</blockquote>
</$list>
The outer $list finds all artist tiddlers and displays their titles, while the inner $list shows all the tiddlers for the current artist (inside a blockquote for nicer formatting
enjoy,
-e