So here's the problem I have with my data model

I have artists, users and tags

Tags are unique data objects that I am storing in nodes.

Users can tag artists with certain tags

I started with the following relationship

```
(user)-[:tags]->(tag)-[:on]->(artist)

```

OFcourse this fails to identify the user who tagged the artist.

Then I thought of trying the following approach

```
(user)-[:tags]->(artist)->[:with]->(tag)

```

Here, I can identify the artist, but cannot identify what the tag for the artist was.

I am a little lost here. I know I could simply go

```
(user)-[:tags {tagname}]->artist

```

But is there any way of representing tag as an independent entity while still maintaining data associated on both ends