abstract sclass AbstractThoughtSpace implements AI_PostHandler { AbstractThoughtSpace parent; *() {} *(AbstractThoughtSpace *parent) {} // take unshortened queries abstract L> get(Symbol query); abstract L> get(Symbol query, int position); abstract L getTriples(Symbol query); abstract L getTriples(Symbol query, int position); // existence of triple has already been checked public abstract GlobalID postTriple(T3 t); abstract int size(); public bool hasTriple(Symbol a, Symbol b, Symbol c) { L> l = shortestList3(get(a), get(b), get(c)); if (l != null) for (TripleRef ref : l) if (ref != null && tripleEqic(ref.triple, a, b, c)) true; false; } public bool hasTriple_verified(Symbol a, Symbol b, Symbol c) { L> l = shortestList3(get(a), get(b), get(c)); if (l != null) for (TripleRef ref : l) if (ref != null && ref.triple.verified() && tripleEqic(ref.triple, a, b, c)) true; false; } }