internet_mapper/schema.surql
Oliver Atkinson 9324160e74 crawling 🕷️
2024-10-07 11:14:56 -06:00

22 lines
965 B
Plaintext

DELETE website;
DELETE links_to;
DELETE url_index;
DEFINE TABLE website SCHEMAFULL;
DEFINE FIELD url ON TABLE website TYPE string;
DEFINE FIELD crawled ON TABLE website TYPE bool DEFAULT false;
DEFINE FIELD domain ON TABLE website VALUE parse::url::domain($this.url) ASSERT !type::is::none($value);
DEFINE FIELD path ON TABLE website VALUE parse::url::path($this.url) ASSERT !type::is::none($value);
DEFINE FIELD accessed_at ON TABLE website VALUE time::now();
DEFINE INDEX url_index ON TABLE website COLUMNS url UNIQUE;
DEFINE TABLE email SCHEMAFULL;
DEFINE FIELD email ON TABLE email TYPE string;
DEFINE TABLE found_on SCHEMAFULL TYPE RELATION FROM email TO website;
DEFINE FIELD discovered_at ON TABLE found_on TYPE datetime DEFAULT time::now();
DEFINE TABLE links_to SCHEMAFULL TYPE RELATION FROM website TO website;
DEFINE FIELD discovered_at ON TABLE links_to TYPE datetime DEFAULT time::now();