簡體   English   中英

從java中的owl獲取所有classess,sub classess

[英]get all classess, sub classess from owl in java

我有本體文件。 貓頭鷹,我需要從貓頭鷹獲得所有類,子類

File file = new File("myontology.owl");

OWLOntology myontology = manager.loadOntologyFromOntologyDocument(file);
System.out.println("Loaded ontology: " + myontology);

// We can always obtain the location where an ontology was loaded from
IRI documentIRI = manager.getOntologyDocumentIRI(myontology);

OWLDataFactory factory = manager.getOWLDataFactory();
OWLClass clsOwl = factory.getOWLClass(documentIRI);

那我該怎么寫? 我檢查了OWLAPI,但我對語義非常新。 為了得到 ,

像下面的例子,使用owl2api我需要一個代碼,

String uri = "http://protege.cim3.net/file/pub/ontologies/travel/travel.owl";

OWLModel owlModel = ProtegeOWL.createJenaOWLModelFromURI(uri);

Collection classes = owlModel.getUserDefinedOWLNamedClasses();
for (Iterator it = classes.iterator(); it.hasNext();) {

    OWLNamedClass cls = (OWLNamedClass) it.next();
    Collection instances = cls.getInstances(false);
    System.out.println("Class " + cls.getBrowserText() + " (" + instances.size() + ")");

    for (Iterator jt = instances.iterator(); jt.hasNext();) {
        OWLIndividual individual = (OWLIndividual) jt.next();
        System.out.println(" - " + individual.getBrowserText());
    }
}

謝謝

不確定這是否是你需要的,但是

OwlOntology.getClassesInSignature() 

返回用於在當前本體中構建公理的所有類的集合。

一旦你擁有了OwlClass,你就可以使用它來獲得它的子類

 OwlClass.getSubClasses(OWLOntology)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM