如何使用 Apache Jena 将 CSV 导入 RDF?
How can I import a CSV to RDF using Apache Jena?
是否可以使用 Apache Jena 从命令行 csv 转换为 rdf?
是否可以提供元数据,帮助转换?
riot
的愚蠢尝试示例:
./apache-jena-3.3.0/bin/riot --base='http://example.com/csvtest/' --syntax=csv --output=ttl csv_dbs_examples/csv_inputs/CDs.csv
java.lang.NullPointerException
at org.apache.jena.ext.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
at org.apache.jena.ext.com.google.common.cache.LocalCache.get(LocalCache.java:4153)
at org.apache.jena.ext.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:5060)
at org.apache.jena.atlas.lib.cache.CacheGuava.getOrFill(CacheGuava.java:58)
at org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.resolveSilentCache(IRIResolver.java:470)
at org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.resolveSilent(IRIResolver.java:454)
at org.apache.jena.riot.system.IRIResolver.resolve(IRIResolver.java:328)
at org.apache.jena.riot.system.IRIResolver$IRIResolverSync.resolve(IRIResolver.java:489)
at org.apache.jena.riot.system.IRIResolver.resolveIRI(IRIResolver.java:254)
at org.apache.jena.riot.system.IRIResolver.resolveString(IRIResolver.java:233)
at org.apache.jena.riot.lang.ReaderRIOTCSV.parse(ReaderRIOTCSV.java:89)
at org.apache.jena.riot.lang.ReaderRIOTCSV.read(ReaderRIOTCSV.java:67)
at org.apache.jena.riot.RDFParser.read(RDFParser.java:293)
at org.apache.jena.riot.RDFParser.parseNotUri(RDFParser.java:283)
at org.apache.jena.riot.RDFParser.parse(RDFParser.java:233)
at riotcmd.CmdLangParse.parseRIOT(CmdLangParse.java:286)
at riotcmd.CmdLangParse.parseFile(CmdLangParse.java:216)
at riotcmd.CmdLangParse.exec$(CmdLangParse.java:161)
at riotcmd.CmdLangParse.exec(CmdLangParse.java:127)
at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
at riotcmd.riot.main(riot.java:34)
有http://jena.apache.org/documentation/csv/(在问题中被调用)但这不是CSVW(W3C标准)。有几种 CSVW 转换工具 - 您可以转换为 RDF,然后将 RDF 读入 Jena。
实际的堆栈跟踪是 3.3.0 中的错误(Apache Jena 3.2.0 应该可以工作)。
Update from @GrzegorzWierzowiecki: Confirmed that it looks like bug in
Jena 3.3.0, as it works with Jena 3.1.1
是否可以使用 Apache Jena 从命令行 csv 转换为 rdf?
是否可以提供元数据,帮助转换?
riot
的愚蠢尝试示例:
./apache-jena-3.3.0/bin/riot --base='http://example.com/csvtest/' --syntax=csv --output=ttl csv_dbs_examples/csv_inputs/CDs.csv
java.lang.NullPointerException
at org.apache.jena.ext.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
at org.apache.jena.ext.com.google.common.cache.LocalCache.get(LocalCache.java:4153)
at org.apache.jena.ext.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:5060)
at org.apache.jena.atlas.lib.cache.CacheGuava.getOrFill(CacheGuava.java:58)
at org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.resolveSilentCache(IRIResolver.java:470)
at org.apache.jena.riot.system.IRIResolver$IRIResolverNormal.resolveSilent(IRIResolver.java:454)
at org.apache.jena.riot.system.IRIResolver.resolve(IRIResolver.java:328)
at org.apache.jena.riot.system.IRIResolver$IRIResolverSync.resolve(IRIResolver.java:489)
at org.apache.jena.riot.system.IRIResolver.resolveIRI(IRIResolver.java:254)
at org.apache.jena.riot.system.IRIResolver.resolveString(IRIResolver.java:233)
at org.apache.jena.riot.lang.ReaderRIOTCSV.parse(ReaderRIOTCSV.java:89)
at org.apache.jena.riot.lang.ReaderRIOTCSV.read(ReaderRIOTCSV.java:67)
at org.apache.jena.riot.RDFParser.read(RDFParser.java:293)
at org.apache.jena.riot.RDFParser.parseNotUri(RDFParser.java:283)
at org.apache.jena.riot.RDFParser.parse(RDFParser.java:233)
at riotcmd.CmdLangParse.parseRIOT(CmdLangParse.java:286)
at riotcmd.CmdLangParse.parseFile(CmdLangParse.java:216)
at riotcmd.CmdLangParse.exec$(CmdLangParse.java:161)
at riotcmd.CmdLangParse.exec(CmdLangParse.java:127)
at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
at riotcmd.riot.main(riot.java:34)
有http://jena.apache.org/documentation/csv/(在问题中被调用)但这不是CSVW(W3C标准)。有几种 CSVW 转换工具 - 您可以转换为 RDF,然后将 RDF 读入 Jena。
实际的堆栈跟踪是 3.3.0 中的错误(Apache Jena 3.2.0 应该可以工作)。
Update from @GrzegorzWierzowiecki: Confirmed that it looks like bug in Jena 3.3.0, as it works with Jena 3.1.1