triplemodel.ontology_registry
Ontology hints: subclass closure and inverse predicate pairs from TTL or static registration.
- class triplemodel.ontology_registry.OntologyRegistry(_graph=None, _parent_to_children=<factory>, _registered_inverse_forward=<factory>, _registered_inverse_reverse=<factory>, _graph_inverse_forward=<factory>, _graph_inverse_reverse=<factory>)[source]
Bases:
objectSubclass and
owl:inverseOfhints from an ontology graph and/or static registration.Use
subtypes_of()for descendant type IRIs (subclasses). For ancestor types (superclasses of a given class), usesubclass_uris()on a graph that containsrdfs:subClassOfaxioms.- Parameters:
- classmethod from_graph(graph)[source]
Build a registry backed by
graph(typically parsed OWL/RDFS Turtle).- Return type:
- Parameters:
graph (RdfGraph)
- classmethod from_ttl(path, *, format=None, base_iri=None)[source]
Parse a Turtle (or other) ontology file into a new registry.
- Return type:
- Parameters:
- load_graph(graph)[source]
Use
graphforsubtypes_of()andinverse_of()queries.- Return type:
- Parameters:
graph (RdfGraph)
- register_subclasses(base_type_uri, subtype_uris)[source]
Register direct
rdfs:subClassOflinks without an ontology file.
- register_inverse(forward_predicate, inverse_predicate)[source]
Register an
owl:inverseOfpair (both directions are queryable).
- __init__(_graph=None, _parent_to_children=<factory>, _registered_inverse_forward=<factory>, _registered_inverse_reverse=<factory>, _graph_inverse_forward=<factory>, _graph_inverse_reverse=<factory>)
- triplemodel.ontology_registry.apply_hints_to_model(model_cls, registry, *, mutate=False, overwrite=False)[source]
Suggest or apply
inverse=metadata fromOntologyRegistry.inverse_of().Returns
{field_name: inverse_predicate_uri}for each mapped field that received a hint. Whenmutateis True, updatesjson_schema_extraon the class and callsmodel_rebuild()soinverse_for_field()sees the inverse IRI. Skips fields that already declare an inverse unlessoverwriteis True.