changeset 1511:f1c062f3b227

rdflib upgrade Ignore-this: 299dba7405bf435dcd432fd49081a0f8
author Drew Perttula <drewp@bigasterisk.com>
date Thu, 30 Mar 2017 05:22:48 +0000
parents 4dfabfadd92f
children 3693b226b0b8
files light9/rdfdb/rdflibpatch.py requirements.txt
diffstat 2 files changed, 12 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/light9/rdfdb/rdflibpatch.py	Thu Mar 30 05:07:02 2017 +0000
+++ b/light9/rdfdb/rdflibpatch.py	Thu Mar 30 05:22:48 2017 +0000
@@ -7,7 +7,7 @@
     sys.path = sys.path[1:]
 
 import unittest
-from rdflib import ConjunctiveGraph, Graph, URIRef as U
+from rdflib import ConjunctiveGraph, Graph, URIRef as U, Literal
 
 def patchQuads(graph, deleteQuads, addQuads, perfect=False):
     """
@@ -73,9 +73,15 @@
     g1.parse(data=text, format='nquads')
     return g1
 
-from rdflib.plugins.serializers.nt import _xmlcharref_encode
+from rdflib.plugins.serializers.nt import _quoteLiteral
 def serializeQuad(g):
-    """replacement for graph.serialize(format='nquads')"""
+    """
+    replacement for graph.serialize(format='nquads')
+
+    Still broken in rdflib 4.2.2: graph.serialize(format='nquads')
+    returns empty string for my graph in
+    TestGraphFromQuads.testSerializes.
+    """
     out = []
     for s,p,o,c in g.quads((None,None,None)):
         if isinstance(c, Graph):
@@ -84,9 +90,10 @@
             c = c.identifier
         if '[' in c.n3():
             import ipdb;ipdb.set_trace()
+        ntObject = _quoteLiteral(o) if isinstance(o, Literal) else o.n3()
         out.append(u"%s %s %s %s .\n" % (s.n3(),
                                      p.n3(),
-                                     _xmlcharref_encode(o.n3()),
+                                     ntObject,
                                      c.n3()))
     return ''.join(out)
 
--- a/requirements.txt	Thu Mar 30 05:07:02 2017 +0000
+++ b/requirements.txt	Thu Mar 30 05:22:48 2017 +0000
@@ -1,4 +1,4 @@
-rdflib==4.1.2
+rdflib==4.2.2
 Twisted==17.1.0
 webcolors==1.7
 Louie==1.1