Semi-Riemannian Maps and Their Applications