/[fenfire]/fenfire/org/fenfire/swamp/writer.py
ViewVC logotype

Diff of /fenfire/org/fenfire/swamp/writer.py

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

revision 1.3 by benja, Fri Sep 5 09:59:56 2003 UTC revision 1.4 by benja, Fri Sep 5 10:13:33 2003 UTC
# Line 44  hardcoded_prefixes = { Line 44  hardcoded_prefixes = {
44  }  }
45    
46    
47  def write(graph, file):  def write(graph, filename):
48      """      """
49      Write a ConstGraph to a file and close that file.      Write a ConstGraph to a file, given the filename.
   
     The file can also be a Java Writer-- the interface used  
     is simply ``file.write(string)`` and ``file.close()``.  
50      """      """
51    
52        out = ""
53            
54      (triples, namespace_uris) = readTriples(graph)      (triples, namespace_uris) = readTriples(graph)
55    
# Line 58  def write(graph, file): Line 57  def write(graph, file):
57      prefixes = uriByPrefix.keys()      prefixes = uriByPrefix.keys()
58      prefixes.sort()      prefixes.sort()
59    
60      file.write("<rdf:RDF\n")      out = out + ("<rdf:RDF\n")
61      for prefix in prefixes:      for prefix in prefixes:
62          file.write("  xmlns:%s='%s'\n" % (prefix, escape(uriByPrefix[prefix])))          out = out + ("  xmlns:%s='%s'\n" % (prefix, escape(uriByPrefix[prefix])))
63      file.write(">\n\n")      out = out + (">\n\n")
64    
65      subjects = triples.keys(); subjects.sort()      subjects = triples.keys(); subjects.sort()
66      for subject in subjects:      for subject in subjects:
67          file.write("  <rdf:Description rdf:about='%s'>\n" % escape(subject))          out = out + ("  <rdf:Description rdf:about='%s'>\n" % escape(subject))
68          for property in triples[subject].keys():          for property in triples[subject].keys():
69              (namespace_uri, local_name) = property              (namespace_uri, local_name) = property
70              prop_tag = "%s:%s" % (prefixByURI[namespace_uri], local_name)              prop_tag = "%s:%s" % (prefixByURI[namespace_uri], local_name)
71              for (object_type, object_str) in triples[subject][property]:              for (object_type, object_str) in triples[subject][property]:
72                  if object_type == URI:                  if object_type == URI:
73                      file.write("    <%s rdf:resource='%s'/>\n" %                      out = out + ("    <%s rdf:resource='%s'/>\n" %
74                                 (prop_tag, escape(object_str)))                                   (prop_tag, escape(object_str)))
75                  else:                  else:
76                      file.write("    <%s>%s</%s>\n" %                      out = out + ("    <%s>%s</%s>\n" %
77                                 (prop_tag, escape(object_str), prop_tag))                                   (prop_tag, escape(object_str), prop_tag))
78    
79          file.write("  </rdf:Description>\n\n")          out = out + ("  </rdf:Description>\n\n")
80                                            
81    
82      file.write("</rdf:RDF>\n")      out = out + ("</rdf:RDF>\n")
83        file = open(filename, 'w')
84        file.write(out)
85      file.close()      file.close()
86    
87    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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