// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/server/util/DescriptionsFactory.java
// public class DescriptionsFactory {
// 	
// 	public static SubjectDescription getSubjectDescription(QuerySolution querySolution){
// 		SubjectDescription subjectDescription = new  SubjectDescription();
// 		if(querySolution.get("p").isLiteral()){
// 			subjectDescription.setPredicate(
// 					new RDFLiteral(querySolution.getLiteral("p").getDatatypeURI(),
// 							querySolution.getLiteral("p").getLexicalForm(),querySolution.getLiteral("o").toString()));
// 		} else {
// 			subjectDescription.setPredicate(
// 					new RDFResource(querySolution.getResource("p").getLocalName(),
// 							querySolution.getResource("p").getNameSpace(),
// 							querySolution.getResource("p").getURI()));
// 		}
// 		if(querySolution.get("o").isLiteral()){
// 			subjectDescription.setObject(
// 					new RDFLiteral(querySolution.getLiteral("o").getDatatypeURI(),
// 							querySolution.getLiteral("o").getLexicalForm(),querySolution.getLiteral("o").toString()));
// 		} else {
// 			subjectDescription.setObject(
// 					new RDFResource(querySolution.getResource("o").getLocalName(),
// 							querySolution.getResource("o").getNameSpace(),
// 							querySolution.getResource("o").getURI()));
// 		}
// 		return subjectDescription;
// 	}
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/SubjectDescription.java
// public class SubjectDescription implements Serializable {
// 
// 	//private String predicate;
// 	//private String object;
// 	
// 	private BasicRDFInformation predicate;
// 	private BasicRDFInformation object;
// 	
// 	public SubjectDescription() {
// 		// for serialization
// 	}
// 
// 	public BasicRDFInformation getPredicate() {
// 		return predicate;
// 	}
// 
// 	public void setPredicate(BasicRDFInformation predicate) {
// 		this.predicate = predicate;
// 	}
// 
// 	public BasicRDFInformation getObject() {
// 		return object;
// 	}
// 
// 	public void setObject(BasicRDFInformation object) {
// 		this.object = object;
// 	}
// 
// }


import java.util.ArrayList;
import java.util.List;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.vocabulary.RDFS;
import es.upm.fi.dia.oeg.map4rdf.server.dao.DaoException;
import es.upm.fi.dia.oeg.map4rdf.server.util.DescriptionsFactory;
import es.upm.fi.dia.oeg.map4rdf.share.BoundingBox;
import es.upm.fi.dia.oeg.map4rdf.share.SubjectDescription;
package es.upm.fi.dia.oeg.map4rdf.server.dao.impl;




/**
 * @author Filip
 */
public class CommonDaoImpl {
	
	protected final String endpointUri;
	
	public CommonDaoImpl(String endpointUri) {
		this.endpointUri = endpointUri;
	}
	
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/server/util/DescriptionsFactory.java
// public class DescriptionsFactory {
// 	
// 	public static SubjectDescription getSubjectDescription(QuerySolution querySolution){
// 		SubjectDescription subjectDescription = new  SubjectDescription();
// 		if(querySolution.get("p").isLiteral()){
// 			subjectDescription.setPredicate(
// 					new RDFLiteral(querySolution.getLiteral("p").getDatatypeURI(),
// 							querySolution.getLiteral("p").getLexicalForm(),querySolution.getLiteral("o").toString()));
// 		} else {
// 			subjectDescription.setPredicate(
// 					new RDFResource(querySolution.getResource("p").getLocalName(),
// 							querySolution.getResource("p").getNameSpace(),
// 							querySolution.getResource("p").getURI()));
// 		}
// 		if(querySolution.get("o").isLiteral()){
// 			subjectDescription.setObject(
// 					new RDFLiteral(querySolution.getLiteral("o").getDatatypeURI(),
// 							querySolution.getLiteral("o").getLexicalForm(),querySolution.getLiteral("o").toString()));
// 		} else {
// 			subjectDescription.setObject(
// 					new RDFResource(querySolution.getResource("o").getLocalName(),
// 							querySolution.getResource("o").getNameSpace(),
// 							querySolution.getResource("o").getURI()));
// 		}
// 		return subjectDescription;
// 	}
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/SubjectDescription.java
// public class SubjectDescription implements Serializable {
// 
// 	//private String predicate;
// 	//private String object;
// 	
// 	private BasicRDFInformation predicate;
// 	private BasicRDFInformation object;
// 	
// 	public SubjectDescription() {
// 		// for serialization
// 	}
// 
// 	public BasicRDFInformation getPredicate() {
// 		return predicate;
// 	}
// 
// 	public void setPredicate(BasicRDFInformation predicate) {
// 		this.predicate = predicate;
// 	}
// 
// 	public BasicRDFInformation getObject() {
// 		return object;
// 	}
// 
// 	public void setObject(BasicRDFInformation object) {
// 		this.object = object;
// 	}
// 
// }


// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/server/dao/impl/CommonDaoImpl.java
import java.util.ArrayList;
import java.util.List;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.vocabulary.RDFS;
import es.upm.fi.dia.oeg.map4rdf.server.dao.DaoException;
import es.upm.fi.dia.oeg.map4rdf.server.util.DescriptionsFactory;
import es.upm.fi.dia.oeg.map4rdf.share.BoundingBox;
import es.upm.fi.dia.oeg.map4rdf.share.SubjectDescription;

package es.upm.fi.dia.oeg.map4rdf.server.dao.impl;




/**
 * @author Filip
 */
public class CommonDaoImpl {
	
	protected final String endpointUri;
	
	public CommonDaoImpl(String endpointUri) {
		this.endpointUri = endpointUri;
	}
	
	public List<SubjectDescription> getSubjectDescription(String subject)