我目前正在计划一个包含大数据的大型项目。
我已经使用搜索引擎,所有结果都告诉我如果不使用第三方工具(如BaseKB或Freebase to RDF),就无法将Freebase导入任何三元存储中。
据我所知,该转储已经可用作RDF格式,那么如果我想将该转储导入我的4store三元存储并通过SPARQL访问数据,问题在哪里?
我目前正在计划一个包含大数据的大型项目。
我已经使用搜索引擎,所有结果都告诉我如果不使用第三方工具(如BaseKB或Freebase to RDF),就无法将Freebase导入任何三元存储中。
据我所知,该转储已经可用作RDF格式,那么如果我想将该转储导入我的4store三元存储并通过SPARQL访问数据,问题在哪里?
对于所有遇到导入Freebase Dump问题的人:
1)保持你的RDF / Turtle解析器更新。(最新版本的raptor 2可以识别'.',例如在ns:common.topic.notable_for.example中)
2)在导入之前必须清理数据。我使用了这个脚本:http://people.apache.org/~andy/Freebase20121223/(fixit)
3)Turtle规范只允许使用这些字符作为URI:
::= '<' ([^#x00-#x20<>\"{}|^`\] | UCHAR)* '>'
$X =~ s/\\>/%3E/g ;
$X =~ s/\\.//g ;
# Add this Line
$X =~ [\x00-\x20\<\>\"\{\}\|\^\`] ;
$obj = "<".$X.">" ;
<http://www.wikipedia.org/object?key={invalid_braces}>
变成
<http://www.wikipedia.org/object?key=invalid_braces>