Mercurial > code > home > repos > homeauto
diff service/mqtt_to_rdf/inference_test.py @ 1595:413a280828bf
extract module of rdflib output patches
author | drewp@bigasterisk.com |
---|---|
date | Sun, 05 Sep 2021 01:51:49 -0700 |
parents | e58bcfa66093 |
children | abbf0eb0e640 |
line wrap: on
line diff
--- a/service/mqtt_to_rdf/inference_test.py Sun Sep 05 01:15:55 2021 -0700 +++ b/service/mqtt_to_rdf/inference_test.py Sun Sep 05 01:51:49 2021 -0700 @@ -8,57 +8,9 @@ from rdflib.parser import StringInputSource from inference import Inference, parseList - - -def patchSlimReprs(): - import rdflib.term - - def ur(self): - clsName = "U" if self.__class__ is rdflib.term.URIRef else self.__class__.__name__ - return """%s(%s)""" % (clsName, super(rdflib.term.URIRef, self).__repr__()) - - rdflib.term.URIRef.__repr__ = ur - - def br(self): - clsName = "BNode" if self.__class__ is rdflib.term.BNode else self.__class__.__name__ - return """%s(%s)""" % (clsName, super(rdflib.term.BNode, self).__repr__()) - - rdflib.term.BNode.__repr__ = br - - def vr(self): - clsName = "V" if self.__class__ is rdflib.term.Variable else self.__class__.__name__ - return """%s(%s)""" % (clsName, super(rdflib.term.Variable, self).__repr__()) - - rdflib.term.Variable.__repr__ = vr - +from rdflib_debug_patches import patchSlimReprs, patchBnodeCounter patchSlimReprs() - - -def patchBnodeCounter(): - import rdflib.term - serial = itertools.count() - - def n(cls, value=None, _sn_gen='', _prefix='') -> BNode: - if value is None: - value = 'N-%s' % next(serial) - return rdflib.term.Identifier.__new__(cls, value) - - rdflib.term.BNode.__new__ = n - - import rdflib.plugins.parsers.notation3 - - def newBlankNode(self, uri=None, why=None): - if uri is None: - self.counter += 1 - bn = BNode('f-%s-%s' % (self.number, self.counter)) - else: - bn = BNode(uri.split('#').pop().replace('_', 'b')) - return bn - - rdflib.plugins.parsers.notation3.Formula.newBlankNode = newBlankNode - - patchBnodeCounter() EX = Namespace('http://example.com/')