Hello,
Just want to add my thoughts.
I would look at it from Model and Model associations. Now in this case the model is adventure which has association of contributor and model instances (fragments) are created for adventure.
So, looking at this scenario the query should be finding out all adventure associated to specific contributor or set of contributor under adventure path (because otherwise query or filtering will be cumbersome), until unless you have other way model creation where contributor has association of adventures and created as model instances (fragments) in filter.
(i hope, was able to clear it)
refer very good video around same: https://adapt.to/2020/en/schedule/graphql-services-in-the-aem-world.html