maseiler commited on
Commit
646d392
1 Parent(s): 93e1b64

Add get_uris_of_similar_diseases

Browse files
Files changed (1) hide show
  1. utils.py +13 -1
utils.py CHANGED
@@ -1,5 +1,5 @@
1
  # %%
2
- from typing import List, Dict, Any
3
  import os
4
  from sqlalchemy import create_engine, text
5
  import requests
@@ -83,6 +83,18 @@ def get_clinical_records_by_ids(clinical_record_ids: List[str]) -> List[Dict[str
83
  clinical_records.append(clinical_record_info)
84
  return clinical_records
85
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
  if __name__ == "__main__":
88
  username = 'demo'
 
1
  # %%
2
+ from typing import List, Dict, tuple, Any
3
  import os
4
  from sqlalchemy import create_engine, text
5
  import requests
 
83
  clinical_records.append(clinical_record_info)
84
  return clinical_records
85
 
86
+ def get_uris_of_similar_diseases(uri_list: List[str]) -> List[tuple[str, str, float]]:
87
+ uri_list = tuple(uri_list)
88
+ with engine.connect() as conn:
89
+ with conn.begin():
90
+ sql = f"""
91
+ SELECT e1.uri AS uri1, e2.uri AS uri2, VECTOR_COSINE(e1.embedding, e2.embedding) AS distance
92
+ FROM Test.EntityEmbeddings e1, Test.EntityEmbeddings e2
93
+ WHERE e1.uri IN {uri_list} AND e2.uri IN {uri_list} AND e1.uri != e2.uri
94
+ """
95
+ result = conn.execute(text(sql))
96
+ data = result.fetchall()
97
+ return data
98
 
99
  if __name__ == "__main__":
100
  username = 'demo'