Quote by Ben Niehoff
Another thing to add: There are additional ways to make gaugeinvariant scalars besides merely making contractions like
[tex]R_{abcd} X^a Y^b Z^c W^d[/tex]
at a point. One can also make nonlocal measurements, by paralleltransporting a vector around a given path, and finally comparing it with its original image (you can imagine carrying this process out using two observers, each carrying a copy of a vector, travelling two different paths, and then comparing their vectors). In YangMills theory, such a scalar measurement is called a Wilson loop. In GR, we call it holonomy.
It is this kind of measurement that gives us the AharonovBohm effect: A Wilson loop going around a perfect solenoid.
An analogous process can happen in geometry: Consider a path going around the base of a cone. Everywhere along the path, the geometry is locally flat. But there will be a nontrivial holonomy around this loop, due to the curvature concentrated at the tip of the cone. (There is no need to have a curvature singularity; you can imagine smoothing out the tip of the cone.)
So there are other ways to make measurements. But ultimately, you end up taking the dot product between two vectors.

I once saw an interesting comment from Michael Berry that holonomy was a "bastardization" of language, and it really should be anholonomy.