/[fenfire]/fenfire/org/fenfire/swamp/Graphs.java
ViewVC logotype

Diff of /fenfire/org/fenfire/swamp/Graphs.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by mudyc, Wed May 28 16:20:22 2003 UTC revision 1.8 by benja, Thu Jun 5 18:36:19 2003 UTC
# Line 29  package org.fenfire.swamp; Line 29  package org.fenfire.swamp;
29  import org.fenfire.swamp.impl.*;  import org.fenfire.swamp.impl.*;
30  import com.hp.hpl.mesa.rdf.jena.model.*;  import com.hp.hpl.mesa.rdf.jena.model.*;
31  import com.hp.hpl.mesa.rdf.jena.mem.*;  import com.hp.hpl.mesa.rdf.jena.mem.*;
 import com.hp.hpl.mesa.rdf.jena.common.*;  
32  import java.util.Iterator;  import java.util.Iterator;
33    
34  public class Graphs {  public class Graphs {
35      public static boolean dbg = false;      public static boolean dbg = true;
36      public static void p(String s) { System.out.println("swamp.Graphs:: "+s); }      public static void p(String s) { System.out.println("swamp.Graphs:: "+s); }
37    
     final private static String urn5 = //"urn5";  
     "http://www.iana.org/assignments/urn-informal/urn-5";  
   
38      public static Model toModel(ConstGraph g) {      public static Model toModel(ConstGraph g) {
39          try {          try {
40              Model m = new ModelMem();              Model m = new ModelMem();
41              for (Iterator i=g.findN_XAA_Iter(); i.hasNext();) {              for (Iterator i=g.findN_XAA_Iter(); i.hasNext();) {
42                  Object o = i.next();                  Object o = i.next();
43                  //Resource sub = m.createResource("", Nodes.toString(o));                  Resource sub = m.createResource(Nodes.toString(o));
44                  Resource sub = new ResourceImpl(urn5, Nodes.toString(o), m);  
45                    for (Iterator j=g.findN_1XA_Iter(o); j.hasNext();) {
46                  for (Iterator j=g.findN_1XA_Iter(o); j.hasNext();) {                      Object p = j.next();
47                      Object p = j.next();  
48                      Property prop = m.createProperty(urn5, Nodes.toString(p));                      String s0 = Nodes.toString(p);
49                        int i0 = s0.lastIndexOf(':')+1;
50                      for (Iterator k=g.findN_11X_Iter(o,p); k.hasNext();) {                      Property prop = m.createProperty(s0.substring(0, i0),
51                          Object q = k.next();                                                       s0.substring(i0));
52                          if(q instanceof Literal) {        
53                              if (dbg) p("Literal! : "+ q);                      for (Iterator k=g.findN_11X_Iter(o,p); k.hasNext();) {
54                            Object q = k.next();
55                            if(q instanceof Literal) {      
56                                p("Literal! : "+ q);
57                              String s = ((Literal)q).getTextString();                              String s = ((Literal)q).getTextString();
58                              sub.addProperty(prop, s);                              sub.addProperty(prop, s);
59                          } else {                          } else {
60                              if (dbg) p("Resource! : "+ q);                              p("Resource! : "+ q);
61                              //Resource ob = m.createResource("", Nodes.toString(q));                              Resource ob = m.createResource(Nodes.toString(q));
62                              Resource ob = new ResourceImpl(urn5, Nodes.toString(q), m);                              sub.addProperty(prop, o);
63                              sub.addProperty(prop, ob);                          }
64                          }                      }
65                      }                  }
66                  }              }
67              }              return m;
68              if (dbg) m.write(new java.io.PrintWriter(System.out));          } catch(Exception e) {
69              return m;              throw new Error("Exception converting graph "+e);
70          } catch(Exception e) {          }
             throw new Error("Exception converting graph "+e);  
         }  
71      }      }
72    
73      public static Graph toGraph(Model m) {      public static Graph toGraph(Model m) {
74          try {          try {
75              if (dbg) {              if (dbg) {
76                  p("toGraph!");                  p("toGraph!");
77                  StmtIterator j=m.listStatements();                  StmtIterator j=m.listStatements();
78                  while(j.hasNext()) {                  while(j.hasNext()) {
79                      p("And there are: ");                      p("And there are: "+
80                      p("  "+ j.next() );                        ((Statement)j.next()).getString() );
81                  }                  }
                 p("ok?!");  
82              }              }
83    
84              Graph g = new HashGraph();              Graph g = new HashGraph();
85              StmtIterator i=m.listStatements();              StmtIterator i=m.listStatements();
86              while (i.hasNext()) {              while (i.hasNext()) {
87                  Statement s = i.next();                  Statement s = i.next();
88                  Object sub = Nodes.get(s.getSubject().toString());                  Object sub = Nodes.get(s.getSubject().toString());
89                  Object pred = Nodes.get(s.getPredicate().toString());                  Object pred = Nodes.get(s.getPredicate().toString());
90                  if(s.getObject() instanceof com.hp.hpl.mesa.rdf.jena.model.Literal) {                  System.out.println("PRED: '"+s.getPredicate().toString()+"'");
91                      Literal ob = Nodes.getStringLiteral(s.getString());                  if(s.getObject() instanceof com.hp.hpl.mesa.rdf.jena.model.Literal) {
92                  } else {                      Literal ob = Nodes.getStringLiteral(s.getString());
                     Object ob = Nodes.get(s.getObject().toString());  
93                      g.add(sub, pred, ob);                      g.add(sub, pred, ob);
94                  }                      if(!g.contains(sub,pred,ob)) throw new Error();
95              }                  } else {
96              return g;                      Object ob = Nodes.get(s.getObject().toString());
97          } catch(Exception e) {                      g.add(sub, pred, ob);
98              throw new Error("Exception converting graph" + e);                      if(!g.contains(sub,pred,ob)) throw new Error();
99          }                  }
100                }
101                return g;
102            } catch(Exception e) {
103                throw new Error("Exception converting graph");
104            }
105      }      }
106  }  }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26