exclude_references_both
- exclude_references_both(triples: Iterable[TripleType], references: Reference | Collection[Reference], *, progress: bool = False) Iterable[TripleType][source]
Exclude triples whose subject and object appear in the given references.
- Parameters:
triples – An iterable of triples
references – A collection of references
progress – Should a progress bar be shown?
- Returns:
A sub-iterable of triples whose subject and object don’t appear in the given references.
>>> from curies import Reference, Triple >>> from curies.vocabulary import exact_match, subclass_of >>> c1, c2, c3 = "DOID:0050577", "mesh:C562966", "DOID:225" >>> r1, r2, r3 = (Reference.from_curie(c) for c in (c1, c2, c3)) >>> m1 = Triple.from_curies(c1, exact_match.curie, c2) >>> m2 = Triple.from_curies(c2, exact_match.curie, c3) >>> m3 = Triple.from_curies(c1, subclass_of.curie, c3) >>> assert list(exclude_references_both([m1, m2, m3], [r1])) == [m2] >>> assert list(exclude_references_both([m1, m2, m3], [r2])) == [m3] >>> assert list(exclude_references_both([m1, m2, m3], [r3])) == [m1]