2015-09-11 1 views
1

I'am экспортирует все выведенные из аксиом онтологии, используя следующие:Экспортный Inferred Axiom с Аннотация совмещены в OWL API

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 InferredDataPropertyCharacteristicAxiomGenerator()); 
     gens.add(new InferredObjectPropertyCharacteristicAxiomGenerator()); 
     gens.add(new InferredSubObjectPropertyAxiomGenerator()); 
     reasoner.flush(); 
     reasoner.getKB().realize(); 
     InferredOntologyGenerator iog = new InferredOntologyGenerator(reasoner, gens); 
     OWLOntology infOnt = manager.createOntology(); 
     iog.fillOntology(reasoner.getManager().getOWLDataFactory(), infOnt); 

Теперь я хочу, чтобы экспортировать все аннотации (этикетки и комментарии) из онтологии, ставя их в новую. Как я могу сделать ? Большое спасибо.

ответ

1

я решил просто скопировать аннотацию аксиомы из источника онтологий к месту назначения:

for(OWLOntology o : manager.getImportsClosure(src)) { 
     for(OWLAnnotationAssertionAxiom ax : o.getAxioms(AxiomType.ANNOTATION_ASSERTION)) { 
     manager.applyChange(new AddAxiom(infOnt, ax)); 
      } 
     } 

Я не знаю, если есть лучший способ, но он работает.

+0

Это правильный путь. – Ignazio

Смежные вопросы