closurizer 0.7.0__tar.gz → 0.7.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: closurizer
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Summary: Add closure expansion fields to kgx files following the Golr pattern
5
5
  Author: Kevin Schaper
6
6
  Author-email: kevin@tislab.org
@@ -8,10 +8,14 @@ def edge_columns(field: str, include_closure_fields: bool =True):
8
8
  column_text = f"""
9
9
  {field}.name as {field}_label,
10
10
  {field}.category as {field}_category,
11
- {field}.namespace as {field}_namespace,
12
- list_aggregate({field}_closure.closure, 'string_agg', '|') as {field}_closure,
13
- list_aggregate({field}_closure_label.closure_label,'string_agg', '|') as {field}_closure_label,
11
+ {field}.namespace as {field}_namespace,
14
12
  """
13
+ if include_closure_fields:
14
+ column_text += f"""
15
+ {field}_closure.closure as {field}_closure,
16
+ {field}_closure_label.closure_label as {field}_closure_label,
17
+ """
18
+
15
19
  if field in ['subject', 'object']:
16
20
  column_text += f"""
17
21
  {field}.in_taxon as {field}_taxon,
@@ -152,17 +156,32 @@ def add_closure(kg_archive: str,
152
156
  """
153
157
  print(nodes_query)
154
158
 
159
+
155
160
  if not dry_run:
156
- db.query(edges_query)
157
- db.query(f"""
161
+
162
+
163
+ edge_closure_replacements = [
164
+ f"""
165
+ list_aggregate({field}_closure, 'string_agg', '|') as {field}_closure,
166
+ list_aggregate({field}_closure_label, 'string_agg', '|') as {field}_closure_label
167
+ """
168
+ for field in edge_fields
169
+ ]
170
+
171
+ edge_closure_replacements = "REPLACE (\n" + ",\n".join(edge_closure_replacements) + ")\n"
172
+
173
+ edges_export_query = f"""
158
174
  -- write denormalized_edges as tsv
159
- copy (select * from denormalized_edges) to '{edges_output_file}' (header, delimiter '\t')
160
- """)
161
- db.query(nodes_query)
162
- db.query(f"""
175
+ copy (select * {edge_closure_replacements} from denormalized_edges) to '{edges_output_file}' (header, delimiter '\t')
176
+ """
177
+ print(edges_export_query)
178
+ db.query(edges_export_query)
179
+
180
+ nodes_export_query = f"""
163
181
  -- write denormalized_nodes as tsv
164
182
  copy (select * from denormalized_nodes) to '{nodes_output_file}' (header, delimiter '\t')
165
- """)
183
+ """
184
+ print(nodes_export_query)
166
185
 
167
186
 
168
187
  # Clean up extracted node & edge files
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "closurizer"
3
- version = "0.7.0"
3
+ version = "0.7.2"
4
4
  description = "Add closure expansion fields to kgx files following the Golr pattern"
5
5
  authors = ["Kevin Schaper <kevin@tislab.org>"]
6
6
 
File without changes