Skip to content

Commit

Permalink
Merge pull request #262 from nanglo123/extract_eiffel_ontology
Browse files Browse the repository at this point in the history
Extract Climate Information from the EIFFEL Ontology to be added to the DKG
  • Loading branch information
bgyori authored Dec 5, 2023
2 parents 43ff471 + bda9f84 commit 7acbee4
Show file tree
Hide file tree
Showing 3 changed files with 466 additions and 1 deletion.
27 changes: 27 additions & 0 deletions mira/dkg/construct.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ def __init__(self, use_case: str, config: Optional[DKGConfig] = None):
prefixes.append(self.askemo_prefix)
if self.use_case == "space":
prefixes.append("uat")
if self.use_case == "climate":
prefixes.append("eiffel")
self.EDGES_PATHS: Dict[str, Path] = {
prefix: self.module.join("sources", name=f"edges_{prefix}.tsv")
for prefix in prefixes
Expand Down Expand Up @@ -421,6 +423,31 @@ def construct(
for term in get_cso_obo().iter_terms():
node_sources[term.curie].add("cso")
nodes[term.curie] = get_node_info(term)

from .resources.extract_eiffel_ontology import get_eiffel_ontology_terms

eiffel_edges = []
for term in tqdm(get_eiffel_ontology_terms(), unit="term", desc="Eiffel"):
node_sources[term.curie].add("eiffel")
nodes[term.curie] = get_node_info(term)
for typedef, object_references in term.relationships.items():
for object_reference in object_references:
eiffel_edges.append(
(
term.curie,
object_reference.curie,
typedef.name.replace(" ", "").lower(),
typedef.curie,
"eiffel",
"eiffel",
"",
)
)

with use_case_paths.EDGES_PATHS["eiffel"].open("w") as file:
writer = csv.writer(file, delimiter="\t", quoting=csv.QUOTE_MINIMAL)
writer.writerow(EDGE_HEADER)
writer.writerows(eiffel_edges)
if use_case == "epi":
from .resources.geonames import get_geonames_terms
geonames_edges = []
Expand Down
2 changes: 1 addition & 1 deletion mira/dkg/resources/cso.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def get_cso_obo():
description="An ontology for climate systems",
)
download(url=URL, path=PATH)
return from_obo_path(PATH, ontology="cso", default_prefix="cso", strict=False)
return from_obo_path(PATH, prefix="cso", default_prefix="cso", strict=False)


if __name__ == "__main__":
Expand Down
Loading

0 comments on commit 7acbee4

Please sign in to comment.