Advanced: work directly with GraphForge
This path assumes you can read basic Python, understand database tables and queries, and run commands in a terminal. It does not assume graph-database, research-platform, or storage-engine expertise. For guided research without writing code, choose the Basic path.
Bring what you already know
Section titled “Bring what you already know”| Familiar idea | GraphForge idea | What you do |
|---|---|---|
| A row representing a person or document | A node with a label and properties | add_node("Paper", title="Survey") creates one paper |
| A link between rows, often queried with a join | A named, directed relationship | add_edge(survey, "CITES", methods) records which paper cites which |
| A query producing a table | An openCypher query | execute() returns a result table in Python |
| Data stored between runs | A project directory | Open GraphForge(path) and close it when finished |
A label groups similar nodes; a property stores a detail. A direction such as
CITES is part of your model, not a causal claim. Unlike a declared SQL schema,
an exploratory graph can start without an ontology. An ontology is an
optional set of rules about entity types, relationships, and values; learn it
when you need shared definitions or validation.
Run, inspect, then adapt
Section titled “Run, inspect, then adapt”- Install a matching package. If you prefer cells to a script, start a local notebook.
- Run Your first graph, including its expandable Python steps. Confirm the expected result before changing the example.
- Query, analyze, and save. Supply query values as parameters and reopen the saved project in a new process.
- Construct your own graph, then query it with Cypher. Choose identifiers and what each relationship means before importing rows.
For example, this pattern follows a stored citation:
MATCH (source:Paper)-[:CITES]->(target:Paper)RETURN source.title AS source, target.title AS targetMATCH selects matching connections. Parentheses name nodes; :Paper selects
the label; -[:CITES]-> selects an outgoing citation. RETURN chooses the
result columns. It does not infer a connection that you did not store.
Tabular query and analysis results in Python are Arrow tables, a column-based
data format. Start with
result.to_pylist() to inspect ordinary Python rows. Conversion to pandas or
Polars and graph algorithms are explained in analytics integration.
In Node, those tables arrive as Arrow IPC bytes; the
integration guide shows decoding. Construction can
return handles, and metadata or lifecycle operations can return collections,
scalars, or no value. You do not need serialization internals to use the Python path.
Add one capability for the next task
Section titled “Add one capability for the next task”| Need | Read next | Concept introduced there |
|---|---|---|
| Combine numerical and interview evidence | Mixed-methods worked example | Unit of analysis, coding, integrated interpretation |
| Save a challenged hypothesis and find it again | Record an inquiry | Scope and evidence, stored as ordinary graph records |
| Keep an exact past state while editing | Keep research history | Version: a retained state unaffected by later edits |
| Move a project to another folder or machine | Move and share | Exported package and verified import |
| Explore optional model-assisted applications | Application examples | Human-reviewed extraction and retrieval |
A UUID is an identifier rather than a row number. Some advanced operations also require an operation identity, which lets the engine recognize an exact retry. Reuse the original request and identity for that retry; a changed action is a new operation. Follow the concrete example for the operation you need.
Look up exact method signatures in the API reference. Architecture documents, wire formats, and contributor requirements explain how the engine is built. They are separate specialist material and are not the next level you must complete to use these advanced guides.