private String getSelectClauseFragment ( SignatureVariable var , Term term , Optional < TermType > termType , AliasIndex index ) { /* * Datatype for the main column (to which it is cast). * Beware, it may defer the RDF datatype (the one of the type column). * * Why? Because most DBs (if not all) require the result table to have * one datatype per column. If the sub-queries are producing results of different types, * them there will be a difference between the type in the main column and the RDF one. */ String typeColumn = getTypeColumnForSELECT ( term , index , termType ) ; String langColumn = getLangColumnForSELECT ( term , index , termType ) ; String mainColumn = getMainColumnForSELECT ( term , index , var . castType ) ; return new StringBuffer ( ) . append ( "\n " ) . append ( typeColumn ) . append ( " AS " ) . append ( var . columnAliases . get ( 0 ) ) . append ( ", " ) . append ( langColumn ) . append ( " AS " ) . append ( var . columnAliases . get ( 1 ) ) . append ( ", " ) . append ( mainColumn ) . append ( " AS " ) . append ( var . columnAliases . get ( 2 ) ) . toString ( ) ; }
produces the select clause of the sql query for the given CQIE