xdg-mime doesn't seem to be able to correctly parse *.desktop files with
MimeType lines that don't end with a semicolon:
$ ls /usr/share/applications/mimeinfo.cache
ls: cannot access '/usr/share/applications/mimeinfo.cache': No such file or directory
$ grep Mime /usr/share/applications/xdot.desktop
MimeType=text/vnd.graphviz
$ xdg-mime query default text/vnd.graphviz
[nothing]
$ sudo sed -i -Ee 's/^(MimeType=.*)/\1;/' /usr/share/applications/xdot.desktop
$ xdg-mime query default text/vnd.graphviz
xdot.desktop