triplemodel.embed

Nested TripleModel embedding.

class triplemodel.embed.BnodeEmbedStrategy(mode='bnode')[source]

Bases: object

Embed nested resources as blank-node subgraphs.

Parameters:

mode (Literal['iri', 'bnode'])

__init__(mode='bnode')
Parameters:

mode (Literal['iri', 'bnode'])

Return type:

None

export(parent_subject, predicate, nested, *, config=None)[source]
Return type:

list[tuple[str | NamedNode | BlankNode | Literal, str, Union[str, int, float, bool, date, datetime, Decimal, UUID, Enum, NamedNode, BlankNode, Literal]]]

Parameters:
import_value(graph, term, nested_cls, *, on_duplicate='warn', registry=<triplemodel.terms.registry.LiteralRegistry object>, de_skolemize=False)[source]
Return type:

BaseModel

Parameters:
mode: Literal['iri', 'bnode'] = 'bnode'
class triplemodel.embed.IriEmbedStrategy(mode='iri')[source]

Bases: object

Embed nested resources at their own subject IRIs.

Parameters:

mode (Literal['iri', 'bnode'])

__init__(mode='iri')
Parameters:

mode (Literal['iri', 'bnode'])

Return type:

None

export(parent_subject, predicate, nested, *, config=None)[source]
Return type:

list[tuple[str | NamedNode | BlankNode | Literal, str, Union[str, int, float, bool, date, datetime, Decimal, UUID, Enum, NamedNode, BlankNode, Literal]]]

Parameters:
import_value(graph, term, nested_cls, *, on_duplicate='warn', registry=<triplemodel.terms.registry.LiteralRegistry object>, de_skolemize=False)[source]
Return type:

BaseModel

Parameters:
mode: Literal['iri', 'bnode'] = 'iri'
triplemodel.embed.add_nested_to_graph(graph, parent_subject, predicate, nested, *, embed='iri', config=None)[source]

Add nested export triples directly to graph.

Return type:

None

Parameters:
triplemodel.embed.export_nested_triples(parent_subject, predicate, nested, *, embed='iri', config=None)[source]

Export nested model triples and the link triple from parent.

Return type:

list[tuple[str | NamedNode | BlankNode | Literal, str, Union[str, int, float, bool, date, datetime, Decimal, UUID, Enum, NamedNode, BlankNode, Literal]]]

Parameters:
triplemodel.embed.get_embed_strategy(embed)[source]
Return type:

IriEmbedStrategy | BnodeEmbedStrategy

Parameters:

embed (Literal['iri', 'bnode'])

triplemodel.embed.import_nested_value(graph, term, nested_cls, *, embed='iri', on_duplicate='warn', registry=<triplemodel.terms.registry.LiteralRegistry object>, de_skolemize=False)[source]

Hydrate a nested model from an RDF object term.

Return type:

BaseModel

Parameters: