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 |
|
|
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 |
|
|