Skip to content

ontocast.util

iri2namespace(iri, ontology=False)

Convert an IRI to a namespace string.

Parameters:

Name Type Description Default
iri str

The IRI to convert.

required
ontology bool

If True, append '#' for ontology namespace, otherwise '/'.

False

Returns:

Name Type Description
str str

The converted namespace string.

Source code in ontocast/util.py
def iri2namespace(iri: str, ontology: bool = False) -> str:
    """Convert an IRI to a namespace string.

    Args:
        iri: The IRI to convert.
        ontology: If True, append '#' for ontology namespace, otherwise '/'.

    Returns:
        str: The converted namespace string.
    """
    iri = iri.rstrip("#")
    return f"{iri}#" if ontology else f"{iri}/"

render_text_hash(text, digits=12)

Generate a SHA-256 hash for the given text.

This is the single hashing entry point for the entire codebase. All modules that need to derive a hash from text should use this function instead of calling hashlib directly.

Parameters:

Name Type Description Default
text str

The text to hash.

required
digits int | None

Number of hex digits to return (default: 12). Pass None to return the full 64-character hex digest.

12

Returns:

Type Description
str

A hex string hash of the text.

Source code in ontocast/util.py
def render_text_hash(text: str, digits: int | None = 12) -> str:
    """Generate a SHA-256 hash for the given text.

    This is the single hashing entry point for the entire codebase.
    All modules that need to derive a hash from text should use this function
    instead of calling ``hashlib`` directly.

    Args:
        text: The text to hash.
        digits: Number of hex digits to return (default: 12).
            Pass ``None`` to return the full 64-character hex digest.

    Returns:
        A hex string hash of the text.
    """
    digest = hashlib.sha256(text.encode()).hexdigest()
    return digest[:digits] if digits is not None else digest