2015-07-30 4 views
1

i'am используя последнюю версию окатышей мыслителя с OWL API:Сохранить пеллеты умозаключения с использованием OWL API

OWLOntologyManager manager=OWLManager.createOWLOntologyManager(); 
OWLOntology fist_ontology=manager.loadOntologyFromOntologyDocument......... 
................ 
OWLOntology last_ontology=manager.loadOntologyFromOntologyDocument.......... 

reasoner=PelletReasonerFactory.getInstance().createReasoner(last_ontology); 
manager.addOntologyChangeListener(reasoner); 

несколько онтологий загружаются с менеджером. Теперь мне нужно сохранить в файле все выводы, сделанные Pellet, для всех онтологий, загруженных менеджером, но я не могу найти ни одного примера. Кто-то может мне помочь? Спасибо !

ответ

1

я решил:

List<InferredAxiomGenerator<? extends OWLAxiom>> gens = new ArrayList<>(); 
     gens.add(new InferredSubClassAxiomGenerator()); 
     gens.add(new InferredClassAssertionAxiomGenerator()); 
     gens.add(new InferredDisjointClassesAxiomGenerator()); 
     gens.add(new InferredEquivalentClassAxiomGenerator()); 
     gens.add(new InferredEquivalentDataPropertiesAxiomGenerator()); 
     gens.add(new InferredEquivalentObjectPropertyAxiomGenerator()); 
     gens.add(new InferredInverseObjectPropertiesAxiomGenerator()); 
     gens.add(new InferredObjectPropertyCharacteristicAxiomGenerator()); 
     gens.add(new InferredPropertyAssertionGenerator()); 
     gens.add(new InferredSubDataPropertyAxiomGenerator()); 
     gens.add(new InferredSubObjectPropertyAxiomGenerator()); 

     InferredOntologyGenerator iog = new InferredOntologyGenerator(reasoner, gens); 
     OWLOntology infOnt = manager.createOntology(); 
     iog.fillOntology(datafactory, infOnt); 
     manager.saveOntology(infOnt,new RDFXMLDocumentFormat(),IRI.create(new File("D://file.owl"))); 
0
public void flushToFile() { 
     reasoner.flush(); 
     //System.out.println(reasoner.isEntailed(ax5)); 
     InferredOntologyGenerator gen = new InferredOntologyGenerator(reasoner); 
     gen.fillOntology(factory, newOntology); 
     try { 
      manager.saveOntology(newOntology, new FileOutputStream(new File("D:\\XYZ\\OutputNew.owl"))); 
     } catch (OWLOntologyStorageException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

Вы можете использовать этот API для сохранения онтологии в файл. Также для вашего подробного понимания работы вы можете пройти по этой ссылке: - tells about the working of a pellet reasoner and swrl rules

+0

Будут добавлены только основные выводы, если вы не укажете тип выводов, которые должны быть включены в онтологию. – Discipulos