-
Notifications
You must be signed in to change notification settings - Fork 578
Closed
Labels
Description
Consider following triple from DBPedia serialized as .ttl:
test.ttl
@prefix ns1: <http://dbpedia.org/property/> .
<http://dbpedia.org/resource/Maine_Mendoza> ns2:spouse(s)_ "Nate Winchester 2013-Present"@en .
It is not possible to parse this triple due to the brackets in ns2:spouses(s)_ in a .ttl file. However, there is no such problem for an .nt file.
Code to parse the test.ttl file with the triple inside.
from rdflib import Graph
g = Graph()
g.parse(test.ttl)
Exception:
Traceback (most recent call last):
File "/home/fkovacev/PhD/RDFStarVersioningEval/OSTRICH/BEAR/scripts/build_tb_rdf_star_datasets.py", line 204, in <module>
construct_tb_star_ds(source_ic0=data_dir + "/alldata.IC.nt/000001.nt",
File "/home/fkovacev/PhD/RDFStarVersioningEval/OSTRICH/BEAR/scripts/build_tb_rdf_star_datasets.py", line 140, in construct_tb_star_ds
cs_add.parse(source_cs + "/" + t[1])
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/graph.py", line 1261, in parse
raise se
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/graph.py", line 1252, in parse
parser.parse(source, self, **args)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1921, in parse
p.loadStream(stream)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 438, in loadStream
return self.loadBuf(stream.read()) # Not ideal
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 444, in loadBuf
self.feed(buf)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 470, in feed
i = self.directiveOrStatement(s, j)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 490, in directiveOrStatement
j = self.statement(argstr, i)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 740, in statement
j = self.property_list(argstr, i, r[0])
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1088, in property_list
i = self.objectList(argstr, j, objs)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1132, in objectList
i = self.object(argstr, i, res)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1418, in object
j = self.subject(argstr, i, res)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 747, in subject
return self.item(argstr, i, res)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 839, in item
return self.path(argstr, i, res)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 846, in path
j = self.nodeOrLiteral(argstr, i, res)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1446, in nodeOrLiteral
j = self.node(argstr, i, res)
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1025, in node
self.BadSyntax(argstr, i, "expected item in list or ')'")
File "/home/fkovacev/anaconda3/envs/baseDSEnv/lib/python3.8/site-packages/rdflib/plugins/parsers/notation3.py", line 1653, in BadSyntax
raise BadSyntax(self._thisDoc, self.lines, argstr, i, msg)
rdflib.plugins.parsers.notation3.BadSyntax: at line 3 of <>:
Bad syntax (expected item in list or ')') at ^ in:
"...b'> .\n\n<http://dbpedia.org/resource/Maine_Mendoza> ns1:spouse('^b's)_ "Nate Winchester 2013-Present"@en .\n\n\n'"