2025-09-20 16:30:08 +02:00
|
|
|
CREATE TABLE IF NOT EXISTS Movies (
|
2025-09-20 16:37:57 +02:00
|
|
|
MovieID INTEGER PRIMARY KEY AUTOINCREMENT,
|
2025-09-20 16:30:08 +02:00
|
|
|
MovieURI TEXT UNIQUE NOT NULL
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS WikiPageIDs (
|
2025-09-20 16:37:57 +02:00
|
|
|
MovieID INTEGER PRIMARY KEY,
|
2025-09-20 16:30:08 +02:00
|
|
|
PageID INTEGER UNIQUE NOT NULL,
|
|
|
|
|
FOREIGN KEY(MovieID) REFERENCES Movies(MovieID)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS WikipediaAbstracts (
|
2025-09-20 16:37:57 +02:00
|
|
|
MovieID INTEGER PRIMARY KEY,
|
2025-09-20 16:30:08 +02:00
|
|
|
Abstract TEXT NOT NULL,
|
|
|
|
|
FOREIGN KEY(MovieID) REFERENCES Movies(MovieID)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS Origins (
|
2025-09-20 16:37:57 +02:00
|
|
|
OriginID INTEGER PRIMARY KEY AUTOINCREMENT,
|
2025-09-20 16:30:08 +02:00
|
|
|
OriginName TEXT UNIQUE NOT NULL
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS Subjects (
|
2025-09-20 16:37:57 +02:00
|
|
|
SubjectID INTEGER PRIMARY KEY AUTOINCREMENT,
|
2025-09-20 16:30:08 +02:00
|
|
|
SubjectURI TEXT UNIQUE NOT NULL,
|
|
|
|
|
OriginID BIGINT NOT NULL,
|
|
|
|
|
FOREIGN KEY(OriginID) REFERENCES Origins(OriginID)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS Relationships (
|
2025-09-20 16:37:57 +02:00
|
|
|
RelationshipID INTEGER PRIMARY KEY AUTOINCREMENT,
|
2025-09-20 16:30:08 +02:00
|
|
|
RelationshipURI TEXT UNIQUE NOT NULL
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS Objects (
|
2025-09-20 16:37:57 +02:00
|
|
|
ObjectID INTEGER PRIMARY KEY AUTOINCREMENT,
|
2025-09-20 16:30:08 +02:00
|
|
|
ObjectURI TEXT UNIQUE NOT NULL,
|
|
|
|
|
OriginID BIGINT NOT NULL,
|
|
|
|
|
FOREIGN KEY(OriginID) REFERENCES Origins(OriginID)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS RDFs (
|
2025-09-20 16:37:57 +02:00
|
|
|
RDF_ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
|
MovieID INTEGER NOT NULL,
|
|
|
|
|
SubjectID INTEGER NOT NULL,
|
|
|
|
|
RelationshipID INTEGER NOT NULL,
|
|
|
|
|
ObjectID INTEGER NOT NULL,
|
2025-09-20 16:30:08 +02:00
|
|
|
UNIQUE(SubjectID, RelationshipID, ObjectID),
|
|
|
|
|
FOREIGN KEY(MovieID) REFERENCES Movies(MovieID),
|
|
|
|
|
FOREIGN KEY(SubjectID) REFERENCES Subjects(SubjectID),
|
|
|
|
|
FOREIGN KEY(RelationshipID) REFERENCES Relationships(RelationshipID),
|
|
|
|
|
FOREIGN KEY(ObjectID) REFERENCES Objects(ObjectID)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_rdf_movie_id ON RDFs(MovieID);
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_rdf_subject_id ON RDFs(SubjectID);
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_rdf_relationship_id ON RDFs(RelationshipID);
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_rdf_object_id ON RDFs(ObjectID);
|
|
|
|
|
|