Python3.9使用rdflib解析URL时斜杠被替换报错如何解决
问题原因
这是旧版本rdflib在Windows平台的已知兼容bug:rdflib会误将http:///https://开头的远程URL识别为本地文件路径,自动将URL中的正斜杠替换为Windows系统的路径分隔符反斜杠,导致路径校验不通过报错。
解决方法
方案1:升级rdflib到最新版本(推荐)
新版本rdflib已经修复了该Windows平台URL识别问题,直接在CMD执行升级命令即可:
pip install --upgrade rdflib
升级完成后无需修改原有代码,直接运行即可正常执行。
方案2:低版本兼容处理
如果因环境限制无法升级rdflib,可以用URIRef包裹目标URL,明确告知rdflib该地址为远程URI,避免被识别为本地路径:
from rdflib import Graph, URIRef g = Graph() g.parse(URIRef('http://dbpedia.org/resource/Semantic_Web')) for s, p, o in g: print(s, p, o)
方案3:本地文件解析
你也可以提前将目标URL对应的RDF资源下载到本地,再解析本地文件路径,完全避免路径转换问题:
from rdflib import Graph g = Graph() # 改为你本地存储的RDF文件路径 g.parse('./semantic_web.rdf') for s, p, o in g: print(s, p, o)
内容的提问来源于stack exchange,提问作者codebot
相关产品推荐
相关产品推荐

