get_reference_sa_column

get_reference_sa_column(*args: Any, **kwargs: Any) Column[Reference][source]

Get a SQLAlchemy column with the type decorator for a curies.Reference.

Parameters:
  • args – positional arguments, passed to sqlalchemy.Column

  • kwargs – keyword arguments, passed to sqlalchemy.Column

Returns:

A column object, parametrized with curies.Reference

For example, this can be used to model a semantic triple, which has a subject reference, predicate reference, and object reference like in the following:

from curies import Reference
from curies.database import get_reference_sa_column
from sqlmodel import Field, SQLModel


class Edge(SQLModel, table=True):
    id: int | None = Field(default=None, primary_key=True)
    subject: Reference = Field(sa_column=get_reference_sa_column())
    predicate: Reference = Field(sa_column=get_reference_sa_column())
    object: Reference = Field(sa_column=get_reference_sa_column())