如何解密 RDF4J 数据库的 Triplestore 文件?
How can I decrypt the Triplestore files of an RDF4J database?
我目前正在尝试从 universAAL 平台读取 RDF4J triplestore 的文件并将它们放入 InfluxDB 以合并来自不同智能生活系统的数据。
但是,我注意到本机存储库的各个索引文件是 encrypted/unreadable(见下图)。
社区是否有关于如何从 RDF4J 文件(名称空间、triples.prop、triples-cosp、triples-posc、triples-spoc、values.hash、values.dat, values.id) 并将它们合并到另一个数据库中?
RDF4J 的文档在这里没有帮助我,所以我无法创建像样的导出。
Encrypted File from Triplestore
文件未加密,它们只是一种二进制格式,针对高效存储和检索进行了优化,由 RDF4J 的 Native Store 数据库实现使用。它们不适合直接操作。
将它们转换为可读 RDF 的最简单方法是在它们之上启动一个 Native Store,然后使用 RDF4J API 到 query/export 它的数据。假设你有一套完整的数据文件,它应该像这样简单:
Repository rep = new SailRepository(new NativeStore(new File("/path/to/datafiles/");
try(RepositoryConnection conn = rep.getConnection()) {
conn.export(Rio.createWriter(RDFFormat.TURTLE, System.out));
}
finally {
rep.shutDown();
}
显然,如果您想将数据写入文件而不是控制台,请将 System.out
替换为 FileOutputstream
。如果您想要不同的语法格式,请将 RDFFormat.TURTLE
更改为其他格式。
我目前正在尝试从 universAAL 平台读取 RDF4J triplestore 的文件并将它们放入 InfluxDB 以合并来自不同智能生活系统的数据。 但是,我注意到本机存储库的各个索引文件是 encrypted/unreadable(见下图)。 社区是否有关于如何从 RDF4J 文件(名称空间、triples.prop、triples-cosp、triples-posc、triples-spoc、values.hash、values.dat, values.id) 并将它们合并到另一个数据库中? RDF4J 的文档在这里没有帮助我,所以我无法创建像样的导出。
Encrypted File from Triplestore
文件未加密,它们只是一种二进制格式,针对高效存储和检索进行了优化,由 RDF4J 的 Native Store 数据库实现使用。它们不适合直接操作。
将它们转换为可读 RDF 的最简单方法是在它们之上启动一个 Native Store,然后使用 RDF4J API 到 query/export 它的数据。假设你有一套完整的数据文件,它应该像这样简单:
Repository rep = new SailRepository(new NativeStore(new File("/path/to/datafiles/");
try(RepositoryConnection conn = rep.getConnection()) {
conn.export(Rio.createWriter(RDFFormat.TURTLE, System.out));
}
finally {
rep.shutDown();
}
显然,如果您想将数据写入文件而不是控制台,请将 System.out
替换为 FileOutputstream
。如果您想要不同的语法格式,请将 RDFFormat.TURTLE
更改为其他格式。