/* * Created on 12.02.2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package test; import java.io.IOException; import java.util.Vector; import org.openrdf.model.Value; import org.openrdf.model.impl.GraphImpl; import org.openrdf.model.impl.URIImpl; import org.openrdf.sesame.Sesame; import org.openrdf.sesame.config.AccessDeniedException; import org.openrdf.sesame.config.ConfigurationException; import org.openrdf.sesame.config.UnknownRepositoryException; import org.openrdf.sesame.constants.QueryLanguage; import org.openrdf.sesame.query.MalformedQueryException; import org.openrdf.sesame.query.QueryEvaluationException; import org.openrdf.sesame.query.QueryResultsTable; import org.openrdf.sesame.repository.SesameRepository; import org.openrdf.sesame.repository.SesameService; import org.openrdf.vocabulary.RDF; /** * @author mei * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class remote { static boolean flag = true; public static void main(String[] args) throws UnknownRepositoryException, ConfigurationException, QueryEvaluationException, IOException, MalformedQueryException, AccessDeniedException { long startTime = System.currentTimeMillis(); System.out.println("start: " + startTime); java.net.URL sesameServerURL = new java.net.URL("http://"); // please write down the URL of the Sesame Server SesameService service = Sesame.getService(sesameServerURL); service.login("***", "****"); // please write down the login name and password //SesameRepository myInRepository = service.getRepository("rdbms-rdf-db"); SesameRepository myInRepository = service.getRepository("rdbms-rdfs-db"); String queryImp = "select rule, head, body from {rule} rdf:type {swrl:Imp}, {rule} swrl:head {head}, {rule} swrl:body {body} using namespace swrl = "; QueryResultsTable tImp = myInRepository.performTableQuery(QueryLanguage.SERQL, queryImp); int rowCount = tImp.getRowCount(); int num=0; while (flag) { flag = false; num++; System.out.println("******* hi... i am running *******###"+num+"'###"); for (int row = 0; row {"+getID(atom[2])+"}, "); } else { query = query.concat("{"+getID(atom[1])+"} rdf:type {<"+atom[0]+">}, "); } } query = query.substring(0, query.length()-2); for (i=0; i AND p=<"+pre+"> AND o=<"+obj+">"; tHead = myInRepository.performTableQuery(QueryLanguage.SERQL, qHead); if (tHead.getRowCount()==0) { flag=true; result.add(sub,pre,obj); System.out.println(sub.toString()+" *** "+pre.toString()+" *** "+obj.toString()); } } } else { s = varList.indexOf(atom[1]); for (row=0; row AND p=<"+pre+"> AND o=<"+obj+">"; tHead = myInRepository.performTableQuery(QueryLanguage.SERQL, qHead); if (tHead.getRowCount()==0) { flag = true; result.add(sub,pre,obj); System.out.println(sub.toString()+" *** "+pre.toString()+" *** "+obj.toString()); } } } } myInRepository.addGraph(result); } public static String getID(Object str){ String temp = str.toString(); temp = temp.substring(temp.lastIndexOf("#")+1); return temp; } public static String[] findAtom(String atom, SesameRepository myInRepository) throws QueryEvaluationException, IOException, MalformedQueryException, AccessDeniedException { String qAtom = "select arg1, arg2, property, class from {a} swrl:argument1 {arg1}; [swrl:argument2 {arg2}]; [swrl:propertyPredicate {property}]; [swrl:classPredicate {class}] where a like \""+atom+"\" using namespace swrl = "; QueryResultsTable tAtom = myInRepository.performTableQuery(QueryLanguage.SERQL, qAtom); String[] triple = new String[3]; if (tAtom.getValue(0,2) != null) { triple[0] = tAtom.getValue(0,2).toString(); triple[1] = tAtom.getValue(0,0).toString(); triple[2] = tAtom.getValue(0,1).toString(); } else if (tAtom.getValue(0,3) != null) { triple[0] = tAtom.getValue(0,3).toString(); triple[1] = tAtom.getValue(0,0).toString(); triple[2] = "null"; } else { //triple[0] = "troublesome"; triple[1] = tAtom.getValue(0,0).toString(); triple[2] = tAtom.getValue(0,1).toString(); String qEq = "select * from {a} rdf:type {c} where a like \""+atom+"\"" ; QueryResultsTable tEq = myInRepository.performTableQuery(QueryLanguage.SERQL, qEq); for (int row=0; row