!7 concept Emoji { S unicode; S description; S keywords; // with plus S posNeg; // positive/negative? } cmodule EmojisCRUD > DynCRUD { start { dbIndexing(Emoji, 'unicode); dm_registerAs('emojisCRUD); } // API O addEmoji(S unicode) { Emoji e = uniq_sync(Emoji, +unicode); if (empty(e.keywords)) cset(e, keywords := joinWithSpacedPlus(simpleUnicodeEmojiList().get(unicode))); ret e; } S getPosNeg(S unicode) { ret getString posNeg(conceptWhere(Emoji, +unicode)); } }