RDF/XML 用于使用 java 的 apache jena 格式

RDF/XML for apache jena format using java

list1[0]更改为list1[1]时出现的错误:

我正在做一个程序,它使用 java 中的 RDF 模型从一个文件中打印出来,我想让这个对象成为一个 Sting,但我找不到方法,我试图make 通过使用二维数组让它从文件中读取并将数据打印到输出屏幕。但是,它不起作用,我无法找出原因。

这是我的代码:

String synonyms =null;

try {
        File file1 = new File("Data/9687.txt");
        FileReader fileReader1 = new FileReader(file1);
        BufferedReader bufferedReader1 = new BufferedReader(fileReader1);
        StringBuffer stringBuffer = new StringBuffer();
        String line1;
        System.out.println("Proteins & Synonyms:");
        while ((bufferedReader1.readLine()) != null) {
                line1 = bufferedReader1.readLine();
                String[] list1 = line1.split(“/t”)
                synonyms=model1.expandPrefix(list1[0]);
                proteinG.addProperty(hasSynonyms,synonyms); 

这是显示的输出消息:

<https://Bio2cv.net/ENSP000003488> <hasSynonyms> "ENSP000003488” .

资源的输出与字符串相同。

输入文件的第二列是同义词名称吗? 如果是这样,您在这里使用了错误的索引 0

            synonyms=model1.expandPrefix(list1[0]);

将其更改为 1 并删除 model1.expandPrefix() 调用(如果您需要纯字符串文字):

            synonyms=list1[1];

要跳过无效行(没有制表符),请在 split() 调用后更改代码。检查 list1 数组的长度:

            String[] list1 = line1.split("\t");
            if (list1.length < 2) continue;

您还从输入中读取了两行而不是一行。

更改此代码:

    while ((bufferedReader1.readLine()) != null) {
            line1 = bufferedReader1.readLine();

对此:

    while ((line1 = bufferedReader1.readLine()) != null) {