Warning: session_start(): open(/var/lib/php/sessions/sess_ple61gc9c3la9knh6js664eckl, 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
!7
cmodule OntologyWebServer > DynPrintLog {
transient O serveFunction;
start-thread {
dm_serveHttpFromFunction(8089, serveFunction = func(S uri, SS params) enter {
uri = dropLeadingOrTrailingSlash(uri);
if (nempty(uri))
ret serveEntity(urldecode(uri), params);
L l = cast dm_call(dm_ontologyBot(), 'concepts);
ret h1_title("Ontologyyyy (" + nEntries(l) + ")")
+ renderEntries(l);
});
dm_registerAs('ontologyWebServer);
}
S renderEntries(L entries) {
ret nlToBr(lines(map(entries, entry ->
linkEntity(getString a(entry)) + " " +
spanTitle("Entry ID: " + getString globalID(entry), htmlEncode2((S) call(entry, 'linkPhrase))) + " " +
linkEntity(getString b(entry)))));
}
S serveEntity(S entity, SS params) {
L l = cast dm_call(dm_ontologyBot(), 'searchForAny, entity);
ret h1_title(ahref("/", "Ontology") + " | Entity: " + htmlEncode2(entity))
+ (empty(l) ? "Nothing known about " + b(htmlEncode2(entity))
: renderEntries(l));
}
S linkEntity(S name) {
ret ahref("/" + urlencode(name), htmlEncode2(name));
}
}