Mercurial > hg > NamedIdentityManager
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"));