diff src/de/mpiwg/itgroup/nimanager/owl/TripleStoreHandler.java @ 2:e3ecb88314a5

minor bugs ontologies added
author dwinter
date Fri, 02 Dec 2011 08:37:03 +0100
parents 1384a0d382fa
children
line wrap: on
line diff
--- a/src/de/mpiwg/itgroup/nimanager/owl/TripleStoreHandler.java	Thu Jun 30 12:43:35 2011 +0200
+++ b/src/de/mpiwg/itgroup/nimanager/owl/TripleStoreHandler.java	Fri Dec 02 08:37:03 2011 +0100
@@ -14,6 +14,7 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -45,6 +46,7 @@
 import com.hp.hpl.jena.vocabulary.OWL;
 
 import de.mpiwg.itgroup.nimanager.exceptions.TripleStoreHandlerException;
+import de.mpiwg.itgroup.nimanager.owl.TripleStoreHandler.Quadruple;
 
 
 import edu.stanford.smi.protege.widget.StringListWidget;
@@ -61,6 +63,66 @@
 
 public class TripleStoreHandler {
 
+	
+	public static class Quadruple {
+		String subj;
+		String pred;
+		Object obj;
+		String ctx;
+		
+		public String getSubj() {
+			return subj;
+		}
+
+		public String getPred() {
+			return pred;
+		}
+
+		public Object getObj() {
+			return obj;
+		}
+
+		public String getCtx() {
+			return ctx;
+		}
+
+	
+		
+		public Quadruple(String s, String p, String o,String c){
+			subj=s;
+			pred=p;
+			obj=o;
+			ctx=c;
+		}
+		
+		
+		public Quadruple(String s, String p, Value o,String c){
+			subj=s;
+			pred=p;
+			obj=o;
+			ctx=c;
+		}
+		
+		public String toString(){
+			return String.format("%s  %s  %s  %s.", subj,pred,obj,ctx);
+		}
+		
+		
+	}
+	
+	public static class LiteralQuadruple  extends Quadruple{
+		String subj;
+		String pred;
+		Object obj;
+		String ctx;
+			
+		public LiteralQuadruple(String s, String p, String o,String c){
+			super(s,p,o,c);
+			
+			
+		}
+		
+	}
 	public static String ONTOLOGY_NS="http://ontologies.mpiwg-berlin.mpg.de/authorities/namedIdentities/";
 	private boolean save=true; // wenn false dann schreibt write nicht ins repositorium.
 	
@@ -89,7 +151,7 @@
 		repository = new VirtuosoRepository(url, username, password);
 		try {
 			Class.forName("virtuoso.jdbc4.Driver");
-			String connectString = "jdbc:virtuoso://virtuoso.mpiwg-berlin.mpg.de:1111/charset=UTF-8";
+			String connectString = url+"/charset=UTF-8";
 			this.sqlCon = DriverManager.getConnection(connectString, username,
 					password);
 		} catch (Exception e) {
@@ -233,7 +295,7 @@
 		return createUri(repository, subj);
 	}
 	
-	public Value createLiteral(String subj){
+	public  Value createLiteral(String subj){
 		return repository.getValueFactory().createLiteral(subj);
 	}
 	
@@ -358,7 +420,25 @@
 		con.close();
 		}
 	}
+	
+	public void write(Quadruple q) throws RepositoryException{
+		if (LiteralQuadruple.class.isInstance(q)){
+			write(q.getSubj(),q.getPred(),createLiteral((String)q.getObj()),q.getCtx());
+		} else {
+			if (String.class.isInstance(q.getObj())){
+				write(q.getSubj(),q.getPred(),(String)q.getObj(),q.getCtx());}
+			else {
+				write(q.getSubj(),q.getPred(),(Value)q.getObj(),q.getCtx());}
+				
+		}	
+	}	
 
+	public void write(List<Quadruple> annots) throws RepositoryException {
+		for(Quadruple q:annots){
+			write(q);
+		}
+		
+	}
 	public void exportCtx(String ctx, File file) throws RepositoryException, RDFHandlerException, IOException{
 		
 		RepositoryConnection conn = repository.getConnection();
@@ -371,6 +451,7 @@
         conn.close();
 	}
 	
+
 	public static void main(String args[]) throws RepositoryException, RDFHandlerException, IOException, TripleStoreHandlerException{
 		TripleStoreHandler th = new TripleStoreHandler("jdbc:virtuoso://virtuoso.mpiwg-berlin.mpg.de:1111", "dba", "dba");
 		//th.exportCtx("http://import", new File("/tmp/out.rdf"));