public static function fromString($string)
    {
        $parts = explode('#', $string, 2);
        $ref = $parts[0];
        $tag = isset($parts[1]) ? $parts[1] : null;

        $parts = explode(':', $ref, 5);
        $id = array_pop($parts);
        $curie = SchemaCurie::fromString(implode(':', $parts));
        return new self($curie, $id, $tag);
    }
public static function fromString($string)
    {
        $parts = explode('#', $string, 2);
        $ref = $parts[0];
        $tag = isset($parts[1]) ? $parts[1] : null;

        $parts = explode(':', $ref, 5);
        $id = array_pop($parts);
        $curie = SchemaCurie::fromString(implode(':', $parts));
        return new self($curie, $id, $tag);
    }
@param string $string A string with format curie:id#tag

@return self