package org.bbaw.wsp.cms.test;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import org.bbaw.wsp.cms.mdsystem.metadata.general.extractor.factory.MetadataExtractorFactory;
import org.bbaw.wsp.cms.mdsystem.metadata.rdfmanager.fuseki.FusekiClient;
import org.bbaw.wsp.cms.mdsystem.metadata.rdfmanager.fuseki.SparQlStore;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException;
/**
* Several tests of the {@link FusekiHandler}.
* @author Sascha Feldmann (wsp-shk1)
*
*/
public class TestFusekiServerHandler {
public static void main(String[] args) throws ApplicationException, MalformedURLException, IOException {
// eraseDataset();
// putEdocRdfsToServer();
// executeQueries();
executeQueriesWithDefaultGraph();
}
private static void executeQueriesWithDefaultGraph() {
final String url = "http://localhost:3030/ds";
String defaultGraph = "";
// String defaultGraph = "http://edoc.bbaw.de/volltexte/2006/1/pdf/29kstnGPLz2IM.pdf";
String selectQuery = SparQlStore.SELECT_DEFAULT.getSelectQueryString("*", "", "?s ?p ?o");
ResultSet results = FusekiClient.getInstance().performSelect(url, selectQuery, defaultGraph );
// Model m = results.getResourceModel();
ResultSetFormatter.out(results);
}
//
private static void executeQueries() {
final String url = "http://localhost:3030/ds";
String query = SparQlStore.SELECT_NAMED.getSelectQueryString("*", "http://edoc.bbaw.de/volltexte/2006/1/pdf/29kstnGPLz2IM.pdf", "?s ?p ?o");
ResultSet results = FusekiClient.getInstance().performSelect(url, query);
// ResultSet results = FusekiHandler.getInstance().executeSelectQuery(url, "SELECT * { ?s ?p ?o }");
// ResultSet results = FusekiServerHandler.getInstance().executeSelectQuery(url, "SELECT * { ?s ?p ?o FILTER(STR(?o) = \"Englisch\" )}");
ResultSetFormatter.out(results);
}
private static void eraseDataset() {
final String url = "http://localhost:3030/ds";
String command = SparQlStore.CLEAR_DATASET.getUpdateCommandString();
FusekiClient.getInstance().performUpdate(url, command);
}
private static void putEdocRdfsToServer() throws ApplicationException, MalformedURLException, IOException {
final String url = "http://localhost:3030/ds";
final String eDocDir = "C:/Dokumente und Einstellungen/wsp-shk1/Eigene Dateien/ParserTest/XSLTTest/outputs/eDocToRdfTest";
for (File f : new File(eDocDir).listFiles()) {
System.out.println("adding model from file: "+f);
Model model = ModelFactory.createDefaultModel();
model.read(f.toURL().openStream(), null);
String modelName = MetadataExtractorFactory.newRdfMetadataParser(f.toString()).getXmlBaseValue();
FusekiClient.getInstance().putModel(url, model , modelName );
}
}
}