Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

common-schema.sql 2.0 KB

You have to be logged in to leave a comment. Sign In
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
  1. CREATE TABLE IF NOT EXISTS import_status (
  2. step VARCHAR PRIMARY KEY,
  3. started_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  4. finished_at TIMESTAMP NULL
  5. );
  6. CREATE TABLE IF NOT EXISTS source_file (
  7. filename VARCHAR NOT NULL PRIMARY KEY,
  8. checksum VARCHAR NOT NULL
  9. );
  10. CREATE TABLE IF NOT EXISTS isbn_id (
  11. isbn_id SERIAL PRIMARY KEY,
  12. isbn VARCHAR NOT NULL UNIQUE
  13. );
  14. CREATE OR REPLACE FUNCTION bc_of_work(wk INTEGER) RETURNS INTEGER
  15. AS $$ SELECT $1 + 100000000 $$
  16. LANGUAGE SQL
  17. IMMUTABLE STRICT PARALLEL SAFE;
  18. CREATE OR REPLACE FUNCTION bc_of_edition(ed INTEGER) RETURNS INTEGER
  19. AS $$ SELECT $1 + 200000000 $$
  20. LANGUAGE SQL
  21. IMMUTABLE STRICT PARALLEL SAFE;
  22. CREATE OR REPLACE FUNCTION bc_of_loc_rec(rec INTEGER) RETURNS INTEGER
  23. AS $$ SELECT $1 + 300000000 $$
  24. LANGUAGE SQL
  25. IMMUTABLE STRICT PARALLEL SAFE;
  26. CREATE OR REPLACE FUNCTION bc_of_gr_work(rec INTEGER) RETURNS INTEGER
  27. AS $$ SELECT $1 + 400000000 $$
  28. LANGUAGE SQL
  29. IMMUTABLE STRICT PARALLEL SAFE;
  30. CREATE OR REPLACE FUNCTION bc_of_gr_book(rec INTEGER) RETURNS INTEGER
  31. AS $$ SELECT $1 + 500000000 $$
  32. LANGUAGE SQL
  33. IMMUTABLE STRICT PARALLEL SAFE;
  34. CREATE OR REPLACE FUNCTION bc_of_loc_work(rec INTEGER) RETURNS INTEGER
  35. AS $$ SELECT $1 + 600000000 $$
  36. LANGUAGE SQL
  37. IMMUTABLE STRICT PARALLEL SAFE;
  38. CREATE OR REPLACE FUNCTION bc_of_loc_instance(rec INTEGER) RETURNS INTEGER
  39. AS $$ SELECT $1 + 700000000 $$
  40. LANGUAGE SQL
  41. IMMUTABLE STRICT PARALLEL SAFE;
  42. CREATE OR REPLACE FUNCTION bc_of_isbn(id INTEGER) RETURNS INTEGER
  43. AS $$ SELECT $1 + 900000000 $$
  44. LANGUAGE SQL
  45. IMMUTABLE STRICT PARALLEL SAFE;
  46. -- ExtractISBN function
  47. CREATE OR REPLACE FUNCTION extract_isbn(raw_isbn VARCHAR) RETURNS VARCHAR
  48. LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE COST 5
  49. AS $$
  50. SELECT upper(regexp_replace(substring(regexp_replace(raw_isbn, '[^[:alnum:]_ -]', '') from
  51. '^\s*(?:(?:(?:ISBN)?[a-zA-Z]+?|\(\d+\))\s*)?([0-9 -]+[0-9Xx])'
  52. ), '[- ]', ''))
  53. $$;
  54. -- Node IRIs to UUIDs
  55. CREATE OR REPLACE FUNCTION node_uuid(iri VARCHAR) RETURNS UUID
  56. LANGUAGE SQL IMMUTABLE PARALLEL SAFE
  57. AS $$
  58. SELECT uuid_generate_v5(uuid_ns_url(), iri);
  59. $$;
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...