使用Java将所有本体类从.owl文件中转换为arraylist

时间:2016-02-13 08:34:24

标签: java jena ontology

我想将所有本体类名称带到数组中。我使用以下代码。它将其输出打印为一个类[http://localhost/new/Car Price]。但我只需要将班级名称作为Car Price。我需要做些什么改变?

                   m.read("http://localhost/new/sample.owl");
                   ExtendedIterator<OntClass> classes = m.listClasses();      
                   public String extractName() {   ----------------error: Syntax error on token "String", @ expected
                   while (classes.hasNext()) {
                       OntClass all= (OntClass) classes.next();
                       String cla = all.toString();
                       String members[] = cla.split("/");
                       nameIndex = members.length - 1;
                       return member[nameIndex];
                       }                                            
                        OntClass all= (OntClass) classes.next();
                        System.out.println(all.extractName());
                       }

1 个答案:

答案 0 :(得分:1)

您正在使用列表classlist进行打印,因此您会在输出中看到[]。

如果您的值的格式包含且始终由/分隔,则可以创建一个辅助方法:

public static String extractName(OntoClass ontoClass) {
   String members[] = ontoClass.toString().split("/");
   nameIndex = members.length - 1;
   return members[nameIndex];
}

并在此行打印提取的名称:

OntClass all= (OntClass) classes.next();
System.out.println(extractName(all));