Long answer: It's possible to list files in a package, so you could check if there is a certain file that may indicate the package contains an application -- e.g. if there is a .desktop file or an AppData file or if it installs some executables. But it will be very very slow and there will be false positives (for example plugins) and some applications will be missing (not all have desktop files or appdata).
for pkg in rpm -qa ;do [ dnf repoquery --list $pkg | sed -n "/.appdata.xml/p" | wc -l -ne 0 ] && echo$pkg ;done