package org.hadatac.entity.pojo; import java.util.List; import org.apache.jena.query.Query; import org.apache.jena.query.QueryExecution; import org.apache.jena.query.QueryExecutionFactory; import org.apache.jena.query.QueryFactory; import org.apache.jena.query.QuerySolution; import org.apache.jena.query.ResultSet; import org.apache.jena.query.ResultSetFactory; import org.apache.jena.query.ResultSetRewindable; import org.apache.jena.rdf.model.Model; import org.hadatac.utils.NameSpaces; public class Dataset { private String localName; private String ccsvUri; private String uri; private List<MeasurementType> measurementTypes; public List<MeasurementType> getMeasurementTypes() { return measurementTypes; } public void setMeasurementTypes(List<MeasurementType> types) { this.measurementTypes = types; } public String getUri() { return uri; } public void setUri(String uri) { this.uri = uri; } public Dataset() { } public String getCcsvUri() { return ccsvUri; } public void setCcsvUri(String ccsvUri) { this.ccsvUri = ccsvUri; } public String getLocalName() { return localName; } public void setLocalName(String localName) { this.localName = localName; } public static Dataset find(Model model) { String queryString = NameSpaces.getInstance().printSparqlNameSpaceList() + "SELECT ?ds WHERE {\n" + " ?ds a vstoi:Dataset .\n" + "}"; Query query = QueryFactory.create(queryString); QueryExecution qexec = QueryExecutionFactory.create(query, model); ResultSet results = qexec.execSelect(); ResultSetRewindable resultsrw = ResultSetFactory.copyResults(results); if (resultsrw.size() >= 1) { QuerySolution soln = resultsrw.next(); Dataset dataset = new Dataset(); dataset.setLocalName(soln.getResource("ds").getLocalName()); dataset.setCcsvUri(soln.getResource("ds").getURI()); return dataset; } return null; } }