Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package it.unibz.krdb.obda.owlrefplatform.core.resultset;
  
  /*
   * #%L
   * ontop-reformulation-core
   * %%
   * Copyright (C) 2009 - 2014 Free University of Bozen-Bolzano
   * %%
   * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * #L%
  */
 
 
 import java.util.List;
 
 
 //import com.hp.hpl.jena.sparql.syntax.Template;
 
 public class QuestGraphResultSet implements GraphResultSet {
 
 	private List<List<Assertion>> results = new ArrayList<List<Assertion>>();
 
 
 //	private Template template;
 	
 
 	List <ExtensionElemextList = null;
 	
 	HashMap <StringValueExprextMap = null;
 	
 	//store results in case of describe queries
 	private boolean storeResults = false;
 
 	private OBDADataFactory dfac = OBDADataFactoryImpl.getInstance();
 	private OntologyFactory ofac = OntologyFactoryImpl.getInstance();
 
 			boolean storeResultthrows OBDAException {
 		this. = results;
 		this. = template;
 		this. = storeResult;
 	}
 
 		return ;
 	}
 
 	private void processResultSet(TupleResultSet resSetSesameConstructTemplate template)
 			throws OBDAException {
 		if () {
 			//process current result set into local buffer, 
 			//since additional results will be collected
 			while (resSet.nextRow()) {
 				this..add(processResults(resSettemplate));
 			}
 		}
	}
	public void addNewResultSet(List<Assertionresult)
	{
		.add(result);
	}
//	@Override
//	public Template getTemplate() {
//		return template;
//	}
The method to actually process the current result set Row. Construct a list of assertions from the current result set row. In case of describe it is called to process and store all the results from a resultset. In case of construct it is called upon next, to process the only current result set.
		List<AssertiontripleAssertions = new ArrayList<Assertion>();
		Extension ex = template.getExtension();
		if (ex != null
			{
				HashMap <StringValueExprnewExtMap = new HashMap<StringValueExpr>();
				for (int i = 0; i < .size(); i++) {
					newExtMap.put(.get(i).getName(), .get(i).getExpr());
				}
				 = newExtMap;
			}
		for (ProjectionElemList peList : peLists) {
		int size = peList.getElements().size();
		for (int i = 0; i < size / 3; i++) {
			Constant subjectConstant = getConstant(peList.getElements().get(i*3), result);
			Constant predicateConstant = getConstant(peList.getElements().get(i*3+1), result);
			Constant objectConstant = getConstant(peList.getElements().get(i*3+2), result);
			// Determines the type of assertion
			String predicateName = predicateConstant.getValue();
			if (predicateName.equals(.)) {
				Predicate concept = .getClassPredicate(objectConstant
						(ObjectConstantsubjectConstant);
				tripleAssertions.add(ca);
else {
				if (objectConstant instanceof URIConstant) {
					Predicate role = 
									(ObjectConstantsubjectConstant,
									(ObjectConstantobjectConstant);
					tripleAssertions.add(op);
else if (objectConstant instanceof BNodeConstantImpl) {
					Predicate role = 
									(ObjectConstantsubjectConstant,
									(ObjectConstantobjectConstant);
					tripleAssertions.add(op);
else {
					Predicate attribute = 
							.getDataPropertyPredicate(predicateName);
									(ObjectConstantsubjectConstant,
									(ValueConstantobjectConstant);
					tripleAssertions.add(dp);
				}
			}
		}
		}
		return (tripleAssertions);
	}
	public boolean hasNext() throws OBDAException {
		//in case of describe, we return the collected results list information
		if () {
			return .size() != 0;
else {
			//in case of construct advance the result set cursor on hasNext
		}
	}
	public List<Assertionnext() throws OBDAException {
		//if we collect results, then remove and return the next one in the list
		if (.size() > 0) {
			return .remove(0);
else {
			//otherwise we need to process the unstored result
		}
	}
			throws OBDAException {
		Constant constant = null;
		String node_name = node.getSourceName();
		ValueExpr ve = null;
		if (!= null) {
			ve = .get(node_name);
			if (ve!=null && ve instanceof Var)
				throw new RuntimeException ("Invalid query. Found unbound variable: "+ve);
		}
		if (node_name.charAt(0) == '-') {
			 if (vc.getValue() instanceof URIImpl) {
				 constant = .getConstantURI(vc.getValue().stringValue());
			 } else if (vc.getValue() instanceof LiteralImpl) {
			 } else {
				 constant = .getConstantBNode(vc.getValue().stringValue());
			 }
else {
			constant = resSet.getConstant(node_name);
		}
		return constant;
	}
	public void close() throws OBDAException {
	}
New to GrepCode? Check out our FAQ X