// position = 1 to 3 static Symbol ai_getTriplePart(S tripleID, int position) { TripleWeb t = ai_getTriple(tripleID); ret t == null ? null : tripleGet(t, position-1); } // e.g. "bdmvnpnkmkoecjyt/a" static Symbol ai_getTriplePart(S triplePartID) { L l = splitAtSlash(triplePartID); if (l(l) != 2) null; S tripleID = first(l), pos = second(l); int iPos = charDiff(lower(pos), 'a'); TripleWeb t = ai_getTriple(tripleID); ret t == null ? null : tripleGet(t, iPos); }