为了账号安全,请及时绑定邮箱和手机立即绑定

使用 java 和 RDF 模型从文件读取和写入

使用 java 和 RDF 模型从文件读取和写入

摇曳的蔷薇 2021-06-15 17:09:45
我想从一个文件中读取,然后使用 java 将它写入另一个文件中的 RDF/XML 模型中,我已经完成了读取文件的初始部分,但我不知道如何使用 RDF 将它写入另一个文件中/XML 模型,所以我可以有正确的格式。这是读取文件代码的一部分:try {        File file1 = new File("Data/960.txt");    FileReader fileReader1 = new FileReader(file1);    BufferedReader bufferedReader1 = new BufferedReader(fileReader1);    StringBuffer stringBuffer = new StringBuffer();    String line1;        System.out.println("Proteins & Synonyms:");        int count = 0;            while ((line1=bufferedReader1.readLine()) != null) {                            String[] list1 = line1.split("\t");                            if (list1.length < 2) continue;                        proteinG=model2.createResource(ProtURI+list1[0]);                        hasSynonyms=model2.createProperty(SynoURI+hasSynonymStr);                        Synonyms=list1[1];                        proteinG.addProperty(hasSynonyms,Synonyms);             System.out.println(stringBuffer.toString());        } catch (IOException e) {            e.printStackTrace();}    if(model2!=null){            model2.write(System.out, "RDF/XML");任何人都可以帮忙吗
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

写入FileOutputStream非 System.out。您可能需要“RDF-XML-ABBREV”来进行美化输出。


作为一般改进,使用RDFDataMgrwith Lang.RDFXML(默认情况下是漂亮的形式):


对于现在的 Java,这意味着使用 try-resource 块:


import org.apache.jena.riot.RDFDataMgr

import org.apache.jena.riot.Lang  

...


    Model model = null;

    try(OutputStream out = new FileOutputStream("filename.rdf")) {

        RDFDataMgr.write(out, model, Lang.RDFXML);

    } catch (FileNotFoundException e) {

        e.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();

    }

最终考虑:使用 Turtle,而不是 RDF/XML;更容易阅读。


查看完整回答
反对 回复 2021-06-17
  • 1 回答
  • 0 关注
  • 349 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信