public ConceptMap getSubstitution ( ) { if ( substitution == null ) { Set < Variable > varNames = getVarNames ( ) ; Set < IdPredicate > predicates = getAtoms ( IsaAtomBase . class ) . map ( IsaAtomBase :: getTypePredicate ) . filter ( Objects :: nonNull ) . filter ( p -> varNames . contains ( p . getVarName ( ) ) ) . collect ( Collectors . toSet ( ) ) ; getAtoms ( IdPredicate . class ) . forEach ( predicates :: add ) ; HashMap < Variable , Concept > answerMap = new HashMap <> ( ) ; predicates . forEach ( p -> { Concept concept = tx ( ) . getConcept ( p . getPredicate ( ) ) ; if ( concept == null ) throw GraqlCheckedException . idNotFound ( p . getPredicate ( ) ) ; answerMap . put ( p . getVarName ( ) , concept ) ; } ) ; substitution = new ConceptMap ( answerMap ) ; } return substitution ; }
Does id predicates - > answer conversion