def complete_definition(subj: Identifier,
source_graph: Graph,
target_graph: Optional[SNOMEDGraph] = None) -> SNOMEDGraph:
"""
Add a full definition for the supplied subject, following any object bnodes, to target_graph
:param subj: URI or BNode for subject
:param source_graph: Graph containing defininition
:param target_graph: Graph to carry definition
:return: target_graph
"""
if not target_graph:
target_graph = SNOMEDGraph()
for p, o in source_graph.predicate_objects(subj):
target_graph.add((subj, p, o))
if isinstance(o, BNode):
complete_definition(o, source_graph, target_graph)
return target_graph
评论列表
文章目录