newList in notation3.py uses recursion to load lists. Sufficiently long lists cause the interpreter to raise RecursionError: maximum recursion depth exceeded while getting the str of an object. In the example below, the list has well over 1000 entries:
from rdflib import Graph
g = Graph()
g.load('https://raw.githubusercontent.com/shexSpec/shexTest/master/validation/manifest.ttl', format='turtle')
Output:
...
File "lib/python3.6/site-packages/rdflib/plugins/parsers/notation3.py", line 1743, in newList
self.makeStatement((f, rest, a, self.newList(n[1:], f)))
...
RecursionError: maximum recursion depth exceeded while getting the str of an object
newList
in notation3.py uses recursion to load lists. Sufficiently long lists cause the interpreter to raiseRecursionError: maximum recursion depth exceeded while getting the str of an object
. In the example below, the list has well over 1000 entries:Output: