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