triplemodel.io.rdfs

RDFS helpers: subclass dispatch, transitive graph walks.

triplemodel.io.rdfs.resolve_model_class_with_rdfs(graph, subject, *, use_subclass=True)[source]

Pick the most specific registered class for subject’s types.

Return type:

type[BaseModel]

Parameters:
  • graph (RdfGraph)

  • subject (NamedNode | BlankNode | Literal)

  • use_subclass (bool)

triplemodel.io.rdfs.subject_type_closure(graph, subject)[source]

Return rdf:type IRIs for subject plus rdfs:subClassOf ancestors.

Return type:

frozenset[str]

Parameters:
  • graph (RdfGraph)

  • subject (NamedNode | BlankNode | Literal)

triplemodel.io.rdfs.subclass_uris(graph, type_uri)[source]

Return type_uri and all superclasses via rdfs:subClassOf.

Return type:

frozenset[str]

Parameters:
  • graph (RdfGraph)

  • type_uri (str)

triplemodel.io.rdfs.transitive_objects(graph, subject, predicate)[source]

Return object IRIs reachable from subject along predicate (transitive).

Return type:

list[str]

Parameters:
  • graph (RdfGraph)

  • subject (str | NamedNode | BlankNode | Literal)

  • predicate (str)

triplemodel.io.rdfs.transitive_subjects(graph, predicate, obj)[source]

Return subject IRIs that reach obj along predicate (transitive).

Return type:

list[str]

Parameters:
  • graph (RdfGraph)

  • predicate (str)

  • obj (str | NamedNode | BlankNode | Literal)