@@ -52,10 +52,10 @@ public Match (Goal goal, LineOfInquiry loi, Question question, DataAdapter dataS
5252 return ;
5353 }
5454
55- this .valid = this .analyseWorkflows ();
55+ this .valid = this .analyzeWorkflows ();
5656 }
5757
58- private boolean analyseWorkflows () {
58+ private boolean analyzeWorkflows () {
5959 boolean isCSV = false ;
6060 List <WorkflowSeed > allSeeds = Stream .concat (loi .getWorkflowSeeds ().stream (), loi .getMetaWorkflowSeeds ().stream ()).collect (Collectors .toList ());
6161 Set <String > reqVariables = new HashSet <String >(), arrayVars = new HashSet <String >(), selectVars = new HashSet <String >();
@@ -143,21 +143,31 @@ public String createQueryTemplate () {
143143 String varName = questionVariables .get (varURI );
144144 if (varNames .contains (varName )) {
145145 boolean writtenVarName = false ;
146- for (String value : vb .getBinding ()) {
146+ List <String > allValues = vb .getBinding ();
147+ for (String value : allValues ) {
147148 if (value != null && !value .equals ("" )) {
148149 String datatype = vb .getDatatype ();
149150 if (!writtenVarName ) {
150- query += "\n VALUES " + varName + " {\n " ;
151+ query += "\n VALUES " + varName + " {" ;
152+ if (allValues .size () > 1 ) {
153+ query += "\n " ;
154+ }
151155 writtenVarName = true ;
152156 }
153157 if (datatype != null && datatype .endsWith ("anyURI" )) {
154- query += " <" + value + ">\n " ;
158+ query += " <" + value + ">" ;
155159 } else {
156- query += " \" " + value + "\" \n " ;
160+ query += " \" " + value + "\" " ;
161+ }
162+ if (allValues .size () > 1 ) {
163+ query += "\n " ;
157164 }
158165 }
159166 }
160167 if (writtenVarName ) {
168+ if (allValues .size () > 1 ) {
169+ query += " " ;
170+ }
161171 query += "}" ;
162172 }
163173 }
@@ -245,12 +255,12 @@ private List<WorkflowInstantiation> createWorkflowInstance (WorkflowSeed seed) {
245255 int count = 0 , splitSize = filteredResults .size ()/runs ;
246256 for (DataResult cell : filteredResults ) {
247257 count += 1 ;
258+ lastList .add (cell );
248259 if (count >= splitSize ) {
249260 count = 0 ;
250261 independentResults .add (lastList );
251262 lastList = new ArrayList <DataResult >();
252263 }
253- lastList .add (cell );
254264 }
255265
256266 List <WorkflowInstantiation > inst = new ArrayList <WorkflowInstantiation >();
@@ -260,7 +270,7 @@ private List<WorkflowInstantiation> createWorkflowInstance (WorkflowSeed seed) {
260270 for (VariableBinding varB : Stream .concat (seed .getInputs ().stream (), seed .getParameters ().stream ()).collect (Collectors .toList ())) {
261271 // These only have one value
262272 String wfBiding = varB .getBinding ().get (0 );
263- VariableBinding newDatabinding = new VariableBinding (varB );
273+ VariableBinding newDataBinding = new VariableBinding (varB );
264274 List <String > newBindingValues = new ArrayList <String >();
265275 if (wfBiding .equals (SPECIAL .CSV )) {
266276 newBindingValues .add (csvURL );
@@ -283,8 +293,8 @@ private List<WorkflowInstantiation> createWorkflowInstance (WorkflowSeed seed) {
283293 }
284294 }
285295 if (newBindingValues .size () > 0 ) {
286- newDatabinding .setBinding (newBindingValues );
287- dataBindings .add (newDatabinding );
296+ newDataBinding .setBinding (newBindingValues );
297+ dataBindings .add (newDataBinding );
288298 }
289299 }
290300 current .setDataBindings (dataBindings );
0 commit comments