What is referred to as target triplets seems to map to the concatenation(separated by hyphens) of 4, not 3, values(target_arch, target_vendor,target_os, target_env):
E.g. target 64 bit Linux: "x86_64-unknown-linux-gnu":
target_arch="x86_64"
target_vendor="unknown"
target_os="linux"
target_env="gnu"
There must be some law that says you have to have an off-by-one error in naming of targets. Debian has 3-component targets like arm-linux-gnu and calls them tuples.