infinite-agents-public/specs/sdg_network_url_strategy.json

279 lines
11 KiB
JSON

{
"description": "Progressive web learning strategy for SDG network visualizations with API integration",
"categories": {
"foundation": {
"description": "Basic D3.js force-directed graphs and API integration (Iterations 1-5)",
"urls": [
{
"url": "https://d3js.org/what-is-d3",
"topic": "D3.js fundamentals and data binding",
"techniques": ["data binding", "selections", "enter/update/exit pattern"]
},
{
"url": "https://observablehq.com/@d3/force-directed-graph",
"topic": "Basic force-directed graph implementation",
"techniques": ["force simulation", "node positioning", "link rendering"]
},
{
"url": "https://d3-graph-gallery.com/network.html",
"topic": "Network visualization gallery and examples",
"techniques": ["color scales", "node sizing", "edge styling"]
},
{
"url": "https://observablehq.com/@d3/force-directed-graph-canvas",
"topic": "Canvas-based force graphs for performance",
"techniques": ["canvas rendering", "performance optimization", "event handling"]
},
{
"url": "https://observablehq.com/@d3/temporal-force-directed-graph",
"topic": "Adding interactivity to force graphs",
"techniques": ["drag behavior", "zoom", "tooltip interactions"]
}
]
},
"intermediate": {
"description": "Advanced D3 techniques and multi-API integration (Iterations 6-12)",
"urls": [
{
"url": "https://observablehq.com/@d3/sticky-force-layout",
"topic": "Sticky force layout for better control",
"techniques": ["fixed positions", "sticky drag", "layout constraints"]
},
{
"url": "https://observablehq.com/@d3/clustered-force-layout",
"topic": "Force-based clustering",
"techniques": ["cluster forces", "group positioning", "collision detection"]
},
{
"url": "https://observablehq.com/@d3/arc-diagram",
"topic": "Alternative network layouts",
"techniques": ["arc diagrams", "hierarchical layouts", "radial layouts"]
},
{
"url": "https://observablehq.com/@d3/force-directed-lattice",
"topic": "Custom force implementations",
"techniques": ["custom forces", "lattice constraints", "force composition"]
},
{
"url": "https://observablehq.com/@d3/color-schemes",
"topic": "Advanced color schemes for networks",
"techniques": ["sequential scales", "diverging scales", "categorical colors"]
},
{
"url": "https://observablehq.com/@d3/connected-particles",
"topic": "Animated network transitions",
"techniques": ["particle systems", "edge animation", "smooth transitions"]
},
{
"url": "https://observablehq.com/@d3/force-directed-graph-component",
"topic": "Modular graph components",
"techniques": ["component architecture", "reusable patterns", "state management"]
}
]
},
"advanced": {
"description": "Complex algorithms and real-time data (Iterations 13-20)",
"urls": [
{
"url": "https://observablehq.com/@d3/hierarchical-edge-bundling",
"topic": "Edge bundling for clarity",
"techniques": ["hierarchical bundling", "edge aggregation", "path smoothing"]
},
{
"url": "https://observablehq.com/@d3/force-directed-tree",
"topic": "Force-directed trees and hierarchies",
"techniques": ["tree forces", "hierarchy layout", "parent-child links"]
},
{
"url": "https://observablehq.com/@mbostock/adaptive-sampling",
"topic": "Adaptive rendering for large graphs",
"techniques": ["level of detail", "culling", "adaptive sampling"]
},
{
"url": "https://observablehq.com/@d3/versor-dragging",
"topic": "3D network rotations",
"techniques": ["quaternion rotation", "3D projection", "spherical layout"]
},
{
"url": "https://observablehq.com/@d3/voronoi-labels",
"topic": "Smart label placement",
"techniques": ["voronoi diagrams", "collision-free labels", "dynamic positioning"]
},
{
"url": "https://observablehq.com/@d3/zoom-to-bounding-box",
"topic": "Advanced zoom and focus",
"techniques": ["semantic zoom", "focus+context", "smooth camera transitions"]
},
{
"url": "https://observablehq.com/@mbostock/the-wealth-health-of-nations",
"topic": "Real-time data integration",
"techniques": ["data streaming", "time series", "dynamic updates"]
},
{
"url": "https://observablehq.com/@d3/graph-layout-force-directed",
"topic": "Graph layout algorithms comparison",
"techniques": ["layout selection", "parameter tuning", "performance trade-offs"]
}
]
},
"expert": {
"description": "Cutting-edge techniques and AI integration (Iterations 21+)",
"urls": [
{
"url": "https://observablehq.com/@d3/force-directed-graph-with-minimap",
"topic": "Multi-view graph interfaces",
"techniques": ["minimap", "multiple synchronized views", "overview+detail"]
},
{
"url": "https://observablehq.com/@mbostock/phase-portrait",
"topic": "Dynamic system visualization",
"techniques": ["phase space", "attractor visualization", "vector fields"]
},
{
"url": "https://observablehq.com/@fil/occlusion-hello-world",
"topic": "3D occlusion and depth",
"techniques": ["depth sorting", "occlusion culling", "3D rendering"]
},
{
"url": "https://observablehq.com/@d3/graph",
"topic": "Graph theory algorithms",
"techniques": ["shortest path", "centrality measures", "community detection"]
},
{
"url": "https://observablehq.com/@mbostock/saving-svg",
"topic": "Export and sharing capabilities",
"techniques": ["SVG export", "image generation", "data export"]
}
]
},
"api_discovery": {
"description": "Web search templates for finding open APIs",
"search_templates": [
{
"query": "environmental data API swagger site:github.com",
"domain": "Environmental APIs",
"expected_sources": ["air quality", "water quality", "climate data"]
},
{
"query": "scientific data REST API openapi",
"domain": "Scientific Data",
"expected_sources": ["biodiversity", "satellite", "research datasets"]
},
{
"query": "sustainable development goals API JSON",
"domain": "SDG Data",
"expected_sources": ["UN data", "World Bank", "development indicators"]
},
{
"query": "atmospheric weather data API free",
"domain": "Atmospheric Data",
"expected_sources": ["weather", "air quality", "climate"]
},
{
"query": "water quality watershed API REST",
"domain": "Water Data",
"expected_sources": ["USGS", "EPA", "water monitoring"]
},
{
"query": "forest biodiversity data API open source",
"domain": "Ecological Data",
"expected_sources": ["Global Forest Watch", "species data", "conservation"]
},
{
"query": "NOAA ocean marine data API",
"domain": "Ocean Data",
"expected_sources": ["ocean temperature", "marine life", "coastal data"]
},
{
"query": "NASA earth observation API",
"domain": "Satellite Data",
"expected_sources": ["satellite imagery", "earth science", "remote sensing"]
},
{
"query": "seismic earthquake API USGS",
"domain": "Geophysical Data",
"expected_sources": ["earthquake", "volcano", "geological"]
},
{
"query": "WHO global health statistics API",
"domain": "Health Data",
"expected_sources": ["disease", "healthcare", "mortality"]
}
],
"api_evaluation_criteria": [
"Has Swagger/OpenAPI specification",
"Provides JSON/REST endpoints",
"Free tier or open access available",
"Good documentation",
"Active maintenance (updated recently)",
"Network-ready data (entities with relationships)",
"Relevant to SDGs or sustainability"
]
},
"data_integration": {
"description": "Resources for API integration and data merging",
"urls": [
{
"url": "https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch",
"topic": "Modern fetch API usage",
"techniques": ["async/await", "error handling", "CORS"]
},
{
"url": "https://observablehq.com/@observablehq/introduction-to-data",
"topic": "Data loading and transformation",
"techniques": ["data parsing", "cleaning", "transformation pipelines"]
},
{
"url": "https://observablehq.com/@d3/d3-fetch",
"topic": "D3 data fetching utilities",
"techniques": ["d3.json", "d3.csv", "data type inference"]
}
]
},
"graph_algorithms": {
"description": "Graph theory and network analysis resources",
"urls": [
{
"url": "https://observablehq.com/@d3/disjoint-force-directed-graph",
"topic": "Disconnected graph handling",
"techniques": ["component detection", "separate force simulations"]
},
{
"url": "https://observablehq.com/@d3/force-directed-graph?intent=fork",
"topic": "Customizable force parameters",
"techniques": ["force strength tuning", "link distance optimization"]
},
{
"url": "https://observablehq.com/@mbostock/paths-in-a-force-directed-graph",
"topic": "Path finding and highlighting",
"techniques": ["shortest path", "path visualization", "connected components"]
}
]
}
},
"iteration_mapping": {
"1-5": "foundation",
"6-12": "intermediate",
"13-20": "advanced",
"21+": "expert"
},
"fallback_strategy": {
"description": "When pre-defined URLs are exhausted, use dynamic web search",
"search_patterns": [
"D3.js force directed graph [specific_technique]",
"network visualization [technique] observable",
"graph layout algorithm [specific_algorithm]",
"[api_domain] open API swagger github",
"force simulation [parameter] tuning d3"
]
},
"priming_urls": {
"description": "Initial URLs to fetch before starting any iteration for foundational knowledge",
"urls": [
"https://d3js.org/what-is-d3",
"https://observablehq.com/@d3/force-directed-graph",
"https://github.com/public-apis/public-apis"
]
}
}