triplemodel.fields
RDF field metadata and predicate resolution.
- class triplemodel.fields.BackPopulates(field, model)[source]
Bases:
objectLink a field to the inverse-side field on another model (SparqlModel
back_populates).
- class triplemodel.fields.FieldPredicateResolver[source]
Bases:
objectDefault
PredicateResolverimplementation.
- class triplemodel.fields.IriId[source]
Bases:
objectMark
id_fieldas a full IRI string (not appended tonamespace).- __init__()
- Return type:
None
- class triplemodel.fields.InverseOf(uri)[source]
Bases:
objectInverse predicate IRI used on import when the forward predicate is absent.
- Parameters:
uri (str)
- class triplemodel.fields.Predicate(uri)[source]
Bases:
objectMarks a model field with its RDF predicate IRI.
- Parameters:
uri (str)
- class triplemodel.fields.Transitive[source]
Bases:
objectOn import, follow
predicatetransitively for multi-valued fields.- __init__()
- Return type:
None
- triplemodel.fields.back_populates_for_field(field_info, *, owner=None)[source]
Return paired-field metadata for
field_info, if configured.- Return type:
- Parameters:
- triplemodel.fields.inverse_pair(model, field)[source]
Shorthand for
BackPopulates.Pass a class or a string name (
inverse_pair("Organization", "employees")) when the peer model is declared later in the same module.- Return type:
- Parameters:
- triplemodel.fields.inverse_for_field(field_info)[source]
Resolve inverse predicate URI for a field, if configured.
- triplemodel.fields.models_via_back_populates(instance, field_name, graph)[source]
Load peer
TripleModelinstances for inverse-linked subjects.
- triplemodel.fields.subjects_via_back_populates(instance, field_name, graph)[source]
Return subject IRIs linked via the inverse predicate of
field_name(read-only).
- triplemodel.fields.transitive_for_field(field_info)[source]
True when the field expands objects transitively on import.
- triplemodel.fields.annotation_has_iri_id(annotation)[source]
True when
annotationincludesIriIdmetadata.- Return type:
- triplemodel.fields.id_field_is_iri_id(model_cls, id_field)[source]
True when the configured
id_fieldis marked withIriId.
- triplemodel.fields.owned_predicates(model_cls, config=None, *, resolver=None)[source]
Predicates owned by
model_cls(mapped fields andrdf:type).
- triplemodel.fields.predicate_for_field(field_info)[source]
Resolve the RDF predicate URI for a Pydantic field, if any.
- triplemodel.fields.predicate_from_annotation(annotation)[source]
Read
PredicatefromAnnotated[..., Predicate(...)].
- triplemodel.fields.rdf_field(predicate, *, inverse=None, back_populates=None, literal_datatype=None, transitive=False, default=Ellipsis, **field_kwargs)[source]
Create a Pydantic field bound to an RDF predicate.