| name | brainstorm |
| description | Explore requirements and determine extraction type for Hyper-Extract.
Use when user says: "design template", "extract data", "create extraction", "unsure which type to use".
Trigger: User needs help deciding extraction type (model/list/set/graph/hypergraph).
Skip: User already knows the type and wants specific design help.
|
Brainstorm: Requirements Exploration
Workflow
- Clarify input/output
- Discuss type details
- Output design draft ā Pass to designer
Type Determination
Decision Tree
Need to model relationships?
āā No ā Record types
ā āā Single object ā model
ā āā Ordered list ā list
ā āā Deduplicated set ā set
āā Yes ā Graph types
āā Binary (AāB) ā graph
āā Multi-entity (A+B+CāD)
āā Flat list ā hypergraph (simple)
āā Role groups ā hypergraph (nested)
After graph:
āā + time dimension ā temporal_graph
āā + space dimension ā spatial_graph
āā + both ā spatio_temporal_graph
Quick Reference
| Intent | Type |
|---|
| Summary/card | model |
| Ordered items | list |
| Deduplicated entities | set |
| Binary relations | graph |
| Multi-party events | hypergraph |
| + time | temporal_graph |
| + space | spatial_graph |
| + time + space | spatio_temporal_graph |
Discussion Questions
For All Types
- What is the input source?
- What to extract?
- Key fields needed?
For Graph Types
- Entity types and granularity?
- Relation types (predefined or custom)?
- Multi-type nodes?
For Hypergraph
- Simple or nested grouping?
- How many semantic groups?
- Group names?
For Temporal/Spatial
- Time/space on edge or node?
- Format handling?
Output: Design Draft
For Record Types (model/list/set)
## Type: [model/list/set]
## Fields
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| [name] | str | yes | ... |
## Notes
[Any special requirements]
For Graph Types (graph/hypergraph/temporal/spatial)
## Type: [graph/hypergraph/temporal/spatial]
## Entities
| Field | Type | Description |
|-------|------|-------------|
| name | str | Entity name |
| category | str | Entity type |
## Relations
| Field | Type | Description |
|-------|------|-------------|
| [field] | str/list | ... |
## Identifiers
- entity_id: name
- relation_id: '{...}'
- relation_members: [...]
## Notes
[Any special requirements]
Type-Specific Fields
| Type | Additional Fields |
|---|
| hypergraph | Participants or Groups |
| temporal_graph | time_field |
| spatial_graph | location_field |
| spatio_temporal_graph | time_field + location_field |
Pass to Designer
After brainstorm, invoke the appropriate designer:
- model/list/set ā record-designer
- graph/hypergraph/temporal/spatial ā graph-designer