我正在尝试制作 RDF 校正器。我特别想纠正的一件事是 IRI。我的问题是,不管 RDF 格式如何,我可以做些什么来纠正 IRI 中的错误吗?我知道可能有多个错误,但我可以修复的最常见的错误是什么?
我正在使用 ANTLR 来制作校正器。我已经扩展了 BaseErrorListener 以便它特别给出 IRI 中的错误。
根据我的经验,现实世界中的错误取决于来源。源可能正在系统地创建带有空格的 IRI,或者已在 ISO-8859-1(“拉丁”)和 UTF-8(正确格式)之间进行二进制复制,这会破坏 UTF-8。这些低级错误最好用输入文件上的文本编辑器修复(并更正生成它们的代码)。
在http://www.sparql.org/iri-validator.html尝试一些示例 IRI ,它会打印出警告和错误,并且与解析器的代码相同。