Help with URL editing for missing annotations

I’m trying to use the URL search to find observations that do not an annotation set to any value. I haven’t been able to figure it out. I see I’m supposed to be able to show observations that don’t have a specific annotation, but I can’t make that work.

Here is an example trying to find my observations of Dicots from Palau that do not have any value for Plant Phenology:

https://www.inaturalist.org/observations?place_id=7320&taxon_id=47124&user_id=jbecky&verifiable=any&without_term_id=12

It shows me all Dicots regardless of whether their annotations have been set. For example, the first one (white and blue flower) has Plant Phenology set to Flowering, but the last one (Scaevola) has no value set. They both show up.

I also tried to see what I have without Phenology=Flowering, but can’t make that work either.

https://www.inaturalist.org/observations?place_id=7320&taxon_id=47124&user_id=jbecky&verifiable=any&without_term_id=12&without_term_value_id=13

What am I doing wrong? I have a boatload of observations to go back and annotate, but don’t want to open each of the 1,516 observations to find out which I need to work on.

Thanks in advance.

2 Likes

You can do this with Identify without the need to edit the url. You need to click “More Filters”. This gives:

https://www.inaturalist.org/observations/identify?quality_grade=needs_id%2Cresearch%2Ccasual&taxon_id=47124&place_id=7320&user_id=jbecky&without_term_id=12

So it looks like “&verifiable=any” is the problem.

Edit - there is a nice tutorial on doing this too: Using Identify to Annotate Observations

i don’t think you’re doing anything wrong. although the Identify screen was designed with the “without annotation” parameter, it doesn’t look like the Observation screen was designed to utilize it. it looks like there may have been attempt to implement “without annotation value” parameter (which would be used in conjunction with an annotation parameter, not the without annotation parameter in the Identify screen), but the without value parameter doesn’t appear to work, and i think this has probably been the case for a while:

interestingly, the API’s get observation endpoint seems to be designed to work how the Observation screen was intended to work (as opposed to how the Identify screen works), but it seems to actually work as intended (though that would not bring back the results desired in this situation): http://api.inaturalist.org/v1/observations?place_id=7320&user_id=jbecky&term_id=12&without_term_value_id=13&order=desc&order_by=created_at

you best bet may be to use the Identify screen for now, and maybe request that the Observation screen be updated to work the same as the Identify screen.

The way the API works for finding observations with control terms is that to exclude a control term value, you need to also enter the control term id. So in this case, the control term is is 12 (Plant Phenology), and if we want to exclude the flowering stage the control term value of 13 must be added.

https://www.inaturalist.org/observations?place_id=7320&taxon_id=47124&user_id=jbecky&verifiable=any&term_id=12&without_term_value_id=13

However, there is no way to get observations without an annotation. This is because the annotation only becomes part of the observation data upon selecting a value. So until you choose flowering, for example, there is no annotation for Plant Phenology set on the actual observation in the database.

I tried some alternative ways but could not find a work around. Perhaps, you can get someone to batch flag the observations without Plant Phenology annotation and then filter by flag. If you are interested, I can help. Just message me :)

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.