build_grai_metadata
@multimethod
def build_grai_metadata(current: Any, desired: Any) -> NoneBuild grai metadata for a given object.
Arguments:
current- The object to build grai metadata from.desired- The desired format of the metadata.
Returns:
None- grai metadata object.
Raises:
NotImplementedError- If no adapter is available between thecurrentanddesiredtypes.
build_grai_metadata_from_column
@build_grai_metadata.register
def build_grai_metadata_from_column(current: Column,
version: Literal["v1"] = "v1"
) -> ColumnMetadataBuild grai metadata for a Table object.
Arguments:
current- The Table object to build grai metadata from.version- The version of grai metadata to build. Defaults to "v1".
Returns:
TableMetadata- grai metadata object for the Table.
Raises:
None.
build_grai_metadata_from_table
@build_grai_metadata.register
def build_grai_metadata_from_table(current: Table,
version: Literal["v1"] = "v1"
) -> TableMetadataBuild grai metadata for a Table object.
Arguments:
current- The Table object to build grai metadata from.version- The version of grai metadata to build. Defaults to "v1".
Returns:
grai metadata object for the Table.
Raises:
None.
build_grai_metadata_from_question
@build_grai_metadata.register
def build_grai_metadata_from_question(current: Question,
version: Literal["v1"] = "v1"
) -> QueryMetadataBuild grai metadata for a Question object.
Arguments:
currentQuestion - The Question object to build grai metadata from.versionLiteral["v1"], optional - The version of grai metadata to build. Defaults to "v1".
Returns:
grai metadata object for the Question.
Raises:
None.
build_grai_metadata_from_collection
@build_grai_metadata.register
def build_grai_metadata_from_collection(
current: Collection,
version: Literal["v1"] = "v1") -> CollectionMetadataBuild grai metadata for a Collection object.
Arguments:
current- The Collection object to build grai metadata from.version- The version of grai metadata to build. Defaults to "v1".
Returns:
grai metadata object for the Collection.
build_grai_metadata_from_edge
@build_grai_metadata.register
def build_grai_metadata_from_edge(
current: Edge,
version: Literal["v1"] = "v1"
) -> Union[ColumnToColumnMetadata, GenericEdgeMetadataV1]Build grai metadata for an Edge object.
Arguments:
current- The Edge object to build grai metadata from.version- The version of grai metadata to build. Defaults to "v1".
Returns:
Grai metadata object for the Edge.
Raises:
None.
build_app_metadata
@multimethod
def build_app_metadata(current: Any, desired: Any) -> NoneBuild application-specific metadata for a given object.
Arguments:
current- The object to build application-specific metadata from.desired- The desired format of the metadata.
Returns:
None- Application-specific metadata object.
Raises:
NotImplementedError- If no adapter is available between thecurrentanddesiredtypes.
build_metadata_from_table
@build_app_metadata.register
def build_metadata_from_table(current: BaseModel,
version: Literal["v1"] = "v1") -> DictBuild application-specific metadata for a Table object.
Arguments:
current- The Table object to build application-specific metadata from.version- The version of the metadata to build. Defaults to "v1".
Returns:
Dict- Application-specific metadata object for the Table.
Raises:
None.
build_metadata_from_edge
@build_app_metadata.register
def build_metadata_from_edge(current: Edge,
version: Literal["v1"] = "v1") -> DictBuild application-specific metadata for an Edge object.
Arguments:
currentEdge - The Edge object to build application-specific metadata from.versionLiteral["v1"], optional - The version of the metadata to build. Defaults to "v1".
Returns:
Dict- Application-specific metadata object for the Edge.
Raises:
None.
build_metadata
def build_metadata(obj, version) -> Dict[str, Dict]Build metadata for a given object.
Arguments:
obj- The object to build metadata from.version- The version of the metadata to build.
Returns:
Dict- Metadata object containing both grai and application-specific metadata.
Raises:
None.
adapt_to_client
@multimethod
def adapt_to_client(current: Any, desired: Any)Adapt a given object to the desired client format.
Arguments:
currentAny - The object to adapt.desiredAny - The desired format to adapt to.
Returns:
None- Adapted object in the desired format.
Raises:
NotImplementedError- If no adapter is available between thecurrentanddesiredtypes.
adapt_table_to_client
@adapt_to_client.register
def adapt_table_to_client(current: Union[Table, Column],
source: SourceSpec,
version: Literal["v1"] = "v1") -> SourcedNodeV1Adapt a Table object to the desired client format.
Arguments:
current- The Table object to adapt.source- The Source associated with the Tableversion- The version of the client format to adapt to. Defaults to "v1".
Returns:
NodeV1- Adapted Table object in the desired client format.
Raises:
None.
adapt_question_to_client
@adapt_to_client.register
def adapt_question_to_client(current: Question,
source: SourceSpec,
version: Literal["v1"] = "v1") -> SourcedNodeV1Adapt a Question object to the desired client format.
Arguments:
current- The Question object to adapt.source- The source associated with the Questionversion- The version of the client format to adapt to. Defaults to "v1".
Returns:
NodeV1- Adapted Question object in the desired client format.
Raises:
None.
adapt_collection_to_client
@adapt_to_client.register
def adapt_collection_to_client(current: Collection,
source: SourceSpec,
version: Literal["v1"] = "v1") -> SourcedNodeV1Adapt a Collection object to the desired client format.
Arguments:
current: source: version:
make_name
def make_name(node1: NodeTypes, node2: NodeTypes) -> strCreates a name for an edge based on the given nodes.
Arguments:
node1 (NodeTypes) node2 (NodeTypes)
Returns:
str- The name of the edge.
Raises:
None.
adapt_edge_to_client
@adapt_to_client.register
def adapt_edge_to_client(current: Edge,
source: SourceSpec,
version: Literal["v1"] = "v1") -> SourcedEdgeV1Adapt an Edge object to the desired client format.
Arguments:
current- The Edge object to adapt.source- The data source associated with the Edgeversion- The version of the client format to adapt to. Defaults to "v1".
Returns:
EdgeV1- Adapted Edge object in the desired client format.
Raises:
None.
adapt_seq_to_client
@adapt_to_client.register
def adapt_seq_to_client(objs: Sequence, source: SourceSpec,
version: Literal["v1"]) -> List[T]Adapt a sequence of objects to the desired client format.
Arguments:
objs- The sequence of objects to adapt.source- The source associated with each object in objsversion- The version of the client format to adapt to.
Returns:
List[Union[NodeV1, EdgeV1]]: Adapted sequence of objects in the desired client format.
Raises:
None.
adapt_list_to_client
@adapt_to_client.register
def adapt_list_to_client(objs: List, source: SourceSpec,
version: Literal["v1"]) -> List[T]Adapt a list of objects to the desired client format.
Arguments:
objs- The list of objects to adapt.source- The source associated with each object in objsversion- The version of the client format to adapt to.
Returns:
List[Union[NodeV1, EdgeV1]]: Adapted list of objects in the desired client format.
Raises:
None.
adapt_source_v1_to_client
@adapt_to_client.register
def adapt_source_v1_to_client(objs: Any, source: SourceV1,
version: Any) -> List[T]Adapt a list of objects to the desired client format.
Arguments:
objs- The list of objects to adapt.source- The source associated with each object in objsversion- The version of the client format to adapt to.
Returns:
List[Union[NodeV1, EdgeV1]]: Adapted list of objects in the desired client format.
Raises:
None.