This makes "source of information" too complex to define a standard operation you can call a join; …
I find that this view will need further clarification.
I guess that you prefer to refer to them as “predicates within steps” so far (according to path expressions). https://www.w3.org/TR/xquery-31/#id-predicate
Predicates are part of path expressions,
Such functionality can be helpful.
but still are not a join,
Under which circumstances would you interpret the specification of special conditions (or constraints) as a join operation?
because predicates reduce the sequence produced by either the infix expression (a function) or an axis step in this step of the path expression.
Finding the thing you want to join and performing the join -- producing a result that contains this thing and some other things -- are conceptually distinct, or at least I think so.
Will this view trigger further considerations?
Would you like to extend programming interfaces for the management of relationships with various entities?
I need an example here, because I'm not following what you mean.
I guess that you are used to some approaches for the handling of joinable items. Do you care for the number of involved items here?
Regards, Markus