-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathkg_simplified.sql
96 lines (84 loc) · 2.6 KB
/
kg_simplified.sql
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
SET foreign_key_checks = 0;
-- start from entity
DROP TABLE IF EXISTS Entity;
CREATE TABLE IF NOT EXISTS Entity (
eid varchar(20) PRIMARY KEY,-- What's the diff to text? Or 20 -> 10?
label varchar(150), -- only record en.
description varchar(250),
type varchar(20) not null
);
-- Inheritance: entity/property
DROP TABLE IF EXISTS Item;
CREATE TABLE IF NOT EXISTS Item (
eid varchar(20),
FOREIGN KEY (eid) REFERENCES entity (eid)
);
DROP TABLE IF EXISTS Property;
CREATE TABLE IF NOT EXISTS Property (
eid varchar(20),
datatype varchar(20) not null,
FOREIGN KEY (eid) REFERENCES entity (eid)
);
-- -- Fingerprint
-- DROP TABLE IF EXISTS Label;
-- CREATE TABLE IF NOT EXISTS Label (
-- eid varchar(20),
-- language varchar(15),
-- value varchar(150),
-- FOREIGN KEY (eid) REFERENCES Entity (eid)
-- );
-- DROP TABLE IF EXISTS Description;
-- CREATE TABLE IF NOT EXISTS Description (
-- eid varchar(20),
-- language varchar(15),
-- value VARCHAR(250),
-- FOREIGN KEY (eid) REFERENCES Entity (eid)
-- );
DROP TABLE IF EXISTS Alias;
CREATE TABLE IF NOT EXISTS Alias (
eid varchar(20),
language varchar(15),
value varchar(150),
FOREIGN KEY (eid) REFERENCES Entity (eid)
);
-- Claim
DROP TABLE IF EXISTS Claim;
CREATE TABLE IF NOT EXISTS Claim (
cid varchar(60) PRIMARY KEY,
eid varchar(20) not null,
property varchar(20) not null,
value varchar(250), -- a representative value for faster access
FOREIGN KEY (eid) REFERENCES Entity (eid),
FOREIGN KEY (property) REFERENCES Property (eid)
);
-- Note that Qualifier do not have `type` field
DROP TABLE IF EXISTS Qualifier;
CREATE TABLE IF NOT EXISTS Qualifier ( -- Shall we join the claim/qualifiers?
qid char(40) PRIMARY KEY, -- For hash!
property varchar(20) not null,
value varchar(250), -- a representative value for faster access
FOREIGN KEY (property) REFERENCES Property (eid)
);
DROP TABLE IF EXISTS Cqmapping;
CREATE TABLE IF NOT EXISTS Cqmapping(
cid varchar(60),
qid char(40),
FOREIGN KEY (cid) REFERENCES Claim(cid),
FOREIGN KEY (qid) REFERENCES Qualifier(qid)
);
DROP TABLE IF EXISTS Correlation;
CREATE TABLE IF NOT EXISTS Correlation(
eid varchar(20) not null,
weid varchar(20) not null,
cid varchar(60) not null,
FOREIGN KEY (eid) REFERENCES Entity (eid),
FOREIGN KEY (weid) REFERENCES Entity (eid),
FOREIGN KEY (cid) REFERENCES Claim (cid)
);
DROP TABLE IF EXISTS Preced;
CREATE TABLE IF NOT EXISTS Preced(
eid varchar(20) not null,
weid varchar(20) not null,
FOREIGN KEY (eid) REFERENCES Entity (eid),
FOREIGN KEY (weid) REFERENCES Entity (eid)
);