Mercurial > code > home > repos > homeauto
comparison 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 |
comparison
equal
deleted
inserted
replaced
1594:e58bcfa66093 | 1595:413a280828bf |
---|---|
6 | 6 |
7 from rdflib import RDF, BNode, ConjunctiveGraph, Graph, Literal, Namespace | 7 from rdflib import RDF, BNode, ConjunctiveGraph, Graph, Literal, Namespace |
8 from rdflib.parser import StringInputSource | 8 from rdflib.parser import StringInputSource |
9 | 9 |
10 from inference import Inference, parseList | 10 from inference import Inference, parseList |
11 | 11 from rdflib_debug_patches import patchSlimReprs, patchBnodeCounter |
12 | |
13 def patchSlimReprs(): | |
14 import rdflib.term | |
15 | |
16 def ur(self): | |
17 clsName = "U" if self.__class__ is rdflib.term.URIRef else self.__class__.__name__ | |
18 return """%s(%s)""" % (clsName, super(rdflib.term.URIRef, self).__repr__()) | |
19 | |
20 rdflib.term.URIRef.__repr__ = ur | |
21 | |
22 def br(self): | |
23 clsName = "BNode" if self.__class__ is rdflib.term.BNode else self.__class__.__name__ | |
24 return """%s(%s)""" % (clsName, super(rdflib.term.BNode, self).__repr__()) | |
25 | |
26 rdflib.term.BNode.__repr__ = br | |
27 | |
28 def vr(self): | |
29 clsName = "V" if self.__class__ is rdflib.term.Variable else self.__class__.__name__ | |
30 return """%s(%s)""" % (clsName, super(rdflib.term.Variable, self).__repr__()) | |
31 | |
32 rdflib.term.Variable.__repr__ = vr | |
33 | |
34 | 12 |
35 patchSlimReprs() | 13 patchSlimReprs() |
36 | |
37 | |
38 def patchBnodeCounter(): | |
39 import rdflib.term | |
40 serial = itertools.count() | |
41 | |
42 def n(cls, value=None, _sn_gen='', _prefix='') -> BNode: | |
43 if value is None: | |
44 value = 'N-%s' % next(serial) | |
45 return rdflib.term.Identifier.__new__(cls, value) | |
46 | |
47 rdflib.term.BNode.__new__ = n | |
48 | |
49 import rdflib.plugins.parsers.notation3 | |
50 | |
51 def newBlankNode(self, uri=None, why=None): | |
52 if uri is None: | |
53 self.counter += 1 | |
54 bn = BNode('f-%s-%s' % (self.number, self.counter)) | |
55 else: | |
56 bn = BNode(uri.split('#').pop().replace('_', 'b')) | |
57 return bn | |
58 | |
59 rdflib.plugins.parsers.notation3.Formula.newBlankNode = newBlankNode | |
60 | |
61 | |
62 patchBnodeCounter() | 14 patchBnodeCounter() |
63 | 15 |
64 EX = Namespace('http://example.com/') | 16 EX = Namespace('http://example.com/') |
65 ROOM = Namespace('http://projects.bigasterisk.com/room/') | 17 ROOM = Namespace('http://projects.bigasterisk.com/room/') |
66 | 18 |