Can relationship attributes support something as complex as an “access the music at” relationship with 1 or more attribute tuples of:
partial/excerpts, video (select 0+)
stream, download (select 1+)
for free, with free membership, with paid membership/subscription, for purchase (select 1)
begin date (optional)
end date (optional, or generic “ended”)
E.g., a single relationship for: access the music at <URL> (partial/excerpts stream for free, stream with free membership, stream and download for purchase)
Does it make sense to add a new entity type for music access services? So Spotify could be a new Service entity, and the ways Spotify allows users to access music could be defined on that entity. Then an album would just have a relationship like “access on service Spotify with ID <spotify id>”. URLs would still be needed for self-hosted download sites and the like though. But for the major services, most editors wouldn’t need to know about the relationship the service has with its users, just the ID of the release on that service.
To me “unified” is merging the ‘stream for free’ relationship into the ‘streaming page’ relationship and calling it a day. Whether it’s available to be downloaded or not and whether it’s free or not are subject to change at any time by the service companies, and don’t feel relevant enough to the digital release (e.g. no artist intent).
We have ‘streaming page’ and ‘purchase for download’ in case of true digital purchase. We don’t need to document which releases on which streaming services are available to be downloaded from the service during active subscription and which are not.
That makes sense. I’d just like to be able to paste a URL into the editing UI and have it auto-fill the type of relationship. There are a bunch of services that I’ll look at for metadata, but I have no idea how they give access to their users.
I’ve actually been wondering about using IDs instead of URLs for the major streaming platforms, like Spotify, Apple Music, Deezer, and even Bandcamp (tho they aren’t as visible, you can get them from the Embed code), that way if a site changes their URL format, it’s a simple matter of changing one item in the database instead of thousands. this could also apply to other sites, like Discogs, WhoSampled, and RateYourMusic too
(on that note, I think BookBrainz already does this?)
on the main topic, I think this could be useful, but it could also theoretically be handled through a userscript that queries the URLs or APIs in question or something like that
that said, I think whether or not a release is downloadable or just streamable is an important data point to have, so I don’t think I’m for removing the current options either, especially since not all digital releases are on a streaming service, lol