Semantic Intent for D1 Database Queries
Transform your database access layer by eliminating the common anti-pattern where technical query parameters drive business data retrieval, replacing it with semantic intent-driven data access.
❌ Common Database Anti-Pattern
// Technical flags driving data retrieval
const reports = await db.prepare(`
SELECT * FROM reports
WHERE status = ? AND priority = ?
`).bind(isQuick ? 'draft' : 'published', level).all();
✅ Semantic Intent Solution
// Business intent driving data semantics
const semanticQuery = SemanticQueryBuilder.forIntent(userIntent);
const reports = await semanticQuery.executeAsync(db);
Database Benefits
DATABASE_BENEFITS:
├── Intent-Driven Queries: Business context drives query construction
├── Optimized Performance: Automatic optimization based on semantic intent
├── Query Governance: Elimination of magic numbers and technical flags
└── Semantic Analytics: Intelligent data shaping for user context
PERFORMANCE_PROFILES:
├── Instantaneous: <100ms for monitoring and critical operations
├── Interactive: <2s for executive dashboards and decision support
├── Responsive: <10s for operational queries and standard work
└── Batch: Background processing for analytical and reporting work
DATA_QUALITY_ENFORCEMENT:
├── Authoritative: 100% accurate data for executive decisions
├── Business-Ready: High-quality data for operational decisions
├── Analytical: Suitable quality for research and analysis
└── Indicative: Directional data for trends and exploration
Data Semantic Intent Processor
Derive database query intentions from user context and business requirements, not technical parameters.
DataSemanticIntentProcessor.ts
/**
* Derives semantic intent for database queries, eliminating technical parameter
* violations where query complexity or performance flags drive business data retrieval.
*
* SEMANTIC DATA PRINCIPLE: Uses business context (user role, data purpose, urgency)
* rather than technical flags (isQuick, level, priority) to determine query behavior.
*/
export interface DataSemanticIntent {
dataScope: DataScope; // WHAT: Type of data needed
urgencyContext: UrgencyContext; // WHY: Business urgency requirements
userContext: UserContext; // WHY: Who needs the data and why
qualityRequirements: QualityRequirements; // WHY: Data quality expectations
performanceProfile: PerformanceProfile; // HOW: Semantic performance needs
}
export enum DataScope {
ExecutiveSummary = 'executive_summary', // High-level KPIs and trends
OperationalDetails = 'operational_details', // Daily operational data
ComprehensiveAnalysis = 'comprehensive', // Full analytical dataset
RealTimeMonitoring = 'realtime', // Live monitoring data
HistoricalTrends = 'historical' // Time-series analysis
}
export enum UrgencyContext {
Critical = 'critical', // Emergency/incident response
Urgent = 'urgent', // Same-day decision making
Standard = 'standard', // Regular business operations
Background = 'background', // Analytical/reporting work
Archived = 'archived' // Historical reference
}
export enum UserContext {
ExecutiveDecision = 'executive_decision', // C-level decision support
ManagerialReview = 'managerial_review', // Management oversight
OperationalWork = 'operational_work', // Day-to-day operations
AnalyticalResearch = 'analytical_research', // Data analysis work
SystemMonitoring = 'system_monitoring' // Technical monitoring
}
export enum QualityRequirements {
Authoritative = 'authoritative', // Must be 100% accurate
BusinessReady = 'business_ready', // Business-quality accuracy
Analytical = 'analytical', // Suitable for analysis
Indicative = 'indicative', // Directional/trending data
Exploratory = 'exploratory' // Discovery/exploration
}
export enum PerformanceProfile {
Instantaneous = 'instantaneous', // < 100ms response time
Interactive = 'interactive', // < 2s response time
Responsive = 'responsive', // < 10s response time
Batch = 'batch', // Background processing OK
Offline = 'offline' // Pre-computed results
}
export class DataSemanticIntentProcessor {
/**
* Derives semantic intent from user request context, eliminating the anti-pattern
* where technical query flags drive business data requirements.
*
* SEMANTIC ANCHORING PRINCIPLE: Uses observable business context (user role,
* request purpose, time constraints) to determine data retrieval semantics.
*
* @param request User data request with business context
* @returns Semantic intent driving intelligent query construction
*
* @example
* ```typescript
* // ✅ SEMANTIC INTENT: Business context drives data retrieval
* const request = new DataRequest({
* userRole: 'CEO',
* purpose: 'quarterly board presentation',
* timeframe: 'urgent',
* dataSubject: 'financial performance'
* });
* const intent = DataSemanticIntentProcessor.deriveFromRequest(request);
* // Result: DataScope.ExecutiveSummary, UrgencyContext.Urgent,
* // PerformanceProfile.Interactive
*
* // ❌ WRONG: Technical flags driving data access
* // const data = await getReports({ isQuick: true, level: 2 }); // NO!
* ```
*
* @remarks
* This eliminates the database anti-pattern where technical query parameters
* like 'isQuick' or 'level' drive business data retrieval, causing semantic
* violations similar to the PDF differentiation issue in our research.
*
* Semantic mapping rules:
* 1. Executive roles + urgent context → ExecutiveSummary + Interactive performance
* 2. Analytical roles + standard context → ComprehensiveAnalysis + Responsive performance
* 3. Monitoring context → RealTimeMonitoring + Instantaneous performance
*/
static deriveFromRequest(request: DataRequest): DataSemanticIntent {
if (!request.userRole || !request.purpose) {
throw new Error('Cannot derive data semantic intent without user context');
}
const userContext = this.determineUserContext(request.userRole, request.purpose);
const dataScope = this.determineDataScope(userContext, request.dataSubject);
const urgencyContext = this.determineUrgencyContext(request.timeframe, userContext);
const qualityRequirements = this.determineQualityRequirements(userContext, dataScope);
const performanceProfile = this.determinePerformanceProfile(urgencyContext, userContext);
return {
dataScope,
urgencyContext,
userContext,
qualityRequirements,
performanceProfile
};
}
/**
* Maps user role and purpose to business context semantics.
* Uses semantic role analysis rather than technical user hierarchies.
*/
private static determineUserContext(userRole: string, purpose: string): UserContext {
const roleLower = userRole.toLowerCase();
const purposeLower = purpose.toLowerCase();
// Executive decision-making context
if (roleLower.includes('ceo') || roleLower.includes('cto') || roleLower.includes('president')) {
return UserContext.ExecutiveDecision;
}
// Board/investor presentation context
if (purposeLower.includes('board') || purposeLower.includes('investor') ||
purposeLower.includes('quarterly')) {
return UserContext.ExecutiveDecision;
}
// Management oversight context
if (roleLower.includes('manager') || roleLower.includes('director') ||
purposeLower.includes('review') || purposeLower.includes('oversight')) {
return UserContext.ManagerialReview;
}
// Monitoring and alerting context
if (purposeLower.includes('monitor') || purposeLower.includes('alert') ||
purposeLower.includes('incident')) {
return UserContext.SystemMonitoring;
}
// Analytical research context
if (purposeLower.includes('analysis') || purposeLower.includes('research') ||
purposeLower.includes('trends')) {
return UserContext.AnalyticalResearch;
}
// Default to operational work
return UserContext.OperationalWork;
}
/**
* Determines data scope based on semantic user context and subject matter.
* Avoids technical scope flags in favor of business data semantics.
*/
private static determineDataScope(userContext: UserContext, dataSubject: string): DataScope {
const subjectLower = dataSubject?.toLowerCase() || '';
// Executive contexts need summary-level data
if (userContext === UserContext.ExecutiveDecision) {
return DataScope.ExecutiveSummary;
}
// Real-time monitoring context
if (userContext === UserContext.SystemMonitoring) {
return DataScope.RealTimeMonitoring;
}
// Historical analysis context
if (subjectLower.includes('trends') || subjectLower.includes('historical') ||
subjectLower.includes('comparison')) {
return DataScope.HistoricalTrends;
}
// Analytical research needs comprehensive data
if (userContext === UserContext.AnalyticalResearch) {
return DataScope.ComprehensiveAnalysis;
}
// Operational work needs operational details
return DataScope.OperationalDetails;
}
/**
* Maps timeframe language to business urgency semantics.
*/
private static determineUrgencyContext(timeframe: string, userContext: UserContext): UrgencyContext {
const timeframeLower = timeframe?.toLowerCase() || '';
// Critical urgency indicators
if (timeframeLower.includes('emergency') || timeframeLower.includes('critical') ||
timeframeLower.includes('incident')) {
return UrgencyContext.Critical;
}
// Urgent indicators
if (timeframeLower.includes('urgent') || timeframeLower.includes('asap') ||
timeframeLower.includes('immediate')) {
return UrgencyContext.Urgent;
}
// Executive context implies higher urgency
if (userContext === UserContext.ExecutiveDecision &&
(timeframeLower.includes('meeting') || timeframeLower.includes('presentation'))) {
return UrgencyContext.Urgent;
}
// Background processing indicators
if (timeframeLower.includes('report') || timeframeLower.includes('analysis') ||
timeframeLower.includes('research')) {
return UrgencyContext.Background;
}
return UrgencyContext.Standard;
}
/**
* Determines data quality requirements based on semantic business context.
*/
private static determineQualityRequirements(userContext: UserContext, dataScope: DataScope): QualityRequirements {
// Executive decisions require authoritative data
if (userContext === UserContext.ExecutiveDecision) {
return QualityRequirements.Authoritative;
}
// System monitoring requires real-time accuracy
if (userContext === UserContext.SystemMonitoring || dataScope === DataScope.RealTimeMonitoring) {
return QualityRequirements.BusinessReady;
}
// Comprehensive analysis requires analytical quality
if (dataScope === DataScope.ComprehensiveAnalysis) {
return QualityRequirements.Analytical;
}
// Executive summaries need business-ready data
if (dataScope === DataScope.ExecutiveSummary) {
return QualityRequirements.BusinessReady;
}
return QualityRequirements.Indicative;
}
/**
* Maps urgency and user context to performance requirements using semantic business needs.
*/
private static determinePerformanceProfile(urgency: UrgencyContext, userContext: UserContext): PerformanceProfile {
// Critical urgency requires instantaneous response
if (urgency === UrgencyContext.Critical) {
return PerformanceProfile.Instantaneous;
}
// Executive and urgent contexts need interactive performance
if (urgency === UrgencyContext.Urgent || userContext === UserContext.ExecutiveDecision) {
return PerformanceProfile.Interactive;
}
// System monitoring needs instantaneous feedback
if (userContext === UserContext.SystemMonitoring) {
return PerformanceProfile.Instantaneous;
}
// Background work can use batch processing
if (urgency === UrgencyContext.Background) {
return PerformanceProfile.Batch;
}
return PerformanceProfile.Responsive;
}
}
export interface DataRequest {
userRole: string; // Semantic user role information
purpose: string; // Business purpose for data request
timeframe: string; // Urgency context in business terms
dataSubject: string; // Subject matter being requested
additionalContext?: string; // Additional semantic context
}
Semantic Query Builder for D1
Intelligent query construction that adapts to business intent rather than technical query parameters.
SemanticQueryBuilder.ts
/**
* Constructs D1 database queries based on semantic intent rather than technical
* query flags, implementing intelligent query optimization and result shaping.
*
* SEMANTIC QUERY PRINCIPLE: Query structure and optimization driven by business
* intent (data scope, urgency, quality requirements) not technical parameters.
*/
export class SemanticQueryBuilder {
private intent: DataSemanticIntent;
private queryPlan: QueryPlan;
/**
* Creates semantic query builder for specific business intent.
*
* @param intent Semantic intent driving query construction
* @returns Builder configured for intent-driven data access
*
* @example
* ```typescript
* // ✅ SEMANTIC QUERY BUILDING: Intent drives query structure
* const intent = new DataSemanticIntent({
* dataScope: DataScope.ExecutiveSummary,
* urgencyContext: UrgencyContext.Urgent,
* userContext: UserContext.ExecutiveDecision
* });
* const query = SemanticQueryBuilder.forIntent(intent);
* const results = await query.executeAsync(db);
*
* // ❌ WRONG: Technical parameters driving queries
* // const results = await db.prepare("SELECT * FROM reports WHERE level = ?")
* // .bind(isQuick ? 1 : 3).all(); // NO!
* ```
*
* @remarks
* Eliminates the anti-pattern where technical query complexity drives
* business data retrieval. Instead, uses semantic intent to determine:
* 1. Which columns/tables to include (data scope semantics)
* 2. Query optimization strategy (performance profile semantics)
* 3. Result filtering and shaping (quality requirements)
* 4. Caching and indexing hints (urgency context semantics)
*/
static forIntent(intent: DataSemanticIntent): SemanticQueryBuilder {
const builder = new SemanticQueryBuilder();
builder.intent = intent;
builder.queryPlan = builder.deriveQueryPlan(intent);
return builder;
}
/**
* Executes semantically-driven query against D1 database with intent-based optimization.
*
* @param db D1 database connection
* @returns Results shaped according to semantic intent requirements
*
* @remarks
* Query execution adapts based on semantic intent:
* - ExecutiveSummary: Aggregated data with KPIs
* - OperationalDetails: Current operational data with details
* - ComprehensiveAnalysis: Full dataset with related tables
* - RealTimeMonitoring: Latest data with change indicators
* - HistoricalTrends: Time-series data with trend analysis
*/
async executeAsync(db: D1Database): Promise> {
const startTime = performance.now();
try {
// Generate intent-driven SQL query
const sqlQuery = this.buildSemanticQuery();
console.log(`📊 SEMANTIC QUERY: ${this.intent.dataScope} for ${this.intent.userContext}`);
console.log(`🎯 QUERY PLAN: ${this.queryPlan.strategy} with ${this.queryPlan.optimizations.join(', ')}`);
// Execute with semantic optimizations
const rawResults = await this.executeWithOptimizations(db, sqlQuery);
// Shape results according to semantic intent
const shapedResults = this.shapeResultsForIntent(rawResults);
const executionTime = performance.now() - startTime;
// Validate performance profile compliance
this.validatePerformanceCompliance(executionTime);
return {
data: shapedResults,
metadata: {
semanticIntent: this.intent,
queryPlan: this.queryPlan,
executionTime,
recordCount: shapedResults.length,
dataQuality: this.assessDataQuality(shapedResults),
semanticCompliance: true
}
};
} catch (error) {
console.error(`🚨 SEMANTIC QUERY ERROR: ${error.message}`);
throw new SemanticQueryException(`Query failed for ${this.intent.dataScope}: ${error.message}`);
}
}
/**
* Derives query execution plan from semantic intent, avoiding technical complexity flags.
*/
private deriveQueryPlan(intent: DataSemanticIntent): QueryPlan {
const strategy = this.determineQueryStrategy(intent);
const optimizations = this.determineOptimizations(intent);
const indexHints = this.determineIndexHints(intent);
return {
strategy,
optimizations,
indexHints,
resultShaping: this.determineResultShaping(intent)
};
}
/**
* Determines query strategy based on semantic data scope and performance requirements.
*/
private determineQueryStrategy(intent: DataSemanticIntent): QueryStrategy {
// Executive summary needs aggregated data strategy
if (intent.dataScope === DataScope.ExecutiveSummary) {
return QueryStrategy.Aggregated;
}
// Real-time monitoring needs latest data strategy
if (intent.dataScope === DataScope.RealTimeMonitoring) {
return QueryStrategy.Latest;
}
// Historical analysis needs time-series strategy
if (intent.dataScope === DataScope.HistoricalTrends) {
return QueryStrategy.TimeSeries;
}
// Comprehensive analysis needs join strategy
if (intent.dataScope === DataScope.ComprehensiveAnalysis) {
return QueryStrategy.Comprehensive;
}
return QueryStrategy.Standard;
}
/**
* Builds SQL query optimized for semantic intent rather than technical flags.
*/
private buildSemanticQuery(): string {
const baseQuery = this.buildBaseQuery();
const semanticFilters = this.buildSemanticFilters();
const performanceOptimizations = this.buildPerformanceOptimizations();
return `
${baseQuery}
${semanticFilters}
${performanceOptimizations}
`.trim();
}
/**
* Builds base query structure based on semantic data scope.
*/
private buildBaseQuery(): string {
switch (this.intent.dataScope) {
case DataScope.ExecutiveSummary:
return `
SELECT
DATE(created_at) as date,
COUNT(*) as total_count,
SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) as completed_count,
AVG(performance_score) as avg_performance,
SUM(revenue) as total_revenue
FROM reports r
LEFT JOIN performance_metrics pm ON r.id = pm.report_id
`;
case DataScope.RealTimeMonitoring:
return `
SELECT
r.*,
pm.current_status,
pm.last_updated,
pm.health_score
FROM reports r
INNER JOIN performance_metrics pm ON r.id = pm.report_id
WHERE r.created_at > datetime('now', '-1 hour')
`;
case DataScope.ComprehensiveAnalysis:
return `
SELECT
r.*,
u.name as author_name,
u.department,
pm.*,
t.name as category_name
FROM reports r
LEFT JOIN users u ON r.author_id = u.id
LEFT JOIN performance_metrics pm ON r.id = pm.report_id
LEFT JOIN categories t ON r.category_id = t.id
`;
case DataScope.HistoricalTrends:
return `
SELECT
DATE(r.created_at) as date,
r.category_id,
COUNT(*) as daily_count,
AVG(pm.performance_score) as avg_score,
RANK() OVER (PARTITION BY DATE(r.created_at) ORDER BY COUNT(*) DESC) as daily_rank
FROM reports r
LEFT JOIN performance_metrics pm ON r.id = pm.report_id
WHERE r.created_at >= datetime('now', '-90 days')
`;
default: // OperationalDetails
return `
SELECT
r.id,
r.title,
r.status,
r.created_at,
r.updated_at,
u.name as author_name,
pm.performance_score
FROM reports r
LEFT JOIN users u ON r.author_id = u.id
LEFT JOIN performance_metrics pm ON r.id = pm.report_id
`;
}
}
/**
* Adds semantic filters based on user context and quality requirements.
*/
private buildSemanticFilters(): string {
let filters: string[] = [];
// Quality-based filtering
if (this.intent.qualityRequirements === QualityRequirements.Authoritative) {
filters.push("r.approval_status = 'approved'");
filters.push("r.data_quality_score >= 95");
}
// User context filtering
if (this.intent.userContext === UserContext.ExecutiveDecision) {
filters.push("r.visibility_level >= 'executive'");
}
// Urgency-based filtering
if (this.intent.urgencyContext === UrgencyContext.Critical) {
filters.push("r.priority = 'high'");
filters.push("r.status != 'draft'");
}
return filters.length > 0 ? `WHERE ${filters.join(' AND ')}` : '';
}
/**
* Adds performance optimizations based on semantic performance profile.
*/
private buildPerformanceOptimizations(): string {
let optimizations: string[] = [];
// Sorting and limiting based on intent
if (this.intent.dataScope === DataScope.ExecutiveSummary) {
optimizations.push("GROUP BY DATE(r.created_at)");
optimizations.push("ORDER BY date DESC");
optimizations.push("LIMIT 30"); // Last 30 days for executives
}
if (this.intent.dataScope === DataScope.RealTimeMonitoring) {
optimizations.push("ORDER BY r.updated_at DESC");
optimizations.push("LIMIT 100"); // Recent monitoring data
}
if (this.intent.performanceProfile === PerformanceProfile.Interactive) {
optimizations.push("-- HINT: USE INDEX FOR INTERACTIVE PERFORMANCE");
}
return optimizations.join('
');
}
/**
* Shapes query results according to semantic intent and user context.
*/
private shapeResultsForIntent(rawResults: any[]): T[] {
if (!rawResults?.length) return [] as T[];
switch (this.intent.dataScope) {
case DataScope.ExecutiveSummary:
return this.shapeForExecutive(rawResults) as T[];
case DataScope.RealTimeMonitoring:
return this.shapeForMonitoring(rawResults) as T[];
case DataScope.ComprehensiveAnalysis:
return this.shapeForAnalysis(rawResults) as T[];
default:
return rawResults as T[];
}
}
/**
* Shapes data for executive consumption with KPIs and summaries.
*/
private shapeForExecutive(data: any[]): ExecutiveSummary[] {
return data.map(row => ({
date: row.date,
totalReports: row.total_count,
completionRate: (row.completed_count / row.total_count * 100).toFixed(1) + '%',
averagePerformance: row.avg_performance?.toFixed(1) || 'N/A',
revenue: this.formatCurrency(row.total_revenue),
trend: this.calculateTrend(row), // Semantic trend analysis
semanticInsight: this.generateExecutiveInsight(row)
}));
}
/**
* Validates that query performance meets semantic profile requirements.
*/
private validatePerformanceCompliance(executionTime: number): void {
const maxTime = this.getMaxExecutionTime(this.intent.performanceProfile);
if (executionTime > maxTime) {
console.warn(`⚠️ PERFORMANCE VIOLATION: Query took ${executionTime}ms, expected < ${maxTime}ms for ${this.intent.performanceProfile} profile`);
// Log semantic performance violation for analysis
console.log(`🔍 SEMANTIC CONTEXT: ${this.intent.userContext} requesting ${this.intent.dataScope} with ${this.intent.urgencyContext} urgency`);
}
}
private getMaxExecutionTime(profile: PerformanceProfile): number {
switch (profile) {
case PerformanceProfile.Instantaneous: return 100;
case PerformanceProfile.Interactive: return 2000;
case PerformanceProfile.Responsive: return 10000;
case PerformanceProfile.Batch: return 60000;
default: return 5000;
}
}
}
// Supporting types and interfaces
export enum QueryStrategy {
Aggregated = 'aggregated',
Latest = 'latest',
TimeSeries = 'timeseries',
Comprehensive = 'comprehensive',
Standard = 'standard'
}
export interface QueryPlan {
strategy: QueryStrategy;
optimizations: string[];
indexHints: string[];
resultShaping: string;
}
export interface SemanticQueryResult {
data: T[];
metadata: {
semanticIntent: DataSemanticIntent;
queryPlan: QueryPlan;
executionTime: number;
recordCount: number;
dataQuality: string;
semanticCompliance: boolean;
};
}
export interface ExecutiveSummary {
date: string;
totalReports: number;
completionRate: string;
averagePerformance: string;
revenue: string;
trend: string;
semanticInsight: string;
}
export class SemanticQueryException extends Error {
constructor(message: string) {
super(message);
this.name = 'SemanticQueryException';
}
}
D1 Database Integration
Complete integration showing how semantic intent works with Cloudflare D1 in production applications.
❌ Before: Technical Flag Anti-Pattern
// Technical parameters driving data access
export async function getReports(env: Env, isQuick: boolean, level: number) {
const query = isQuick
? "SELECT id, title FROM reports WHERE priority <= ?"
: "SELECT * FROM reports WHERE level = ?";
const results = await env.DB
.prepare(query)
.bind(isQuick ? 1 : level)
.all();
return results.results;
}
// Usage with semantic violations
const quickReports = await getReports(env, true, 1); // ❌ Technical flags
const detailedReports = await getReports(env, false, 3); // ❌ Magic numbers
✅ After: Semantic Intent Pattern
/**
* Semantic data access service using business intent instead of technical flags.
*
* SEMANTIC DATA ACCESS PRINCIPLE: User business context drives query construction
* and data retrieval, not technical complexity parameters.
*/
export class SemanticDataService {
/**
* Retrieves reports using semantic intent derived from user business context.
* Eliminates technical flag anti-patterns in database access.
*/
static async getReportsForUser(env: Env, userRequest: UserDataRequest): Promise> {
// ✅ SEMANTIC INTENT: Derive from business context
const dataIntent = DataSemanticIntentProcessor.deriveFromRequest({
userRole: userRequest.userRole,
purpose: userRequest.purpose,
timeframe: userRequest.timeframe,
dataSubject: 'reports'
});
console.log(`🎯 DATA INTENT: ${dataIntent.dataScope} for ${dataIntent.userContext}`);
// ✅ SEMANTIC QUERY: Intent drives query construction
const semanticQuery = SemanticQueryBuilder.forIntent(dataIntent);
return await semanticQuery.executeAsync(env.DB);
}
}
// Usage with semantic intent
const executiveRequest = new UserDataRequest({
userRole: 'CEO',
purpose: 'board presentation preparation',
timeframe: 'urgent'
});
const reports = await SemanticDataService.getReportsForUser(env, executiveRequest);
// Result: Executive summary data with KPIs and trends
Cloudflare Worker Implementation
Complete example showing semantic intent in a Cloudflare Worker with D1 database integration.
worker.ts - Complete Implementation
/**
* Cloudflare Worker implementing semantic intent patterns for D1 database access.
* Demonstrates elimination of technical flag anti-patterns in favor of business context.
*/
export interface Env {
DB: D1Database;
}
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise {
try {
const url = new URL(request.url);
// Route handling with semantic intent
switch (url.pathname) {
case '/api/reports':
return await handleReportsRequest(request, env);
case '/api/analytics':
return await handleAnalyticsRequest(request, env);
default:
return new Response('Not found', { status: 404 });
}
} catch (error) {
console.error('🚨 WORKER ERROR:', error);
return new Response('Internal server error', { status: 500 });
}
}
};
/**
* Handles report requests using semantic intent instead of query parameters.
*
* @example
* POST /api/reports
* {
* "userRole": "CEO",
* "purpose": "quarterly board meeting",
* "timeframe": "urgent"
* }
*/
async function handleReportsRequest(request: Request, env: Env): Promise {
if (request.method !== 'POST') {
return new Response('Method not allowed', { status: 405 });
}
try {
const requestBody = await request.json() as any;
// ✅ SEMANTIC REQUEST VALIDATION
if (!requestBody.userRole || !requestBody.purpose) {
return new Response(JSON.stringify({
error: 'Semantic context required',
message: 'userRole and purpose are required for semantic intent derivation',
example: {
userRole: 'CEO',
purpose: 'quarterly review',
timeframe: 'urgent'
}
}), {
status: 400,
headers: { 'Content-Type': 'application/json' }
});
}
// ✅ DERIVE SEMANTIC INTENT from business context
const dataIntent = DataSemanticIntentProcessor.deriveFromRequest({
userRole: requestBody.userRole,
purpose: requestBody.purpose,
timeframe: requestBody.timeframe || 'standard',
dataSubject: 'reports'
});
console.log(`📊 SEMANTIC INTENT DERIVED:`, {
dataScope: dataIntent.dataScope,
userContext: dataIntent.userContext,
urgencyContext: dataIntent.urgencyContext,
performanceProfile: dataIntent.performanceProfile
});
// ✅ EXECUTE SEMANTIC QUERY
const semanticQuery = SemanticQueryBuilder.forIntent(dataIntent);
const results = await semanticQuery.executeAsync(env.DB);
// ✅ SEMANTIC RESPONSE with metadata
return new Response(JSON.stringify({
success: true,
data: results.data,
semanticMetadata: {
intent: dataIntent,
executionTime: results.metadata.executionTime,
recordCount: results.metadata.recordCount,
queryStrategy: results.metadata.queryPlan.strategy,
dataQuality: results.metadata.dataQuality,
semanticCompliance: results.metadata.semanticCompliance
},
timestamp: new Date().toISOString()
}), {
headers: {
'Content-Type': 'application/json',
'X-Semantic-Intent': dataIntent.dataScope,
'X-Query-Time': results.metadata.executionTime.toString()
}
});
} catch (error) {
if (error instanceof SemanticQueryException) {
return new Response(JSON.stringify({
error: 'Semantic query error',
message: error.message,
semanticContext: 'Query construction failed based on provided intent'
}), {
status: 400,
headers: { 'Content-Type': 'application/json' }
});
}
console.error('🚨 SEMANTIC REQUEST ERROR:', error);
return new Response(JSON.stringify({
error: 'Internal server error',
message: 'Failed to process semantic intent request'
}), {
status: 500,
headers: { 'Content-Type': 'application/json' }
});
}
}
/**
* Example analytics endpoint using semantic intent for dashboard data.
*/
async function handleAnalyticsRequest(request: Request, env: Env): Promise {
// Default executive analytics context
const analyticsIntent = DataSemanticIntentProcessor.deriveFromRequest({
userRole: 'Executive',
purpose: 'dashboard analytics',
timeframe: 'standard',
dataSubject: 'performance metrics'
});
const semanticQuery = SemanticQueryBuilder.forIntent(analyticsIntent);
const results = await semanticQuery.executeAsync(env.DB);
return new Response(JSON.stringify({
success: true,
analytics: results.data,
generatedAt: new Date().toISOString(),
semanticProfile: {
dataScope: analyticsIntent.dataScope,
optimizedFor: analyticsIntent.userContext
}
}), {
headers: { 'Content-Type': 'application/json' }
});
}
export interface UserDataRequest {
userRole: string;
purpose: string;
timeframe?: string;
additionalContext?: string;
}
Performance & Governance Benefits
Intent-Optimized Queries
Queries automatically optimize for business intent:
QUERY_OPTIMIZATION:
├── Executive Requests: Aggregated KPI queries with summary-level data
├── Monitoring Requests: Real-time optimizations with health indicators
├── Analysis Requests: Comprehensive joins with related data tables
└── Performance Profiles: Automatic matching to user expectations
SEMANTIC_QUERY_STRATEGIES:
├── ExecutiveSummary → GROUP BY, aggregations, KPI calculations
├── RealTimeMonitoring → Latest data with change indicators
├── ComprehensiveAnalysis → Full joins with related tables
└── HistoricalTrends → Time-series with trend analysis
Query Governance
Semantic contracts prevent database anti-patterns:
GOVERNANCE_ENFORCEMENT:
├── Magic Numbers: Eliminated from query parameters
├── Technical Flags: Removed from data access logic
├── Performance Violations: Detected and reported automatically
└── Data Quality: Requirements enforced by semantic context
CONTRACT_VALIDATION:
├── Executive + Authoritative → 95%+ data quality enforced
├── Monitoring + Instantaneous → <100ms response required
├── Analysis + Comprehensive → Full dataset with joins
└── Historical + Batch → Time-series optimization applied
Intelligent Data Shaping
Results automatically shaped for user context:
DATA_SHAPING_BY_CONTEXT:
├── Executive Summaries: KPIs, trends, completion rates, revenue
├── Operational Details: Current data with actionable information
├── Analytical Datasets: Full data for research and exploration
└── Real-time Monitoring: Health scores, status, change indicators
SEMANTIC_INSIGHTS:
├── Executive Context → generateExecutiveInsight()
├── Trend Analysis → calculateTrend() with business meaning
├── Performance Metrics → formatCurrency(), percentages
└── Quality Assessment → assessDataQuality() validation
Semantic Performance
Performance automatically matches intent:
PERFORMANCE_PROFILE_MAPPING:
├── Instantaneous: <100ms for system monitoring and critical alerts
├── Interactive: <2s for executive dashboards and decision support
├── Responsive: <10s for operational queries and standard work
└── Batch: Background processing for analytical and reporting work
SEMANTIC_PERFORMANCE_ENFORCEMENT:
├── Critical + SystemMonitoring → Instantaneous profile enforced
├── Urgent + ExecutiveDecision → Interactive profile applied
├── Background + AnalyticalResearch → Batch processing allowed
└── Performance Violations → Logged with semantic context
D1 Implementation Guide
Step 1: Identify Database Anti-Patterns
Find where technical query flags drive business data access.
ANTI_PATTERN_IDENTIFICATION:
├── Look for: isQuick, level, priority parameters in database calls
├── Find: Magic numbers determining query complexity
├── Detect: HTTP methods driving query structure
└── Identify: Boolean flags controlling data access
REPLACEMENT_STRATEGY:
├── Business Context: User role, purpose, urgency
├── Semantic Anchors: Observable properties of user intent
├── Intent Derivation: WHAT (data scope) + WHY (business context)
└── Performance Mapping: Business urgency → technical performance
EXAMPLE_TRANSFORMATIONS:
├── isQuick=true → userRole='CEO' + purpose='board meeting'
├── level=1 → urgencyContext='urgent' + dataScope='ExecutiveSummary'
└── priority=high → qualityRequirements='Authoritative'
Step 2: Implement Data Semantic Intent Processor
Create processor to derive database intent from user context.
INPUT_ANALYSIS:
├── User Role: CEO, Manager, Analyst, Operator
├── Purpose: board meeting, daily operations, analysis, monitoring
├── Timeframe: urgent, standard, background
└── Data Subject: reports, metrics, trends, status
OUTPUT_DERIVATION:
├── Data Scope: ExecutiveSummary, OperationalDetails, ComprehensiveAnalysis
├── Urgency Context: Critical, Urgent, Standard, Background
├── Quality Requirements: Authoritative, BusinessReady, Analytical
└── Performance Profile: Instantaneous, Interactive, Responsive, Batch
SEMANTIC_RULES:
├── Executive + urgent → ExecutiveSummary + Interactive
├── Monitoring context → RealTimeMonitoring + Instantaneous
└── Analysis + research → ComprehensiveAnalysis + Responsive
Step 3: Build Semantic Query Builder
Construct D1 queries based on semantic intent, not technical flags.
QUERY_CONSTRUCTION_FEATURES:
├── Intent-Driven SQL: Base query structure from data scope
├── Performance Optimization: Limits, indexes, hints from profile
├── Result Shaping: Data formatting based on user context
└── Quality Filtering: WHERE clauses from quality requirements
AUTOMATIC_BENEFITS:
├── Query Tuning: Automatic optimization based on semantic intent
├── Performance Validation: Runtime compliance checking
├── Error Context: Semantic information in error messages
└── Metadata Enrichment: Query plan and intent tracking
QUERY_STRATEGY_MAPPING:
├── ExecutiveSummary → Aggregated strategy with GROUP BY
├── RealTimeMonitoring → Latest strategy with ORDER BY updated_at
├── ComprehensiveAnalysis → Join strategy with related tables
└── HistoricalTrends → TimeSeries strategy with date ranges
Step 4: Integrate with Cloudflare Workers
Complete integration showing semantic intent in production Workers.
API_DESIGN_PATTERNS:
├── Request Structure: Business context instead of technical parameters
├── Response Metadata: Semantic intent, performance metrics, quality indicators
├── Error Handling: Semantic validation with business context
└── Performance Headers: X-Semantic-Intent, X-Query-Time
PRODUCTION_CONSIDERATIONS:
├── Request Validation: Semantic context requirements
├── Performance Monitoring: Profile compliance tracking
├── Error Context: Business meaning in error responses
└── Semantic Logging: Intent-aware application logs
INTEGRATION_BENEFITS:
├── API Clarity: Business intent clear from request structure
├── Debugging: Semantic context in all error scenarios
├── Monitoring: Performance tracking by business intent
└── Analytics: Usage patterns by semantic data scope
Additional Resources
DOCUMENTATION_RESOURCES:
├── Research Paper
│ ├── /papers/semantic-intent-ssot → Academic foundation
│ ├── Empirical validation of database patterns
│ ├── Performance analysis and benchmarks
│ └── Theoretical foundations for semantic data access
│
├── ASP.NET MVC Example
│ ├── /examples/aspnet-mvc → Enterprise implementation
│ ├── Semantic intent in MVC controllers
│ ├── Service layer patterns for data access
│ └── Integration with Entity Framework
│
├── Implementation Guide
│ ├── /implementation → Step-by-step implementation
│ ├── Cross-technology patterns and approaches
│ ├── Testing and validation strategies
│ └── Performance optimization techniques
│
└── Source Code
├── GitHub: semantic-intent-framework
├── Working D1 database implementations
├── Cloudflare Worker examples
└── Production deployment guides
SUPPORT_CHANNELS:
├── GitHub Issues → Technical questions and database patterns
├── Community → D1 implementation best practices
├── Research Papers → Academic citations and methodology
└── Professional Services → Enterprise consulting for database refactoring