Warning: session_start(): open(/var/lib/php/sessions/sess_r68gsc537ld97e4p0hsgeo8fr0, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51

Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass WikiData { S language = "en"; S site = "https://wikidata.org"; S apiPath = "/w/api.php"; class BasicNode { S id, label; LS aliases; S description; S url() { ret site + "/entity/" + id; } toString { ret sfu(this); } } L search(S q) { ret (L) rmapGet("search", (Map) loadJSONPageWithParams(site + apiPath, action := "wbsearchentities", format := "json", +language, type := "item", continue := 0, search := q)); } Map getItems(S ids) { ret (Map) rmapGet("entities", (Map) loadJSONPageWithParams(site + apiPath, action := "wbgetentities", format := "json", +ids)); } // itemID = e.g. "Q388" Map get(S itemID) { ret (Map) rmapGet(itemID, getItems(itemID)); } BasicNode getBasicNode(S id) { var data = get(itemID); if (data == null) null; new BasicNode node; node.id = (S) rgenget id(data); node.label = (S) rgenget value(rgenget(language, rgenget labels(data))); node.aliases = collectMapValues_gen value(rgenget(language, rgenget aliases(data))); node.description = rgenget value(rgenget(language, rgenget descriptions(data))); ret node; } }