2011-04-12 100 views
1

是否可以使用JENA获取OWL文件中存在的所有类的名称并将其存储在数组列表中?使用JENA API - 获取OWL文件中的所有类

OntModel base = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null); 
    OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF, null); 

    String NS = "http://www.abc.com/abcportal/abc.owl" + "#"; 

base.read("file:abcInstance.owl"); 
    ExtendedIterator<OntClass> iter = base.listClasses(); 

    while (iter.hasNext()){ 
     System.out.println(iter.next()); 
    } 

回答

5

是的,请参阅Javadoc的OntModel.listClasses。您可以轻松地将Iterator的内容复制到数组中或List。你问这个问题表明,你可能会从阅读Jena ontology API documentation

+0

受益,让我检查文档。谢谢 – Allwyn 2011-04-12 19:40:13

+0

如果这回答你的问题,请按照标准的做法为StackOverlow并接受答案。如果它不回答这个问题,请告诉我们为什么不。 – 2011-04-13 09:43:28

+1

Rite现在我可以从owl文件中检索类名,例如Schema文件。但我无法从实例文件(即由实例/个人构成的owl文件)中检索类。请参阅编辑我使用的代码。 – Allwyn 2011-04-14 06:27:07