Plan my session
Plan a concrete work block with agenda, roles, preparation, and a copyable result artifact.
Session: Property Graph Schema Design
The plan translates the method into a concrete facilitated work block. Your inputs flow directly into the session brief and work artifact.
Method session with 1-6. The plan uses the existing method logic and the runsheet.
RunsheetUse the session for shared understanding. Contributions are collected visibly, assumptions are aligned, and open differences remain traceable in the artifact.
The session works directly toward Schema Diagram. After the session, the artifact should be shareable, reviewable, or reusable.
- 1
Phase 1: Query inventory
45-60 minFormulate all use-case queries as concrete Cypher/Gremlin sketches. Per query: expected latency, frequency, filter criteria, path depth. Prioritize top 10. Hint: If queries remain vague ("show all relationships"), go back to use-case level. Generic queries lead to generic, often wrongly indexed schemas.
FacilitatorSchema Diagram - 2
Phase 2: Nodes and relationships
60-90 minIdentify entities as node labels (singular, PascalCase). Identify relationships as directed relationship types (UPPER_CASE, verb). Document cardinality and path role per relationship. Hint: If an attribute has many unique values and filtering matters (for example tags), it can become its own node instead of a property. Pure property filters on cardinality > 10k become slow without index.
FacilitatorNode and Relationship Catalog - 3
Phase 3: Properties and data types
45-60 minList properties per node and relationship: name, type (string/int/datetime/list), required/optional, default. Mark temporal validity, source and confidence as separate properties. Hint: Properties on relationships are powerful (for example weight, validFrom), but unindexed in many engines. Anyone filtering on relationship property should check engine docs.
FacilitatorIndex Plan - 4
Phase 4: Indexes and constraints
30-45 minIdentify the start point in the graph for each top query. Set indexes there (unique constraints for IDs, range indexes for filters, fulltext for search). Document constraints for data integrity. Hint: Index without query is overhead. Query without constraint is risk. At least every top-10 query must have an index-supported start point.
FacilitatorMigration Scripts - 5
Phase 5: Validation in sandbox
60-90 minCreate schema in sandbox DB (CREATE CONSTRAINT, CREATE INDEX). Import sample data. Run top-10 queries, check EXPLAIN/PROFILE. Document latency and plan quality. Hint: If EXPLAIN shows AllNodesScan, an index is missing or query must be reformulated. Never go to production without plan check.
FacilitatorSample Queries - 6
Phase 6: Migration script
30-45 minCapture schema in migration file (idempotent, with version number). Sample queries as test suite. Export schema diagram. Commit both to repo. Hint: Schema in diagram is communication; schema in migration is truth. Anyone maintaining only a diagram has a schema nobody can reproduce.
OwnerSchema Diagram - 7
Publish artifact
10 minCheck the artifact for completeness, define location, set version or status, and name review recipients.
OwnerSchema Diagram
Session Brief
For invitations, boards, tickets, PR descriptions, or workshop notes.
session-brief.md
Session Brief: Property Graph Schema Design
Goal
Artifact: Schema Diagram
Working Question
Which node labels, relationship types, properties and indexes create a schema that answers prioritized queries performantly and scales with data growth?
Context
Use cases and query patterns; estimated data volumes (nodes, relationships, growth); SLA for latency and throughput; selected graph store; source systems and ETL status.
Setup
- Format: Method session
- Duration: 4-8 h initial, then iterative hour slices
- Mode: Workshop or async
- Participants: One graph modeler (lead); one to two engineers who will later write queries; one domain expert for terms and cardinalities; one data-source owner for sample data.
- Owner: One graph modeler (lead)
- Participation mode: Team round, shared work and alignment
- Outcome logic: Finish artifact
Participation Logic
Use the session for shared understanding. Contributions are collected visibly, assumptions are aligned, and open differences remain traceable in the artifact.
Outcome Logic
The session works directly toward Schema Diagram. After the session, the artifact should be shareable, reviewable, or reusable.
Input
Whiteboard or diagram tool (arrows.app, draw.io, Cypher Workbench); sandbox DB (Neo4j Aura Free, Memgraph, Neptune Local); sample data CSVs; migration tool (Liquibase Graph, Neo4j Migrations); issue tracker.
Preparation
Sandbox DB ready. Sample data in CSV. Top 10 queries prepared as pseudo-Cypher. Whiteboard with columns: Use Case, Query, Node, Relationship, Property, Index.
Agenda
-
Phase 1: Query inventory (45-60 min) Owner: Facilitator Action: Formulate all use-case queries as concrete Cypher/Gremlin sketches. Per query: expected latency, frequency, filter criteria, path depth. Prioritize top 10. Hint: If queries remain vague ("show all relationships"), go back to use-case level. Generic queries lead to generic, often wrongly indexed schemas. Output: Schema Diagram
-
Phase 2: Nodes and relationships (60-90 min) Owner: Facilitator Action: Identify entities as node labels (singular, PascalCase). Identify relationships as directed relationship types (UPPER_CASE, verb). Document cardinality and path role per relationship. Hint: If an attribute has many unique values and filtering matters (for example tags), it can become its own node instead of a property. Pure property filters on cardinality > 10k become slow without index. Output: Node and Relationship Catalog
-
Phase 3: Properties and data types (45-60 min) Owner: Facilitator Action: List properties per node and relationship: name, type (string/int/datetime/list), required/optional, default. Mark temporal validity, source and confidence as separate properties. Hint: Properties on relationships are powerful (for example weight, validFrom), but unindexed in many engines. Anyone filtering on relationship property should check engine docs. Output: Index Plan
-
Phase 4: Indexes and constraints (30-45 min) Owner: Facilitator Action: Identify the start point in the graph for each top query. Set indexes there (unique constraints for IDs, range indexes for filters, fulltext for search). Document constraints for data integrity. Hint: Index without query is overhead. Query without constraint is risk. At least every top-10 query must have an index-supported start point. Output: Migration Scripts
-
Phase 5: Validation in sandbox (60-90 min) Owner: Facilitator Action: Create schema in sandbox DB (CREATE CONSTRAINT, CREATE INDEX). Import sample data. Run top-10 queries, check EXPLAIN/PROFILE. Document latency and plan quality. Hint: If EXPLAIN shows AllNodesScan, an index is missing or query must be reformulated. Never go to production without plan check. Output: Sample Queries
-
Phase 6: Migration script (30-45 min) Owner: Owner Action: Capture schema in migration file (idempotent, with version number). Sample queries as test suite. Export schema diagram. Commit both to repo. Hint: Schema in diagram is communication; schema in migration is truth. Anyone maintaining only a diagram has a schema nobody can reproduce. Output: Schema Diagram
-
Publish artifact (10 min) Owner: Owner Action: Check the artifact for completeness, define location, set version or status, and name review recipients. Output: Schema Diagram
Closeout
- Update result artifact: Schema Diagram
- Define location, version, and review recipients.
- Define owner, next step, and review date.
Work artifact
Pre-filled starting point based on the matching template.
work-artifact.md
Schema Diagram: Property Graph Schema Design
Working Question
Which node labels, relationship types, properties and indexes create a schema that answers prioritized queries performantly and scales with data growth?
Context
Use cases and query patterns; estimated data volumes (nodes, relationships, growth); SLA for latency and throughput; selected graph store; source systems and ETL status.
Participants
- Owner: One graph modeler (lead)
- Participants: One graph modeler (lead); one to two engineers who will later write queries; one domain expert for terms and cardinalities; one data-source owner for sample data.
Input
Whiteboard or diagram tool (arrows.app, draw.io, Cypher Workbench); sandbox DB (Neo4j Aura Free, Memgraph, Neptune Local); sample data CSVs; migration tool (Liquibase Graph, Neo4j Migrations); issue tracker.
Template
Property Graph Schema Design Canvas
Context
What is this method used for?
Core question
Which question should be answered at the end?
Input
Which data, observations, or materials are available?
Working area
- Area 1:
- Area 2:
- Area 3:
- Relationships / patterns:
Output artifacts
- Schema diagram:
- Node and relationship catalog:
- Index plan:
- Migration scripts:
- Sample queries:
Open questions
- ...
Next step
Owner, date, success signal.
Completion Check
- Schema Diagram is complete enough for review:
- Location:
- Version / status:
- Review by:
- Next step:
Next Step
- Review result
- Mark open questions
- Schedule review or decision
Property Graph Schema Design Working Template
View templateCompact working template for Property Graph Schema Design with context, input, output artifacts, and next step.canvas
property-graph-schema-design-working-template.md
Compact working template for Property Graph Schema Design with context, input, output artifacts, and next step.
Property Graph Schema Design Canvas
Context
What is this method used for?
Core question
Which question should be answered at the end?
Input
Which data, observations, or materials are available?
Working area
- Area 1:
- Area 2:
- Area 3:
- Relationships / patterns:
Output artifacts
- Schema diagram:
- Node and relationship catalog:
- Index plan:
- Migration scripts:
- Sample queries:
Open questions
- ...
Next step
Owner, date, success signal.
- Working question, owner, and target artifact are visible.
- The result fits Schema Diagram.
- Migration files numbered (V001__init.cypher, V002__add_team.cypher). Diagram JSON next to code. Schema version stored in DB as (:SchemaMeta {version: '1.2.0'}). Breaking changes as major increment.
- Open questions are noted as follow-ups.
- The next review or decision point is scheduled.