Validate datasets recursively