I’m putting this in general for now as I don’t know if it’s necessarily a bug per se
Recently I’ve been going through Australian records where users have set their copyright licensing to all rights reserved, so I can message them and ask them to consider changing it (this license blocks observations from flowing into the Atlas of Living Australia, our national biodiversity database). If I search using the following URL, I would expect to see all observations from Australia + associated territories where the attached photos have a license of ARR:
At face value, this seems to work, retrieving 1.1 million records (out of 6.6 million, so alarmingly high, but that’s another discussion). Out of interest, I filtered these further to my own records, expecting zero to be returned as I have all of my observations, photos and sounds set to CC-BY licensing. To my surprise, it returned 539 records. Inspecting them, it represents all of my observations for which the only attached media is a sound recording.
This is very counter-intuitive behaviour to me. Appending the string photo_licensed=false should not retrieve any observations that don’t actually have a single photo.
I don’t think it’s a bug, but I think it is a bit counterintuitive for how some users might use that.
I am guessing (but don’t know for sure) that search string is essentially equivalent to “does not have a licensed photo” which those observations don’t.
It’s likely not testing whether they have unlicensed photos (which would be something like photo_unlicensed=true, though that doesn’t exist as an option to my knowledge).
I would guess that term was mostly designed for access to the subset of observations that do have a licensed photo, so the “false” subset just includes everything else. You could filter for only observations with photos and then on photo_unlicensed=true to return only observations with photos that have unlicensed photos I think.
Addition: The API documentation somewhat confirms this is how photo_licensed=false works as it notes that this searches for “content” not “photos.”
- If you want to search for content that has no license (aka all rights reserved), use
That said, if it does return sounds with any license, that description of the API field is incorrect. According to that description, it should only return sounds that are unlicensed (ARR). I’m guessing that your sounds are licensed?
unfortunately, there’s not a
sound_licensed parameter. so you can’t do the same kind of search for just sounds.
obs with photo all rights reserved is effectively photo_license=null. obs with sound but no photos is also effectively photo_license=null. so
photo_licensed=false will find both these cases.
says that there is a parameter for sounds? Maybe that’s changed?
I also found this reference to one:
this does not exist as far as i can tell:
i corrected these in the wiki thread since they were wrong.