Learning Graph Quality Metrics Report¶
Overview¶
- Total Concepts: 100
- Foundational Concepts (no prerequisites, other concepts depend on them): 4
- Terminal Nodes (nothing depends on them, but have prerequisites): 47
- Orphaned Nodes (completely disconnected, no edges): 0
- Concepts with Dependencies: 96
- Average Dependencies per Concept: 1.72
Graph Structure Validation¶
- Valid DAG Structure: ✅ Yes
- Self-Dependencies: None detected ✅
- Cycles Detected: 0
Foundational Concepts¶
These concepts have no prerequisites:
- 1: SQL Databases
- 5: Python Protocols
- 7: Pydantic Models
- 8: Decorators
Dependency Chain Analysis¶
- Maximum Dependency Chain Length: 10
Longest Learning Path:¶
- SQL Databases (ID: 1)
- Database Schemas (ID: 2)
- Database Catalogs (ID: 3)
- Apache Iceberg Overview (ID: 36)
- PyIceberg Library (ID: 48)
- IcebergBackend Class (ID: 35)
- Iceberg Connection Base (ID: 37)
- Catalog Type Registry (ID: 42)
- REST Catalog Type (ID: 38)
- REST Catalog Cursors (ID: 99)
Terminal Nodes Analysis¶
Terminal nodes are concepts that nothing else depends on but have prerequisites. They represent natural endpoints of learning paths — culminating or specialized concepts.
- Total Terminal Nodes: 47 (47.0% of all concepts)
- Healthy Range: 5-40% of total concepts
Concepts at the end of learning paths:
- 21: Fluent Query API
- 22: Raw SQL Queries
- 24: Create Table
- 28: Truncate Table
- 29: Create View
- 30: List Tables Ibis
- 31: Table Inspection Ibis
- 32: Namespace Inspection Ibis
- 33: Catalog Inspection Ibis
- 34: Context Manager Ibis
- 39: Hive Catalog Type
- 40: Glue Catalog Type
- 41: SQL Catalog Type
- 43: Iceberg Operations
- 44: List Tables Iceberg
- 45: Table Inspection Iceberg
- 46: Namespace Inspection Iceberg
- 47: Catalog Inspection Iceberg
- 56: Unified Inspection API
- 59: Dialect Name Key
...and 27 more
Orphaned Nodes Analysis¶
Orphaned nodes are completely disconnected concepts with no inbound AND no outbound edges. These indicate a quality problem — every concept should connect to the graph.
- Total Orphaned Nodes: 0
✅ No orphaned nodes detected. All concepts are connected to the graph.
Connected Components¶
- Number of Connected Components: 1
✅ All concepts are connected in a single graph.
Indegree Analysis¶
Top 10 concepts that are prerequisites for the most other concepts:
| Rank | Concept ID | Concept Label | Indegree |
|---|---|---|---|
| 1 | 11 | Backend Protocol Definition | 10 |
| 2 | 74 | Auto Registration | 10 |
| 3 | 35 | IcebergBackend Class | 9 |
| 4 | 19 | IbisBackend Class | 8 |
| 5 | 67 | ConnectionProfile Base | 8 |
| 6 | 2 | Database Schemas | 7 |
| 7 | 7 | Pydantic Models | 7 |
| 8 | 1 | SQL Databases | 6 |
| 9 | 55 | Driver Metadata Conversion | 6 |
| 10 | 4 | Connection Management | 5 |
Outdegree Distribution¶
| Dependencies | Number of Concepts |
|---|---|
| 0 | 4 |
| 1 | 43 |
| 2 | 43 |
| 3 | 7 |
| 4 | 1 |
| 5 | 1 |
| 6 | 1 |
Recommendations¶
- ℹ️ High terminal node percentage (47.0%): Consider if some terminal concepts should be prerequisites for advanced concepts
- ✅ DAG structure verified: Graph supports valid learning progressions
Report generated by learning-graph-reports/analyze_graph.py