Not that I am aware of, no. Generally you "expand" macros and query rules associated with type attributes to find their meaning, the names of macros and attributes are usually pretty descriptive. You can also query the git-log to see if the git commit message has some more information.
There is a script that helps expand macros called "macro-expander", and there is the setools policy analysis suite that helps to find rules associated with attributes.
The rule in your example seems to be unnamed pipe usage. This is usually part of domain transition macros to allow for piping into the input stream of the target since this is pretty common for processing of stdin/stdout/stderr, for example: (
app_b | app_a)
So assuming app_b runs app_a with a domain transition, app_a is allowed to read/write the pipe inherited from app_b. So its about processing of stdin, stdout, stderr. E.g. the target of a domain transition is automatically allowed to use inherited pipes of the source of a domain transition.
But, yes, parsing of complex policy written by others can be a challenge. setools and scripts like macro expander make it a little less painful, and self-documenting policy with strict style rules also help. A lot of these things are common patterns.