def _nq_row(triple, context): if isinstance(triple[2], Literal): return u"%s %s %s %s .\n" % ( triple[0].n3(), triple[1].n3(), _xmlcharref_encode(_quoteLiteral(triple[2])), context.n3()) else: return u"%s %s %s %s .\n" % (triple[0].n3(), triple[1].n3(), _xmlcharref_encode( triple[2].n3()), context.n3())
def _nq_row(triple,context): if isinstance(triple[2], Literal): return u"%s %s %s %s .\n" % (triple[0].n3(), triple[1].n3(), _xmlcharref_encode(_quoteLiteral(triple[2])), context.n3()) else: return u"%s %s %s %s .\n" % (triple[0].n3(), triple[1].n3(), _xmlcharref_encode(triple[2].n3()), context.n3())
def add(self, xxx_todo_changeme1, context=None): """Add a triple with optional context""" (s, p, o) = xxx_todo_changeme1 url = self.url + '/statements' ctx = context or self.context if ctx: url = url + "?" + urlencode(dict(context=ctx)) req = Request(url) # req.data = "%s %s %s .\n" % ( # s.n3(), p.n3(), _xmlcharref_encode(o.n3())) req.data = "<%s> %s %s .\n" % (_xmlcharref_encode( unicode(s)), p.n3(), _xmlcharref_encode(o.n3())) req.add_header('Content-Type', 'text/rdf+n3') try: result = urlopen(req).read() except HTTPError, e: if e.code == 204: return else: log.error(e)
def add(self, xxx_todo_changeme1, context=None): """Add a triple with optional context""" (s, p, o) = xxx_todo_changeme1 url = self.url + '/statements' ctx = context or self.context if ctx: url = url + "?" + urlencode(dict(context=ctx)) req = Request(url) # req.data = "%s %s %s .\n" % ( # s.n3(), p.n3(), _xmlcharref_encode(o.n3())) req.data = "<%s> %s %s .\n" % ( _xmlcharref_encode(unicode(s)), p.n3(), _xmlcharref_encode(o.n3())) req.add_header('Content-Type', 'text/rdf+n3') try: result = urlopen(req).read() except HTTPError, e: if e.code == 204: return else: log.error(e)
def serializeQuad(g): """replacement for graph.serialize(format='nquads')""" out = [] for s,p,o,c in g.quads((None,None,None)): if isinstance(c, Graph): # still not sure why this is Graph sometimes, # already URIRef other times c = c.identifier if '[' in c.n3(): import ipdb;ipdb.set_trace() out.append(u"%s %s %s %s .\n" % (s.n3(), p.n3(), _xmlcharref_encode(o.n3()), c.n3())) return ''.join(out)
def _statement_encode(self, xxx_todo_changeme, context): """helper function to encode triples to sesame statement uri's""" (s, p, o) = xxx_todo_changeme query = {} url = self.url + '/statements' if s: query['subj'] = s.n3().encode('utf8') if p: query['pred'] = p.n3() if o: query['obj'] = _xmlcharref_encode(o.n3()) # o.n3() # quote_plus(o.n3().encode("utf-8")) if context: # TODO FIXME what about bnodes like _:adf23123 query['context'] = "<%s>" % context if query: url = url + "?" + urlencode(query) return url
#quote_plus(o.n3().encode("utf-8")) if context: ### TODO FIXME what about bnodes like _:adf23123 query['context'] = "<%s>"%context if query: url = url+"?"+urlencode(query) return url def add(self, (s, p, o), context=None): """Add a triple with optional context""" url = self.url+'/statements' ctx = context or self.context if ctx: url = url+"?"+urlencode(dict(context=ctx)) req = Request(url) req.data = "%s %s %s .\n" % (s.n3(), p.n3(), _xmlcharref_encode(o.n3())) req.add_header('Content-Type','text/rdf+n3') try: result = urlopen(req).read() except HTTPError, e: if e.code == 204: return else: log.error(e) return result def remove(self, (s, p, o), context=None): """Remove a triple from the graph If the triple does not provide a context attribute, removes the triple from all contexts.
def _nq_row(triple, context): return u"%s %s %s %s .\n" % (triple[0].n3(), triple[1].n3(), _xmlcharref_encode( triple[2].n3()), context.n3())
def _nq_row(triple,context): return u"%s %s %s %s .\n" % (triple[0].n3(), triple[1].n3(), _xmlcharref_encode(triple[2].n3()), context.n3())
if context: ### TODO FIXME what about bnodes like _:adf23123 query["context"] = "<%s>" % context if query: url = url + "?" + urlencode(query) return url def add(self, (s, p, o), context=None): """Add a triple with optional context""" url = self.url + "/statements" ctx = context or self.context if ctx: url = url + "?" + urlencode(dict(context=ctx)) req = Request(url) # req.data = "%s %s %s .\n" % (s.n3(), p.n3(), _xmlcharref_encode(o.n3())) req.data = "<%s> %s %s .\n" % (_xmlcharref_encode(unicode(s)), p.n3(), _xmlcharref_encode(o.n3())) req.add_header("Content-Type", "text/rdf+n3") try: result = urlopen(req).read() except HTTPError, e: if e.code == 204: return else: log.error(e) return result def remove(self, (s, p, o), context=None): """Remove a triple from the graph If the triple does not provide a context attribute, removes the triple from all contexts.