static void ai_analyzeSubSpace(AI_SubSpace subSpace) { print("Have subspace with " + nWeb(subSpace.webs)); print("Sources: " + struct(collectUnique(subSpace.webs, 'source))); Web seedWeb = first(subSpace.webs); T3 seed = webToTriple(seedWeb); print("Seed: " + ai_renderTriple(seed)); T3 goal = ai_parseTriple(ai_text(subSpace, "_goal", "is", "$X")); print("Goal: " + ai_renderTriple(goal)); Web solution = webNodeToWeb(last(webs_tripleSearch_dollarX(subSpace.webs, goal))); print("Solution: " + webToStringShort(solution)); if (solution == null) ret; print("Solution source: " + solution.source); }