问题描述
我是知识图的新手,并尝试使用rdflib
探索this dataset。
我的文件kg.nt
部分显示如下:
<http://dbpedia.org/resource/(3-Aminopropyl)triethoxysilane> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://dbpedia.org/ontology/ChemicalSubstance> .
<http://dbpedia.org/resource/(3-Aminopropyl)triethoxysilane> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://dbpedia.org/ontology/ChemicalCompound> .
<http://dbpedia.org/resource/(E)-4-Hydroxy-3-methyl-but-2-enyl_pyrophosphate> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://dbpedia.org/ontology/ChemicalSubstance> .
<http://dbpedia.org/resource/(E)-4-Hydroxy-3-methyl-but-2-enyl_pyrophosphate> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://dbpedia.org/ontology/ChemicalCompound> .
<http://dbpedia.org/resource/(Hydroxyethyl)methacrylate> <http://www.w3.org/1999/02/22-rdf-Syntax-ns#type> <http://dbpedia.org/ontology/ChemicalSubstance> .
当我尝试将其解析为:
g = rdflib.Graph()
g.parse('kg.nt',format='nt')
发生ParseError:
---------------------------------------------------------------------------
ParseError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/ntriples.py in parse(self,f)
153 try:
--> 154 self.parseline()
155 except ParseError:
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/ntriples.py in parseline(self)
196
--> 197 subject = self.subject()
198 self.eat(r_wspaces)
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/ntriples.py in subject(self)
223 # @@ Consider using dictionary cases
--> 224 subj = self.uriref() or self.nodeid()
225 if not subj:
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/ntriples.py in uriref(self)
242 if self.peek('<'):
--> 243 uri = self.eat(r_uriref).group(1)
244 uri = unquote(uri)
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/ntriples.py in eat(self,pattern)
217 # print repr(self.line),type(self.line)
--> 218 raise ParseError("Failed to eat %s at %s" % (pattern.pattern,self.line))
219 self.line = self.line[m.end():]
ParseError: Failed to eat <([^:]+:[^\s"<>]*)> at <http:
During handling of the above exception,another exception occurred:
ParseError Traceback (most recent call last)
<ipython-input-6-f64353cdd168> in <module>
1 # This takes a while...
2 g = rdflib.Graph()
----> 3 g.parse('kg.nt',format='nt')
/usr/local/lib/python3.6/dist-packages/rdflib/graph.py in parse(self,source,publicID,format,location,file,data,**args)
1076 parser = plugin.get(format,Parser)()
1077 try:
-> 1078 parser.parse(source,self,**args)
1079 finally:
1080 if source.auto_close:
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/nt.py in parse(self,sink,baseURI)
24 f = source.getByteStream() # Todo getCharacterStream?
25 parser = NTriplesParser(NTSink(sink))
---> 26 parser.parse(f)
27 f.close()
/usr/local/lib/python3.6/dist-packages/rdflib/plugins/parsers/ntriples.py in parse(self,f)
154 self.parseline()
155 except ParseError:
--> 156 raise ParseError("Invalid line: %r" % self.line)
157 return self.sink
158
ParseError: Invalid line: '<http:'
如何解决此问题?谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)