Rdf 在加载到ApacheJena TDB triplestore之前对YAGO文件进行清理

Rdf 在加载到ApacheJena TDB triplestore之前对YAGO文件进行清理,rdf,jena,apache-jena,tdb,Rdf,Jena,Apache Jena,Tdb,我想使用tdbloader将YAGO 3 rdf三元组(yago3_thigh_ttl.7z from)使用到apache jena三元组存储库(3.1.0)中 apache jena提供的用于验证输入的riot工具给出了两种类型的错误(多次出现): 非法的unicode转义序列值:\\(0x5C) IRI中的非法字符(代码点0x7C,“|”) 我明显的想法是用通过riot验证的可接受字符序列替换“\\”和“|”,但我想知道是否还有其他解决方案?在这里找到了一个解决方案: 现在,需要对.ttl文

我想使用tdbloader将YAGO 3 rdf三元组(yago3_thigh_ttl.7z from)使用到apache jena三元组存储库(3.1.0)中

apache jena提供的用于验证输入的riot工具给出了两种类型的错误(多次出现):

  • 非法的unicode转义序列值:\\(0x5C)
  • IRI中的非法字符(代码点0x7C,“|”)

  • 我明显的想法是用通过riot验证的可接受字符序列替换“\\”和“|”,但我想知道是否还有其他解决方案?

    在这里找到了一个解决方案:

    现在,需要对.ttl文件进行某种预处理,替换非unicode字符,以便Jena接受数据。在Linux上,从.ttl文件所在的目录中运行sed-i/|/-/g'/*&&sed-i/\\/-/g'/*&&sed-i/-/g'/*。在Windows上,启动Ubuntu Bash,导航到相应的目录(例如/mnt/c/Users/Ferdinand/yago),然后执行相同的命令。这需要几分钟。我是说,真的有几个


    这里也有同样的问题,有什么想法吗?不是解决方案,而是我的解决办法:我最终将Openlink的开源版本Virtuoso作为triplestore与jena库一起使用。导入的670Mio三元组在Centos Linux 7上没有问题。这可以用来解决URI的空格问题吗?