Rdf 如何从ApacheJena TDB创建.owl文件

Rdf 如何从ApacheJena TDB创建.owl文件,rdf,jena,owl,tdb,Rdf,Jena,Owl,Tdb,我目前可以将一个.owl文件加载到数据集中,并将其提交给JENA TDB。我怎么能走另一个方向?换句话说,我如何获取TDB中的所有信息并将其放在.owl文件中(使用JENA api的rdf/xml)?您不会发现这个答案中存在一些假设 //假设您将其指向磁盘上现有的TDB数据集 最终数据集Dataset=TDBFactory.createDataset(Files.createTempDirectory(“ex0”).ToAbsolutionPath().toString()); /*您的数据要么

我目前可以将一个.owl文件加载到数据集中,并将其提交给JENA TDB。我怎么能走另一个方向?换句话说,我如何获取TDB中的所有信息并将其放在.owl文件中(使用JENA api的rdf/xml)?

您不会发现这个答案中存在一些假设

//假设您将其指向磁盘上现有的TDB数据集
最终数据集Dataset=TDBFactory.createDataset(Files.createTempDirectory(“ex0”).ToAbsolutionPath().toString());
/*您的数据要么在数据集的默认模型中,要么在某个命名模型中
*图表。让我们假设它位于一个名为
*“urn:ex:your graphs iri”。
*/
//最终模型yourData=dataset.getDefaultModel();//如果它是默认的
最终模型yourData=dataset.getNamedModel(“urn:ex:yourGraphs iri”);
最终路径tempFile=Files.createTempFile(“ex1”,“.owl”);
try(final OutputStream out=Files.newOutputStream(tempFile,StandardOpenOption.CREATE_NEW)){
写入(out,null,“RDF/XML”);
}
通常,不能将整个数据集的内容表示为RDF/XML。其理由是最容易用四元组而不是三元组来表示。如果要写出整个数据集,包括命名图,则需要使用另一种方法:

final-Dataset-Dataset=TDBFactory.createDataset(Files.createTempDirectory(“ex0”).toabsolutionPath().toString());
最终路径tempFile=Files.createTempFile(“ex1”,“.quads”);
try(final OutputStream out=Files.newOutputStream(tempFile,StandardOpenOption.CREATE_NEW)){
RDFDataMgr.write(输出,数据集,“nqADS”);
}

您首先是如何加载它的?您是使用JavaAPI还是命令行实用程序加载它?
public static void writeDatasetToFile(){
Dataset dataset = TDBFactory.createDataset("./Path/to/TDB");
Model model = dataset.getDefaultModel();
File file = new File("./path/of/file.owl");
        FileOutputStream os=null;
        try {
            os = new FileOutputStream(file);
            model.writeAll(os, "RDF/XML",null);//To write model with import closure
            model.write(os, "RDF/XML",null);//To write model without import closure
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
}