Skip to content

type_bridge.expressions.iid

iid

IID (Internal ID) expressions for TypeDB queries.

IidExpr

IidExpr(iid)

Bases: Expression

Expression for matching entity by IID (Internal ID).

Generates TypeQL pattern: $var iid 0x...

Example

expr = IidExpr("0x1a2b3c4d") expr.to_typeql("$e") # -> "$e iid 0x1a2b3c4d"

Create an IID expression.

Parameters:

Name Type Description Default
iid str

TypeDB internal ID (format: 0x followed by hex digits)

required

Raises:

Type Description
ValueError

If IID format is invalid

Source code in type_bridge/expressions/iid.py
def __init__(self, iid: str):
    """Create an IID expression.

    Args:
        iid: TypeDB internal ID (format: 0x followed by hex digits)

    Raises:
        ValueError: If IID format is invalid
    """
    validate_iid(iid)
    self.iid = iid

to_ast

to_ast(var)

Generate AST patterns for IID match.

Returns:

Type Description
list[Pattern]

List containing one IidPattern.

Source code in type_bridge/expressions/iid.py
def to_ast(self, var: str) -> list[Pattern]:
    """Generate AST patterns for IID match.

    Returns:
        List containing one IidPattern.
    """
    from type_bridge.query.ast import IidPattern

    return [IidPattern(variable=var, iid=self.iid)]

get_attribute_types

get_attribute_types()

IID is not an attribute, so return empty set.

Source code in type_bridge/expressions/iid.py
def get_attribute_types(self) -> set[type[Attribute]]:
    """IID is not an attribute, so return empty set."""
    return set()

validate_iid

validate_iid(iid)

Validate IID format.

Parameters:

Name Type Description Default
iid str

IID string to validate

required

Raises:

Type Description
ValueError

If IID format is invalid

Source code in type_bridge/expressions/iid.py
def validate_iid(iid: str) -> None:
    """Validate IID format.

    Args:
        iid: IID string to validate

    Raises:
        ValueError: If IID format is invalid
    """
    if not IID_PATTERN.match(iid):
        raise ValueError(f"Invalid IID format: '{iid}'. Expected format: 0x followed by hex digits")