|
141 | 141 | },
|
142 | 142 | "outputs": [],
|
143 | 143 | "source": [
|
144 |
| - "from neo4j import GraphDatabase, basic_auth\n", |
| 144 | + "from neo4j import Driver, GraphDatabase, Session, Result, basic_auth\n", |
145 | 145 | "\n",
|
146 |
| - "driver = GraphDatabase.driver(\n", |
| 146 | + "driver: Driver = GraphDatabase.driver(\n", |
147 | 147 | " BOLT_URL,\n",
|
148 | 148 | " auth=basic_auth(\"neo4j\", \"\"))\n",
|
149 |
| - "session = driver.session()\n", |
| 149 | + "session: Session = driver.session()\n", |
150 | 150 | "\n",
|
151 | 151 | "cypher_query = '''\n",
|
152 | 152 | "MATCH (n)\n",
|
153 | 153 | "RETURN n AS id\n",
|
154 | 154 | "LIMIT 10\n",
|
155 | 155 | "'''\n",
|
156 | 156 | "\n",
|
157 |
| - "results = session.run(cypher_query, parameters={})\n", |
| 157 | + "results: Result = session.run(cypher_query, parameters={})\n", |
158 | 158 | "\n",
|
159 | 159 | "for record in results:\n",
|
160 | 160 | " print(record['id'])"
|
|
177 | 177 | },
|
178 | 178 | "outputs": [],
|
179 | 179 | "source": [
|
| 180 | + "from neo4j import Result\n", |
| 181 | + "\n", |
180 | 182 | "query = '''\n",
|
181 | 183 | "MATCH (n)\n",
|
182 | 184 | "RETURN n\n",
|
183 | 185 | "LIMIT 10\n",
|
184 | 186 | "'''\n",
|
185 | 187 | "\n",
|
186 | 188 | "with driver.session() as session:\n",
|
187 |
| - " results = session.run(query)\n", |
| 189 | + " results: Result = session.run(query)\n", |
188 | 190 | " for record in results:\n",
|
189 | 191 | " print(record)"
|
190 | 192 | ]
|
|
199 | 201 | "source": [
|
200 | 202 | "from collections.abc import Generator\n",
|
201 | 203 | "from contextlib import contextmanager\n",
|
202 |
| - "from typing import Any\n", |
| 204 | + "from neo4j import Result\n", |
203 | 205 | "\n",
|
204 | 206 | "@contextmanager\n",
|
205 |
| - "def run_query(query) -> Generator[Any, Any, None]:\n", |
| 207 | + "def run_query(query) -> Generator[Result, None, None]:\n", |
206 | 208 | " with driver.session() as session:\n",
|
207 | 209 | " yield session.run(query)"
|
208 | 210 | ]
|
|
566 | 568 | "query=\"MATCH q=(r)-[:ANSWERS]->(p) RETURN p.Id,r.Id;\"\n",
|
567 | 569 | "\n",
|
568 | 570 | "with driver.session() as session:\n",
|
569 |
| - " res = session.run(query)\n", |
| 571 | + " res: Result = session.run(query)\n", |
570 | 572 | " df = pd.DataFrame([r.values() for r in res], columns=res.keys())\n",
|
571 | 573 | " df['r.Id'] = pd.to_numeric(df['r.Id'],downcast='unsigned')\n",
|
572 | 574 | " df['p.Id'] = pd.to_numeric(df['p.Id'],downcast='unsigned')\n",
|
|
690 | 692 | "query = \"MATCH p=shortestPath( (u1:User {Id: '24'})-[*]-(u2:User {Id:'25'}) ) RETURN p\"\n",
|
691 | 693 | "\n",
|
692 | 694 | "with driver.session() as session:\n",
|
693 |
| - " res = session.run(query)\n", |
| 695 | + " res: Result = session.run(query)\n", |
694 | 696 | " for r in res:\n",
|
695 | 697 | " print(r['p'])\n",
|
696 | 698 | "\n",
|
697 | 699 | "with driver.session() as session:\n",
|
698 |
| - " result = session.run(query)\n", |
| 700 | + " result: Result = session.run(query)\n", |
699 | 701 | " visualize_result(result.graph(), nodes_text_properties)"
|
700 | 702 | ]
|
701 | 703 | },
|
|
719 | 721 | "query=\"MATCH p=shortestPath( (u1:User {Id: '324'})-[*]-(u2:User {Id:'25'}) ) RETURN p\"\n",
|
720 | 722 | "\n",
|
721 | 723 | "with driver.session() as session:\n",
|
722 |
| - " res = session.run(query)\n", |
| 724 | + " res: Result = session.run(query)\n", |
723 | 725 | " for r in res:\n",
|
724 | 726 | " print(r['p'])\n",
|
725 | 727 | "\n",
|
726 | 728 | "with driver.session() as session:\n",
|
727 |
| - " result = session.run(query)\n", |
| 729 | + " result: Result = session.run(query)\n", |
728 | 730 | " visualize_result(result.graph(), nodes_text_properties)"
|
729 | 731 | ]
|
730 | 732 | },
|
|
748 | 750 | "query=\"MATCH p=allShortestPaths( (u1:User {Id: '24'})-[*]-(u2:User {Id:'25'}) ) RETURN p\"\n",
|
749 | 751 | "\n",
|
750 | 752 | "with driver.session() as session:\n",
|
751 |
| - " res = session.run(query)\n", |
| 753 | + " res: Result = session.run(query)\n", |
752 | 754 | " for r in res:\n",
|
753 | 755 | " print(r['p'])"
|
754 | 756 | ]
|
|
779 | 781 | "'''\n",
|
780 | 782 | "\n",
|
781 | 783 | "with driver.session() as session:\n",
|
782 |
| - " res = session.run(query)\n", |
| 784 | + " res: Result = session.run(query)\n", |
783 | 785 | " for r in res:\n",
|
784 | 786 | " print(r)"
|
785 | 787 | ]
|
|
804 | 806 | "query=\"MATCH (t:Tag)-->(:Question)<--(u:User) RETURN t.name,collect(distinct u.Id) ORDER BY t.name;\"\n",
|
805 | 807 | "\n",
|
806 | 808 | "with driver.session() as session:\n",
|
807 |
| - " res = session.run(query)\n", |
| 809 | + " res: Result = session.run(query)\n", |
808 | 810 | " for r in res:\n",
|
809 | 811 | " print(r)"
|
810 | 812 | ]
|
|
829 | 831 | "source": [
|
830 | 832 | "query=\"MATCH (t:Tag)-->(:Question)<--(u:User) RETURN u.Id, collect(distinct t.name) ORDER BY toInteger(u.Id);\"\n",
|
831 | 833 | "with driver.session() as session:\n",
|
832 |
| - " res = session.run(query)\n", |
| 834 | + " res: Result = session.run(query)\n", |
833 | 835 | " for r in res:\n",
|
834 | 836 | " print(r)"
|
835 | 837 | ]
|
|
0 commit comments