From ac0df547baa5db977de72dbef1da1a96f8065646 Mon Sep 17 00:00:00 2001 From: Chiara Liotta <liotta@astron.nl> Date: Thu, 21 Nov 2024 13:04:57 +0100 Subject: [PATCH] fix function headers --- .gitignore | 2 ++ .../__pycache__/__init__.cpython-312.pyc | Bin 215 -> 0 bytes .../__pycache__/cwl_parsing.cpython-312.pyc | Bin 973 -> 0 bytes .../__pycache__/cwl_processing.cpython-312.pyc | Bin 3423 -> 0 bytes .../__pycache__/repo_processing.cpython-312.pyc | Bin 1040 -> 0 bytes graph_creation/__pycache__/utils.cpython-312.pyc | Bin 1164 -> 0 bytes graph_creation/cwl_processing.py | 7 ++++--- graph_creation/repo_processing.py | 3 ++- graph_creation/utils.py | 5 +++-- main.py | 4 ++-- .../__pycache__/__init__.cpython-312.pyc | Bin 206 -> 0 bytes .../__pycache__/edge_queries.cpython-312.pyc | Bin 2261 -> 0 bytes .../__pycache__/node_queries.cpython-312.pyc | Bin 2624 -> 0 bytes neo4j_queries/__pycache__/utils.cpython-312.pyc | Bin 473 -> 0 bytes neo4j_queries/edge_queries.py | 7 ++++--- neo4j_queries/node_queries.py | 8 +++++--- 16 files changed, 22 insertions(+), 14 deletions(-) delete mode 100644 graph_creation/__pycache__/__init__.cpython-312.pyc delete mode 100644 graph_creation/__pycache__/cwl_parsing.cpython-312.pyc delete mode 100644 graph_creation/__pycache__/cwl_processing.cpython-312.pyc delete mode 100644 graph_creation/__pycache__/repo_processing.cpython-312.pyc delete mode 100644 graph_creation/__pycache__/utils.cpython-312.pyc delete mode 100644 neo4j_queries/__pycache__/__init__.cpython-312.pyc delete mode 100644 neo4j_queries/__pycache__/edge_queries.cpython-312.pyc delete mode 100644 neo4j_queries/__pycache__/node_queries.cpython-312.pyc delete mode 100644 neo4j_queries/__pycache__/utils.cpython-312.pyc diff --git a/.gitignore b/.gitignore index 4c36478..33f0137 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .venv/ repos/ +**/__pycache__/ +*.py[cod] Neo4j-25ebc0db-Created-2024-11-17.txt \ No newline at end of file diff --git a/graph_creation/__pycache__/__init__.cpython-312.pyc b/graph_creation/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index dbad6cf95681231d978322d11e618805beb3bb82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmX@j%ge>Uz`*d8+ddscKL!!#_%jOw1H*KNN(N0vzm*I{ObiSRpFwJVl_gungche3 z6~`DE7+M;b8=J=X=cT$7WtOEX=qiMSD!69mrDWunrRK$iWTX~n7VE;*CFiH4#uQ{0 zq~>JirRt`n7Nq8-q~;}8>L%tT=2RAE7RRI)B^G4FCl{qAmSpDV#l**F=4F<|$LkeT l-r}&y%}*)KNwq6tWnf@nWME(@1~EP|Gcqz3F*7hQ000}gIpqKV diff --git a/graph_creation/__pycache__/cwl_parsing.cpython-312.pyc b/graph_creation/__pycache__/cwl_parsing.cpython-312.pyc deleted file mode 100644 index 58d71c29805070e2d59eda693a27cace85366622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 973 zcmX@j%ge>Uz`&3oX`jx?#K7<v#DQT}DC4so0|Uc!h7^Vr#vF!R#wbQc5SuB7DVI5l z8O&zRVaa8UVr67VVM%36VNGRE<&b1xU`S(0VQXQD;;dxX<ah}(Oq1~zOF&{t28b?B zEKAj7yv3K3pO_M#nO9I+l9rj1dW*9twIDyfAh9Il7F$tjNoi4DG9ySU6ocHv%)r3# zc^}wK=?t}uC2;u~hSgAZ7Dx?L3yex(gvr)2)iAj*#9A{j)H0WVOav>bVTQ}Il(2(^ z7#J98Sm2_pC7f_k))b~S%&VCo{93jemKwGc78{Uy#w>1#C^A{Y1~Y|`p~semp@uP- zL6g<5ibG3FUrR5!JSRkx@fL4UYEEKFW?5={X;EhJEf!E9XtEW7ymE^rJtsfu7ISe) zQ4z?&MJx;q47b=43kp*6QZ(6%*g#yK<no;O)Vz|+lFZcNTO1(mIhn;JMW7hI#SP-d zXXeEhmlWM%2dT_Y%DTk~iiMQ;{G_a6kdGB0;8$g`RZM7cYEf~Fk%6J5fw{41jDKFL zOHpQ7s)DXUNT`BqW?o80epzZ>Oh`s*ab~eDTwQX0N@`3&W<hFBW?rgpN-D^Ksd>qj zx`}y-IhDnk#WCqci3J()$wjG&C7JnoF(9WDBo-BC=B4WuRNfLyPc4ZDiKP|g=f;B) zLy-sr0|Us@#VHI73=Ir7ghd;C?(hpw@a(R?&aZrtUwMJoWq$nzkJ|zg9V~amBxk5h z&g|g6Bc!lE`m&I22m2ini5cP>M6QUKb#UI0QSacKpmvc%@&<><bq?u^9MUs9uX3n; z;ARk%{J_V+BXNO6{4*%({4}|4v4a9FCo>5W2Ld2xm6l}Y6zhQ;oLU5l1$lH~P<+Oh z8O9sMgB3#}j0Y4$ETH(f#gdYlTmtshN`@j)1_p*AVUQ$;O>TZlX-=wLkqiR^11KRE vt1>V!d|+l|WW38DahE~yE`!wv7A{7K1;QT~xELi?h^$CiDfI=!1RDbYDXI3f diff --git a/graph_creation/__pycache__/cwl_processing.cpython-312.pyc b/graph_creation/__pycache__/cwl_processing.cpython-312.pyc deleted file mode 100644 index 232a17bed36eb80bed003a243e6982549795994b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3423 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 diff --git a/graph_creation/__pycache__/repo_processing.cpython-312.pyc b/graph_creation/__pycache__/repo_processing.cpython-312.pyc deleted file mode 100644 index 9c48a27062eeca18a32843f0a54b79e7c414a85e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmX@j%ge>Uz`$@y&^~<vGXuk85C?{tpp4Hp3=9m@8B!Qh7;_kM8KW2(L2RZRrd;MI z=3JI2mR!~-R<Iaz4qGmJ6gwkB3QH<S8dC~u3riGdC7UMuOOR2TjJE{SQ%mBL%X8w> zit=;gi&6{nHJNV-6%^$srxq83B{K60N=u4w2_uW;mzID91(5}dOHvDpH5qS-rsfrw z7Ny1~=jRsW=cVSA#OLLwq~78L86KaLSzM9~^9RTc><kPH%nS?+pO1k3l*v%bRKwuH z5F5$BP|IAx2vP#VHO#A_>>8#TW|03uv?K!qNUb9SLoG`UO9~^1U&~qoG7qGQp@y-B zbv4vBMurkrupk2iNSp;p9OMSDR1ISdl6VbE3KPi06y|IV28LqB9@7#|urjC#HO#A_ zHZd~vII}SHM6)ndGH9~+-C`+7EXlaVnw*nZTzrcoJijPAEhoQRleGw>z6fMp5eowY zLlMY9MQjWV44Q0391IK$x7bpOGRsnnZt;MkBsH%jvm`UM_!bK&=x(ur`IWbL5CNN+ zQVi0q00zHmldWPxi&Kk=V~h+8Ee*_#O=JA?Qe8kMD(EVNgetgZ=A~rhm!;;#gk+=^ zXBO+i)g|Yrq{b9v7Nq86=B4VUq!y&+rKIL1SL!C_CFWEXXBNk#7bO;C#3vV}CYEI8 z=f!|r6c3I4%)E5Hg34RGP%bzX6&DFJFff4pS6slrz|g>OLs+!I=eB@k2g@B9-4!X9 zWsEy`CWKt%kh&qJw7}$wm_~=&2Q~&7r3Gp;?K*t!@F*@&TcLA>$NUbD+>EjXWmkCg z?(oPjU|Yd<g-8DezvzVY&iVyfm-%(>2!K?oZBV%?VE$2%L0t1AD}$iaXHY!(X>#3? zLUp$uC|nB?i;6Sz(!r5&OBR~~Nb(1%L5-$cQhBNQCRy=?rKv@ksl|Grgbm|>qxBXG zD1n3hzLKFx1Qf?Ypm^o5$<0qG%}KQ@l44+B0Hx$&Sq27%56p~=jCUC<?lYuZWJtNo UVDo{6htXn2$QK44MhmcZ0CCS6s{jB1 diff --git a/graph_creation/__pycache__/utils.cpython-312.pyc b/graph_creation/__pycache__/utils.cpython-312.pyc deleted file mode 100644 index 20e22c7ac192b92d0f4fd508e6ec00afe23d91f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1164 zcmX@j%ge>Uz`*dF$3A^K3j@Pr5C?{tpp4H33=9m@8B!Qh7;_kM8KW3;nWC5&L42kh z=3JI2mR!~-Rz`*t<`#x1wiK2YhA8$*R!z2-Anlq=w**r2ic5=9<5Ln#665poQ&Mk< zLPZJ^ixP8FOHzx#!kSFCB$A6#6HA~<i&AqEOEUBGiZe0`ZplDpGV|iWy5f;#lbJzQ zK`|Qx0|SWvxe4s*5=N*vLk&X>V+~UZ<7yU&NG)>>a|)9r0|P@XO9@B^Sh$9vhN*^S zHI&cDP{IlpW?+Eohso5k*04f#vz4$TsbNFbUCE%y?01VPGp`5~n3^m_AiIk|PAmf1 zPy{kull>N3N>OH6YSAr@%)ElqlK9M&TRh46xdr)osd-=?7sSutz!O8T<1_P0Qj78u zb3i&ck-`_wL{?D@a-{+U{3=eiiU}=FEh>&NGBC6>FgG@h@y|<j0XaiKS0N-+!8J24 zB_qEqH7_P4BegiQSQoA?IX@*erXaH*H77GKRW~KIAT=)~H7~hRH!&|Ur?NP+I3~R) zu^=NJ9AlaJc`>CWnK{LJ1(ml{z(T3<5MP3PQyia|mx2<P#YKV)3=E)PD)wh!U}#`? zBB-{YY(>QmnFA%41$`R4Zpf;yV4N9yfko;Gi^2l26*3pheXp?iJrMwLBsSPw7I0|r zydk5yAaSP81s2ICEHX2~E~r{vunD@#68sqyQOO|FK@1QE#Q-QOK09GeF7W7PsbNWB z1Sb|&l*GbZ!wOTw$WY0k$>ax#Y9^!zW-H=kU|_h#S)5;5l$;u$nNq~fz`#(%3nKVH z1U~}<Lop~-Kw_sz0Hj>HpeR2%wYWGQstq~C7l|@3Fo0AQYk&jk4%qjS8+<McI3oN0 z4#fA?7i>YkFA`#4VDQuAxFwaBns1U7Us#%2l$lzr2Z{+82jXl{2%)P=O-WCMs{#cZ zBprjI3+$Yg3}Evij_0t+%}*)KNwq5ig&8Oh7K<}5FnnNUWMsV0;CG)P_7e*iV+iAC L31-F+MzBTzSYI(5 diff --git a/graph_creation/cwl_processing.py b/graph_creation/cwl_processing.py index 847d7df..fe231ab 100644 --- a/graph_creation/cwl_processing.py +++ b/graph_creation/cwl_processing.py @@ -1,9 +1,10 @@ +from neo4j import Driver from graph_creation.utils import create_input_nodes_and_relationships, process_source_relationship from neo4j_queries.node_queries import ensure_component_node, ensure_data_node, ensure_parameter_node from neo4j_queries.edge_queries import create_data_relationship, create_out_param_relationship from pathlib import Path -def process_cwl_inputs(driver, cwl_entity: dict): +def process_cwl_inputs(driver: Driver, cwl_entity: dict) -> None: component_id = cwl_entity['path'] if type(cwl_entity['inputs']) == list: for input in cwl_entity['inputs']: @@ -13,7 +14,7 @@ def process_cwl_inputs(driver, cwl_entity: dict): for key in cwl_entity['inputs'].keys(): create_input_nodes_and_relationships(driver, key, component_id) -def process_cwl_outputs(driver, cwl_entity: dict): +def process_cwl_outputs(driver: Driver, cwl_entity: dict) -> None: component_id = cwl_entity['path'] for output in cwl_entity['outputs']: if type(output) == dict: @@ -29,7 +30,7 @@ def process_cwl_outputs(driver, cwl_entity: dict): for o in output['outputSource']: process_source_relationship(driver, o, component_id, param_node_internal_id) -def process_cwl_steps(driver, cwl_entity: dict, repo: str): +def process_cwl_steps(driver: Driver, cwl_entity: dict, repo: str) -> None: for step in cwl_entity['steps']: combined_path = Path(repo) / step['run'] step_path = str(combined_path) diff --git a/graph_creation/repo_processing.py b/graph_creation/repo_processing.py index c22cdfb..e36dd5f 100644 --- a/graph_creation/repo_processing.py +++ b/graph_creation/repo_processing.py @@ -1,8 +1,9 @@ +from neo4j import Driver from graph_creation.cwl_parsing import get_cwl_from_repo from graph_creation.cwl_processing import process_cwl_inputs, process_cwl_outputs, process_cwl_steps from neo4j_queries.node_queries import ensure_component_node -def process_repos(repo_list: list, driver): +def process_repos(repo_list: list[str], driver: Driver) -> None: cwl_entities = {} for repo in repo_list: cwl_entities[repo]= get_cwl_from_repo(repo) diff --git a/graph_creation/utils.py b/graph_creation/utils.py index bf44831..de3dabd 100644 --- a/graph_creation/utils.py +++ b/graph_creation/utils.py @@ -1,7 +1,8 @@ +from neo4j import Driver from neo4j_queries.node_queries import ensure_data_node, ensure_parameter_node from neo4j_queries.edge_queries import create_data_relationship, create_in_param_relationship -def create_input_nodes_and_relationships(driver, input_id, component_id): +def create_input_nodes_and_relationships(driver: Driver, input_id: str, component_id: str) -> None: # Create in-parameter node i_node with id = i.id and component_id = c_node.id param_node = ensure_parameter_node(driver, input_id, component_id, 'in') param_node_internal_id = param_node[0] @@ -13,7 +14,7 @@ def create_input_nodes_and_relationships(driver, input_id, component_id): # Create a data edge from i_data_node to i_node create_data_relationship(driver, data_node_internal_id, param_node_internal_id) -def process_source_relationship(driver, source_id, component_id, param_node_internal_id): +def process_source_relationship(driver: Driver, source_id: str, component_id: str, param_node_internal_id: str) -> None: data_node = ensure_data_node(driver, source_id, component_id) data_node_internal_id = data_node[0] create_data_relationship(driver, param_node_internal_id, data_node_internal_id) \ No newline at end of file diff --git a/main.py b/main.py index 1a9e532..a961ca2 100644 --- a/main.py +++ b/main.py @@ -5,7 +5,7 @@ import os import gitlab import subprocess -def clone_repos(repo_list: list, folder_name: str): +def clone_repos(repo_list: list[str], folder_name: str): gl = gitlab.Gitlab('https://git.astron.nl') projects = gl.projects.list(iterator=True, get_all=True) for project in projects: @@ -17,7 +17,7 @@ def clone_repos(repo_list: list, folder_name: str): if __name__ == '__main__': relevant_repos = ['ldv/imaging_compress_pipeline'] folder = 'repos' - clone_repos(relevant_repos) + clone_repos(relevant_repos, folder) load_status = dotenv.load_dotenv("Neo4j-25ebc0db-Created-2024-11-17.txt") if load_status is False: diff --git a/neo4j_queries/__pycache__/__init__.cpython-312.pyc b/neo4j_queries/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index a7189352bf21b6440c0bba245ba0830a5ca09c06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmX@j%ge>Uz`$^p+ddscKL!!#_%jOw1H*KNN(N0vzm*I{ObiSRpFwJV<tAIjgche3 z6~`DE7+M;b8=J=X=cT$7WtOEX=qiMSD!69mrDWunrRK$iWTX~n7VE;*CFiH4#uQ{0 zq~>JirRt`n7Nq8-q~;}8>L%tT=2RAE7RThJ=9^^2#K&jmWtPOp>lIYq;;_lhPbtkw cwJTy}U|?WmU|=W)F+MUgGBOr1GcYg!0ITFR&Hw-a diff --git a/neo4j_queries/__pycache__/edge_queries.cpython-312.pyc b/neo4j_queries/__pycache__/edge_queries.cpython-312.pyc deleted file mode 100644 index 41101cd7aaf942db65346904cc0998e1b13494fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2261 zcmX@j%ge>Uz`$^V&py4Hoq^#ohy%k+P{wB^1_p-d3@HpLj5!Rsj8Tk?3@J=43{gxe z%q<L2%qc7_3{fnVteR{uK^im}ZwV#mq$cLYC+FuD<maX4mBeSJBr}8LpqPz;fdRz- zd<1N82_saTp@wlalwHf5!dS~v!;l412a|@<tD&?hLoI6!YZfb%i$vA1)G*gDtzlXX z)m_V0!<NO4qyWl<nN-VO!=Az{$-ux+!=AzdqSKg?nNmPrW>^gk21bTp24x0AhGNEY zCPs!x21W)(hDwGC=17KeMom_~sv}$q3JMCojv>w-3L42)&M?m_R3nFjm4XT~w^ma} zL8CwutTo)jHON&VGex67Q^8h2r692=F*mg&wJ1I_uOzi7FEJ-RGX<>B*EPu9RY4<J zQ#abm#WBP&R@V+@Mv!YrXpo;mvR-D2f@81(vQ;_?1$szkg5{C<V53(u-Qq#kbW0RT z3BnmgpcuTxgCv)-lBEa~*tgh=Q;Ul;^Yd;o7nSDSVk^$fOV3GN$#IJ<r6{v3wdj^; zK~ZX2W<_cWO7bWIMGnMN*22=%qRJvrvb@Dslv-SxQv#xs^NUi7IT#oiK%or6zbcch zVnT~ki;8263=Ay|%#BTB{PR*>K-MVeDuje8xMt?1WaO8n=Ea0$q!wou>%!F~=clB` z6l4~p=49rj>ZYU?q~@ih<|S9^CgvsPR2F9z$K<8vn`Fg<oRXPZ9Fv-oo(kjW6;$4m zNiIrFEJ=;e%!>zyL3~kaPGU)BeqM1#W<ik%EP1CfFfcSQ+!0p2pk{qp*rvhf0~0GR zM}zAJ9tJLfez{J$E1Z%u!fyylOqZT0JtK63%nf6Y56lcgvY#0kg}fL$*d7RqPnVr2 zJ6XPi?FPT-guILVstd|i<Xu#^y})n#os)q}>N=<7B~Hm-pSc+r80P6YiZLG)V|A2g zAO6|x95}twHM`ls^BYEXL(Vf~WxOI#DF)5}MW94p#L2+GP{hl?z<`qGi-Z{%7;ecz zQ(t~*3AW@X!N9;E2+}SJBE%RN7_g^?b>PA`g|U{oh9L`D>_W>$Fa;|dO&MxgYFMxp z#5K${j3~t{j^Y?*5~vu47PD;R7PE_y<2?~nd?uk4pNZh&Gp#5;7g2KN<)@^^gUUod z7f=bC1Xfa#kD&l!IHY_{L@r;UmO#tbL}>Y%nG$cPqmYE)8G#MZWV$7a)&5(;SnRyT z0x||n8fh|v3%(*yb}r&!U|`T>FX975qZEjc1`z@v0#rH{fg@Q6ltw_MC#XzRP*8v* z5eaA#Nl7e8L@k`;7#JAjL3*OVg%kb~>4KI24MP`rk>rM1B&BuM%_v)tHnZ*mzb<lt zR1EULWIac2=7Zd<jw0-Snyj~kQ3_SP(vr-aVsNDaE-{Nh>9z>uyp;@}K?xAz6Aqi) y{FKt1RJ$TjD+H8Gi^Ulj7(OsFGBVy}F#5#8!)W(OhKJGavkW(*UXdaL0|Nk`5*l{^ diff --git a/neo4j_queries/__pycache__/node_queries.cpython-312.pyc b/neo4j_queries/__pycache__/node_queries.cpython-312.pyc deleted file mode 100644 index 26b0b655e6fc677c6b4e3f5e389f1a50654b52d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2624 zcmX@j%ge>Uz`(G8&p!PyI|IXG5C?{tpp4H-3=9m@8B!Qh7;_kM8KW2(8B&;97^0X` zm|Ga4m{V9<7@}AzSvA>Sf;4C{-V#dANlna)PtMOR$j?j7D~ZocNro8)Qo_c-z`)GF z!0`DH*x(XIkRS-xFs_EOYnf6QYnf{pvOwxUQb>3;lx@mT%TmLV#R}yjQ8mmpOlz1{ zL+z|(tzpe#N0NpzVdm7b)v%>7OENGp)Uc(nfao-)WTq65hZ$gIFfs%)C^Hx`6f>4H zF)~ClFfuSQR5DaBM>3Q%YO?xOm2xR4C@A>42D!T`Xe3)X!@RCgjT{PA3M$ClT1~L7 zAlH!4AU}o76pds}1;=28y!@2Z_{_YL)S|q^ocPQX9ff4Q%oLDJW=ecPQGP*cQAs6O zrzYbq9%KV=383q}#f_wAB})+~IB&5Rrxq7y=I7mFE-KBt#a5h|m!6ZV$$pD1r6{v3 zwdj^;K~ZX2W<_cWN)#4>0{RwfVQFenWf3O>1H&!0qSWHjoDvY7oL`hu3<_gVFeoS} z{Hjd0iU}=FEh>&NGBC6>FgG@h@y|<j0a>7+s}K^Z;F_72l96AQnimt2ky@NttP59{ zoS%{!Q;=DZnv<EAs+*EpkeZj0nwMOuo0ylFQ(2r@9Fv!tZ;}-ca!F=taSYhcP>x<f z<t@?FyyDWLR3yiPR1^s@Ffgz%FfbIyF)%PRFx(MVy`W}&S=gq*=K~WnFGqvx2Mz`< zfquD8xhtHKGs15ON=%oYC_N)|gUkf!%Yt?tY&QhOr^`;1oh;wMc7tE^f|$lde$5qT z8+0#fJ6zy*_|DG2C3T%s@)D=yuVQWn28MaMj-t#5MOhu?*por_LQ@?BD3n0a@c9~g z>SuzdewGx*T2_LopRI-sYwBmMVXR@PVP3<u8ftGXdks6@9Kcb-0nGs%kQ`9Mk-`ef z2{jxkY#=&~g`^z8?w1(O$iM(jq|i)}XBCiGl$e`Zl3JutT>xXoXQo&wsDR=JlF(uK z1|p7}wxOBD-%r6g$kj2#RUz0lL;-98D9PpNA*)reMa^hBNa_$)msA#{f>eS<;z2yH zGDLRF!;u~H^uSs`UWv!Zm^un*ZgC7&Kz18E2jg*+W3U3k29U$xn!qm9WWL1?4Khfk z<N~V(d!YzaxE6uZ*ey}4*4`2aD+W6r#pogq1_lOA&LSQL28JRL5Wx!~L_q{7>lg8X zSfGqw#1CQ#fbtTE3krWQE)oQl3b5>lum<GTA_)ct29Unudd%#{4$gi8ShL>>_X9c? zqEkV6Fs%b$9z39S!875aQ{si>%nu9<*^Dks9~l@@7+sk@Ffa(XGGXRVb4PjRgYvA7 z8tloS{0PgRpa2B%KcB&!Kbcb)Ygq{9Pf)!B3OSg`P`ZYth7p`QLAEe3Fo5bGyt$LT zh8>za*`c|U9g;iKm`Tc&Y<^X*!3hYSC0!Cr5*4ab5=#;x84eUvw9JTL+lk3wP$!{P zdPL_fusxbgkYo&s0z|eb5(6b(a9Za;PwQZn*pfL&IXH<cC@4Tuxd6110Xq~FY(-KG z3=DFhJduH!z*)fwoCjwD2c>R*;!-z%B4$c9a+G2|D8=fi%<iYjdP^9kdekc|$;>GR zSNz~A5S$Ugj$O&{8I&R+{^796%}*)KNwq5i`2o}lD+YP!12ZEd<5LEsPb{2_j*Oqg Uco|)pKFe`4CNUPtGB7Xz0JH6h)&Kwi diff --git a/neo4j_queries/__pycache__/utils.cpython-312.pyc b/neo4j_queries/__pycache__/utils.cpython-312.pyc deleted file mode 100644 index 1071760f3536644afec6f0c65efebc415c6af69d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 473 zcmX@j%ge>Uz`&p@WS>5jfq~&Mhy%kcP{wBw1_p-d3@Hq$3@MDM3~4MWOf4)?jFrrq zEVo1pic-@uD^gS9lk;;6^7B&jO5!t9Zm|`mmXsFdB{M>e08z{g3=AOrSp#fb4MP^P zEJy_d149bqYN%)}V+~_4gC>(-6<bkiL4I+JCgUxhqSV~{vQ&tjnoLDZ3=9mnc#v%_ z1_>!B{3=SeiU}=FEh>&NGBC6>FgG@h@y|<jDatHMRnS!k2~}{-%uC70FH6mf3CTz; z&Mel2t4q#LNsTGUEJ)4C%uCfxNi9gtOG(X3uGCG;OU$V(&Mc0}OU*aQiZ3ipEy_$S zjwvn4%qi9@sJtbVoRgZEhY}D)91IK$AP*HwFfcGQFx(K<xGrpZQP^}t=4D}r2A><; z;ul!NKZ88)r^$4SxwxbVtYsxb5hnu!LlHa3gB&)w`6;D2sdhy?$fkW@W@Kdiz{JET Tu_E~c0~4dfhU70G3ak?V=Pr4} diff --git a/neo4j_queries/edge_queries.py b/neo4j_queries/edge_queries.py index f0ee233..ff48f4c 100644 --- a/neo4j_queries/edge_queries.py +++ b/neo4j_queries/edge_queries.py @@ -1,6 +1,7 @@ +from neo4j import Driver from neo4j_queries.utils import clean_component_id -def create_in_param_relationship(driver, prefixed_component_id, parameter_internal_id): +def create_in_param_relationship(driver: Driver, prefixed_component_id: str, parameter_internal_id: int) -> tuple[str,str]: component_id = clean_component_id(prefixed_component_id) query = """ MATCH (c:Component {component_id: $component_id}), (p) @@ -14,7 +15,7 @@ def create_in_param_relationship(driver, prefixed_component_id, parameter_intern record = result.single() return record["component_id"], record["parameter_id"] -def create_out_param_relationship(driver, prefixed_component_id, parameter_internal_id): +def create_out_param_relationship(driver: Driver, prefixed_component_id: str, parameter_internal_id: int) -> tuple[str,str]: component_id = clean_component_id(prefixed_component_id) query = """ MATCH (c:Component {component_id: $component_id}), (p) @@ -28,7 +29,7 @@ def create_out_param_relationship(driver, prefixed_component_id, parameter_inter record = result.single() return record["component_id"], record["parameter_id"] -def create_data_relationship(driver, from_internal_node_id, to_internal_node_id): +def create_data_relationship(driver: Driver, from_internal_node_id: int, to_internal_node_id: int) -> tuple[int,int]: query = """ MATCH (a), (b) WHERE id(a) = $from_internal_node_id AND id(b) = $to_internal_node_id diff --git a/neo4j_queries/node_queries.py b/neo4j_queries/node_queries.py index b78b58b..7bdd951 100644 --- a/neo4j_queries/node_queries.py +++ b/neo4j_queries/node_queries.py @@ -1,7 +1,8 @@ +from neo4j import Driver from neo4j_queries.utils import clean_component_id -def ensure_component_node(driver, prefixed_component_id): +def ensure_component_node(driver: Driver, prefixed_component_id: str) -> tuple[int,str]: component_id = clean_component_id(prefixed_component_id) query = """ MERGE (c:Component {component_id: $component_id}) @@ -12,7 +13,8 @@ def ensure_component_node(driver, prefixed_component_id): record = result.single() return record["node_internal_id"], record["id_property"] -def ensure_parameter_node(driver, node_id, prefixed_component_id, param_type): +def ensure_parameter_node(driver: Driver, node_id: str, prefixed_component_id: str, param_type: str) \ + -> tuple[int,str,str,str]: component_id = clean_component_id(prefixed_component_id) query = """ MERGE (n:Parameter {parameter_id: $node_id, component_id: $component_id}) @@ -27,7 +29,7 @@ def ensure_parameter_node(driver, node_id, prefixed_component_id, param_type): record = result.single() return record["node_internal_id"], record["id_property"], record["component_id_property"], record['parameter_type_property'] -def ensure_data_node(driver, node_id, prefixed_component_id): +def ensure_data_node(driver: Driver, node_id: str, prefixed_component_id: str) -> tuple[int,str,str]: component_id = clean_component_id(prefixed_component_id) query = """ MERGE (n:Data {data_id: $node_id, component_id: $component_id}) -- GitLab