public static function getLiteralLanguage ($literal)
    {
        preg_match('/^".*"(?:@([^@"]+)|\^\^[^"]+)?$/s', $literal, $match);
        if (empty($match))
            throw new \Exception($literal . ' is not a literal');
        return isset($match[1]) ? strtolower($match[1]) : '';
    }