1595
|
1 """rdflib patches for prettier debug outut"""
|
|
2
|
|
3 import itertools
|
|
4
|
|
5 import rdflib
|
|
6 import rdflib.plugins.parsers.notation3
|
|
7 import rdflib.term
|
|
8 from rdflib import BNode
|
|
9
|
|
10
|
|
11 def patchSlimReprs():
|
|
12 """From: rdflib.term.URIRef('foo')
|
|
13 To: U('foo')
|
|
14 """
|
|
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
|
|
35 def patchBnodeCounter():
|
|
36 """From: rdflib.terms.BNode('ne7bb4a51624993acdf51cc5d4e8add30e1')
|
|
37 To: BNode('f-6-1')
|
|
38 """
|
|
39 serial = itertools.count()
|
|
40
|
|
41 def n(cls, value=None, _sn_gen='', _prefix='') -> BNode:
|
|
42 if value is None:
|
|
43 value = 'N-%s' % next(serial)
|
|
44 return rdflib.term.Identifier.__new__(cls, value)
|
|
45
|
|
46 rdflib.term.BNode.__new__ = n
|
|
47
|
|
48 def newBlankNode(self, uri=None, why=None):
|
|
49 if uri is None:
|
|
50 self.counter += 1
|
|
51 bn = BNode('f-%s-%s' % (self.number, self.counter))
|
|
52 else:
|
|
53 bn = BNode(uri.split('#').pop().replace('_', 'b'))
|
|
54 return bn
|
|
55
|
|
56 rdflib.plugins.parsers.notation3.Formula.newBlankNode = newBlankNode
|