exclude_same_prefixes

exclude_same_prefixes(triples: Iterable[TripleType], *, progress: bool = False) Iterable[TripleType][source]

Exclude triples whose subject and object prefixes are the same.

Parameters:
  • triples – An iterable of triples

  • progress – Should a progress bar be shown?

Returns:

A sub-iterable of triples whose subject and object prefixes are not the same.

>>> from curies import Triple
>>> from curies.vocabulary import exact_match, subclass_of
>>> c1, c2, c3 = "DOID:0050577", "mesh:C562966", "DOID:225"
>>> 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_same_prefixes([m1, m2, m3])) == [m1, m2]