Spaces:
Sleeping
Sleeping
File size: 4,990 Bytes
0bd4ab4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | -- ==========================================
-- EXTENSIONS
-- ==========================================
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
-- ==========================================
-- USERS
-- ==========================================
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
institution TEXT,
role TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- PROJECTS
-- ==========================================
CREATE TABLE projects (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
title TEXT NOT NULL,
description TEXT,
research_field TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- RESEARCH PAPERS
-- ==========================================
CREATE TABLE research_papers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
title TEXT,
authors TEXT,
journal TEXT,
publication_year INT,
pdf_path TEXT,
uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- PAPER CHUNKS (RAG)
-- ==========================================
CREATE TABLE paper_chunks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
paper_id UUID REFERENCES research_papers(id) ON DELETE CASCADE,
chunk_index INT,
content TEXT,
section TEXT,
metadata JSONB
);
-- ==========================================
-- ANALYSIS RUNS
-- ==========================================
CREATE TABLE analysis_runs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
model_used TEXT,
status TEXT,
started_at TIMESTAMP,
completed_at TIMESTAMP
);
-- ==========================================
-- CONTRADICTIONS
-- ==========================================
CREATE TABLE contradictions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
analysis_id UUID REFERENCES analysis_runs(id) ON DELETE CASCADE,
paper_a UUID REFERENCES research_papers(id),
paper_b UUID REFERENCES research_papers(id),
variable TEXT,
statement_a TEXT,
statement_b TEXT,
confidence_score FLOAT,
detected_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- RESEARCH GAPS
-- ==========================================
CREATE TABLE research_gaps (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
analysis_id UUID REFERENCES analysis_runs(id) ON DELETE CASCADE,
description TEXT,
importance_score FLOAT,
suggested_direction TEXT
);
-- ==========================================
-- EXPERIMENTAL PROTOCOLS
-- ==========================================
CREATE TABLE experimental_protocols (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
analysis_id UUID REFERENCES analysis_runs(id) ON DELETE CASCADE,
hypothesis TEXT,
independent_variables JSONB,
dependent_variables JSONB,
control_variables JSONB,
methodology TEXT,
risk_analysis TEXT,
estimated_cost TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- REASONING TRACES
-- ==========================================
CREATE TABLE reasoning_traces (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
analysis_id UUID REFERENCES analysis_runs(id) ON DELETE CASCADE,
step_number INT,
reasoning TEXT,
source_chunks JSONB,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- EXPORTS
-- ==========================================
CREATE TABLE exports (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
analysis_id UUID REFERENCES analysis_runs(id) ON DELETE CASCADE,
format TEXT,
file_path TEXT,
generated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- ACTIVITY LOGS
-- ==========================================
CREATE TABLE activity_logs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id) ON DELETE SET NULL,
action TEXT,
metadata JSONB,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- ==========================================
-- INDEXES FOR PERFORMANCE
-- ==========================================
CREATE INDEX idx_projects_user ON projects(user_id);
CREATE INDEX idx_papers_project ON research_papers(project_id);
CREATE INDEX idx_chunks_paper ON paper_chunks(paper_id);
CREATE INDEX idx_analysis_project ON analysis_runs(project_id);
CREATE INDEX idx_contradictions_analysis ON contradictions(analysis_id);
CREATE INDEX idx_protocols_analysis ON experimental_protocols(analysis_id);
CREATE INDEX idx_reasoning_analysis ON reasoning_traces(analysis_id);
|