view src/de/mpiwg/itgroup/triplestoremanager/tools/GenerateLandingPage.java @ 3:6c8dac2c5214

New tools export graph and generate landing page of an echo ressource
author dwinter
date Thu, 21 Jun 2012 12:24:29 +0200
parents
children
line wrap: on
line source

package de.mpiwg.itgroup.triplestoremanager.tools;

import java.io.FileWriter;
import java.io.IOException;

import org.openrdf.model.Resource;
import org.openrdf.model.Statement;
import org.openrdf.model.Value;
import org.openrdf.model.impl.ContextStatementImpl;
import org.openrdf.model.impl.URIImpl;
import org.openrdf.query.Binding;
import org.openrdf.query.BindingSet;
import org.openrdf.query.MalformedQueryException;
import org.openrdf.query.QueryEvaluationException;
import org.openrdf.query.TupleQueryResult;
import org.openrdf.rio.RDFHandlerException;
import org.openrdf.rio.trig.TriGWriter;

import de.mpiwg.itgroup.triplestoremanager.exceptions.TripleStoreHandlerException;
import de.mpiwg.itgroup.triplestoremanager.owl.TripleStoreHandler;

public class GenerateLandingPage {

	/**
	 * @param args
	 */

		public static void main(String args[]) throws TripleStoreHandlerException, MalformedQueryException, QueryEvaluationException, RDFHandlerException, IOException {
			//TripleStoreHandler th = new TripleStoreHandler(
			//		"jdbc:virtuoso://virtuoso.mpiwg-berlin.mpg.de:1112", args[0], args[1]);
			
			
			FileWriter fw = new FileWriter("/tmp/lp.ttl");
			TriGWriter turtleWriter = new TriGWriter(fw);
			turtleWriter.startRDF();
			if  (args.length<3){
				System.out.println("Usage: connection String user password");
				System.out.println("eg: jdbc:virtuoso://virtuoso.mpiwg-berlin.mpg.de:1111 user password");
				System.exit(1);
			}
			TripleStoreHandler th = new TripleStoreHandler(
							args[0], args[1], args[2]);
		
			String qs = String.format("select ?entity where {?entity a <http://ontologies.mpiwg-berlin.mpg.de/general/IndexMeta>}");
			
			TupleQueryResult res = th.querySPARQL(qs);
	         
			
			while(res.hasNext()){
				BindingSet bs = res.next();
				Binding entity = bs.getBinding("entity");
			
				URIImpl y = new URIImpl("http://ontologies.mpiwg-berlin.mpg.de/general/hasLandingPage");
				URIImpl z =(URIImpl)entity.getValue();
				URIImpl z2= new URIImpl(z.toString().replace("/indexMeta", ""));
				
				URIImpl g = new URIImpl("http://indexMeta_ECHOE_landingPages");
				
				Statement stm = new ContextStatementImpl((Resource)entity.getValue(), y, z2,g);
			
				turtleWriter.handleStatement(stm);
			}
			turtleWriter.endRDF();
			fw.close();
		}
}