События в онтологии

Я хочу реализовать события в онтологии. Например, добавляя человека в один класс, он добавляется в другой класс. Следуя инструкциям в http://protegewiki.stanford.edu/wiki/ProtegeOWL_API_Advanced_Topics, я написал это:

      JenaOWLModel model=ProtegeOWL.createJenaOWLModel();
      OWLNamedClass c1= model.createOWLNamedClass("A");
      OWLNamedClass c2= model.createOWLNamedClass("B");
      c1.addClassListener( new ClassAdapter(){
       public void instaneAdded(RDFSClass c1,RDFSClass c2,RDFResource instance) {
         String s= instance.getName();
         c2.createInstance(s);
       }
       });

Разве это не правильно? Потому что это не работает в протеже.

1 ответ

Решение

Могу поспорить, что в вашем новом адаптере класса вы хотели определить метод instanceAddedне instaneAdded (Обратите внимание c в бывшем). Если вы следуете передовым методам и используете @Override аннотации, вы получили бы ошибку из-за невозможности переопределить метод, который не был определен ранее.

  public void instaneAdded(RDFSClass c,RDFSClass c2,RDFResource instance) {
              ************

Совет добавить @Override не только мой. Если вы посмотрите на принятый ответ на вопрос, что означает @Override? упоминает, что, объявив о своем намерении переопределить метод, вы получите предупреждения, если нет такого метода для переопределения (как в этом случае).

Другие вопросы по тегам