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 1.9 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
  1. --- #dep init
  2. --- #table isbn_id
  3. --- #step ISBN ID storage
  4. CREATE TABLE IF NOT EXISTS isbn_id (
  5. isbn_id SERIAL PRIMARY KEY,
  6. isbn VARCHAR NOT NULL UNIQUE
  7. );
  8. --- #step Functions for book code numberspaces
  9. CREATE OR REPLACE FUNCTION bc_of_work(wk INTEGER) RETURNS INTEGER
  10. AS $$ SELECT $1 + 100000000 $$
  11. LANGUAGE SQL
  12. IMMUTABLE STRICT PARALLEL SAFE;
  13. CREATE OR REPLACE FUNCTION bc_of_edition(ed INTEGER) RETURNS INTEGER
  14. AS $$ SELECT $1 + 200000000 $$
  15. LANGUAGE SQL
  16. IMMUTABLE STRICT PARALLEL SAFE;
  17. CREATE OR REPLACE FUNCTION bc_of_loc_rec(rec INTEGER) RETURNS INTEGER
  18. AS $$ SELECT $1 + 300000000 $$
  19. LANGUAGE SQL
  20. IMMUTABLE STRICT PARALLEL SAFE;
  21. CREATE OR REPLACE FUNCTION bc_of_gr_work(rec INTEGER) RETURNS INTEGER
  22. AS $$ SELECT $1 + 400000000 $$
  23. LANGUAGE SQL
  24. IMMUTABLE STRICT PARALLEL SAFE;
  25. CREATE OR REPLACE FUNCTION bc_of_gr_book(rec INTEGER) RETURNS INTEGER
  26. AS $$ SELECT $1 + 500000000 $$
  27. LANGUAGE SQL
  28. IMMUTABLE STRICT PARALLEL SAFE;
  29. CREATE OR REPLACE FUNCTION bc_of_loc_work(rec INTEGER) RETURNS INTEGER
  30. AS $$ SELECT $1 + 600000000 $$
  31. LANGUAGE SQL
  32. IMMUTABLE STRICT PARALLEL SAFE;
  33. CREATE OR REPLACE FUNCTION bc_of_loc_instance(rec INTEGER) RETURNS INTEGER
  34. AS $$ SELECT $1 + 700000000 $$
  35. LANGUAGE SQL
  36. IMMUTABLE STRICT PARALLEL SAFE;
  37. CREATE OR REPLACE FUNCTION bc_of_isbn(id INTEGER) RETURNS INTEGER
  38. AS $$ SELECT $1 + 900000000 $$
  39. LANGUAGE SQL
  40. IMMUTABLE STRICT PARALLEL SAFE;
  41. --- #step ExtractISBN function
  42. CREATE OR REPLACE FUNCTION extract_isbn(raw_isbn VARCHAR) RETURNS VARCHAR
  43. LANGUAGE SQL IMMUTABLE STRICT PARALLEL SAFE COST 5
  44. AS $$
  45. SELECT upper(regexp_replace(substring(regexp_replace(raw_isbn, '[^[:alnum:]_ -]', '') from
  46. '^\s*(?:(?:(?:ISBN)?[a-zA-Z]+?|\(\d+\))\s*)?([0-9 -]+[0-9Xx])'
  47. ), '[- ]', ''))
  48. $$;
  49. --- #step Node IRI to UUID conversion
  50. CREATE OR REPLACE FUNCTION node_uuid(iri VARCHAR) RETURNS UUID
  51. LANGUAGE SQL IMMUTABLE PARALLEL SAFE
  52. AS $$
  53. SELECT uuid_generate_v5(uuid_ns_url(), iri);
  54. $$;
Tip!

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

Comments

Loading...