swarmvault graph push neo4j
Push the current compiled graph directly into Neo4j without exporting an intermediate file.
Usage
swarmvault graph push neo4j --uri <bolt-uri> --username <user> --password-env <env-var>Options
--uri <bolt-uri>— Neo4j Bolt or Aura URI--username <user>— Neo4j username--password-env <env-var>— Environment variable containing the Neo4j password--database <name>— Neo4j database name. Defaults toneo4j--vault-id <id>— Stable namespace so multiple vaults can share one Neo4j database safely--include-third-party— Also push third-party repo material--include-resources— Also push resource-like content--include-generated— Also push generated output--dry-run— Show counts and target metadata without writing to Neo4j
Defaults
- SwarmVault reads
graphSinks.neo4jfromswarmvault.config.jsonwhen present. - Pushes include only
first_partygraph material by default. - Records are namespaced by
vaultId, so multiple vaults can coexist in one Neo4j database. - Push behavior is upsert-only. SwarmVault does not prune stale remote records yet.
What Gets Pushed
- graph nodes as
SwarmNode - hyperedges as synthetic
SwarmNoderecords withtype: "hyperedge" - graph relations with the same normalized relation names used by Cypher export
- hyperedge membership as
GROUP_MEMBER - one
SwarmVaultSyncmetadata node pervaultId
The push path preserves the same stable ids, evidence classes, confidence values, source-class metadata, and community ids already present in state/graph.json.
Example
export NEO4J_PASSWORD=...
swarmvault graph push neo4j \
--uri bolt://127.0.0.1:7687 \
--username neo4j \
--password-env NEO4J_PASSWORD \
--database neo4j \
--dry-runRelated Commands
- Use `graph export` when you want file-based GraphML, Cypher, SVG, or standalone HTML artifacts.
- Use `graph tools` when you want deterministic local graph navigation before pushing anything externally.