Skip to content

Commit 9949d5e

Browse files
committed
Update api.py
1 parent 9f96906 commit 9949d5e

3 files changed

Lines changed: 13 additions & 10 deletions

File tree

src/pyobo/struct/functional/obo_to_functional.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ def get_ontology_axioms(obo_ontology: Obo) -> Iterable[f.Box]:
7878
used_has_scope = False
7979
for synonym_typedef in obo_ontology.synonym_typedefs:
8080
yield f.Declaration(synonym_typedef, type="AnnotationProperty")
81-
yield m.LabelMacro(synonym_typedef, synonym_typedef.name)
81+
if synonym_typedef.name is not None:
82+
yield m.LabelMacro(synonym_typedef, synonym_typedef.name)
8283
yield f.SubAnnotationPropertyOf(synonym_typedef, "oboInOwl:SynonymTypeProperty")
8384
if synonym_typedef.specificity:
8485
used_has_scope = True

src/pyobo/struct/reference.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,20 @@ def __eq__(self, other: Any) -> bool:
8686
return self.prefix == other.prefix and self.identifier == other.identifier
8787
raise TypeError
8888

89-
def __lt__(self, other: Referenced) -> bool:
90-
if not isinstance(other, curies.Reference | Referenced):
91-
raise TypeError
92-
return self.reference < other.reference
89+
def __lt__(self, other: curies.Reference | Referenced) -> bool:
90+
if isinstance(other, curies.Reference):
91+
return self.reference < other
92+
if isinstance(other, Referenced):
93+
return self.reference < other.reference
94+
raise TypeError
9395

9496
@property
95-
def prefix(self):
97+
def prefix(self) -> str:
9698
"""The prefix of the typedef."""
9799
return self.reference.prefix
98100

99101
@property
100-
def name(self):
102+
def name(self) -> str | None:
101103
"""The name of the typedef."""
102104
return self.reference.name
103105

src/pyobo/struct/struct.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,14 +1568,14 @@ def get_typedef_df(self, use_tqdm: bool = False) -> pd.DataFrame:
15681568
]
15691569
return pd.DataFrame(rows, columns=["prefix", "identifier", "name"])
15701570

1571-
def iter_typedef_id_name(self) -> Iterable[tuple[str, str]]:
1571+
def iter_typedef_id_name(self) -> Iterable[tuple[str, str | None]]:
15721572
"""Iterate over typedefs' identifiers and their respective names."""
15731573
for typedef in self.typedefs or []:
15741574
yield typedef.identifier, typedef.name
15751575

15761576
def get_typedef_id_name_mapping(self) -> Mapping[str, str]:
15771577
"""Get a mapping from typedefs' identifiers to names."""
1578-
return dict(self.iter_typedef_id_name())
1578+
return {identifier: name for identifier, name in self.iter_typedef_id_name() if name}
15791579

15801580
#########
15811581
# PROPS #
@@ -2031,7 +2031,7 @@ def get_literal_mappings_df(self) -> pd.DataFrame:
20312031

20322032
def iterate_mapping_rows(
20332033
self, *, use_tqdm: bool = False
2034-
) -> Iterable[tuple[str, str, str, str, str, float | None, str | None]]:
2034+
) -> Iterable[tuple[str, str | None, str, str, str, float | None, str | None]]:
20352035
"""Iterate over SSSOM rows for mappings."""
20362036
for stanza in self._iter_stanzas(use_tqdm=use_tqdm):
20372037
for predicate, obj_ref, context in stanza.get_mappings(

0 commit comments

Comments
 (0)