Workflow
- Inspect the database schema first. Never guess labels, types, or property names.
- Project a graph. Plugin and session mode have different projection syntax and parameters. Check the graph projection tool description and parameters. For session mode, you need to first create sessions to project graphs onto.
- Clean up.
drop_graphwhen a projection is no longer needed.delete_sessionwhen a session is no longer needed, and this will automatically drop all graphs projected to this session. - When you see errors, inspect the message and consult references/troubleshooting.md. Then make necessary corrections.
- Independently verify key results. Verify the key results using a genuinely different method if the problem allows. If the two methods disagree, investigate the discrepancy and resolve it first if it can be resolved. Otherwise, say so explicitly in the answer. This step is not satisfied by sanity checking the logic mentally.
Best Practices
- Large graphs. When the graph in the DB is large, you might want to consider projecting subgraphs at the start for analysis.
- Long running tools. Certain algorithms (or Cypher queries) are long running. For exploratory work, consider trying them out on smaller projected graphs before executing them on a desirable large projected graph.
- Follow general data science best practice. Understand if the task is transductive (over the fixed data) or inductive. For predictive tasks, ensure there is no data leakage. Formulate hypothesis and design metrics appropriately. Remember all the basic statistics best practices.
- Perform additional analysis when needed. You do not need to use solely the Cypher and GDS tools. For complex data science task, feel free to use other tools or coding capabilities and write ad-hoc scripts that use other libraries, such as pytorch, scikit-learn, pandas, matplotlib, when necessary.