/* * (non-Javadoc) * * @see ru.iimm.ontology.OWL2UPOConverter.SubAxiom#getNewTitle() */ @Override protected String generateTitle() { LOGGER.info("=== Generate title for SubAxiom:\n" + this.getSubAxOWL()); String namedTitle = ""; /* В название добавляем имена классов субавксиомы */ for (OWLClass cls : this.getClsList()) { namedTitle += cls.getIRI().getFragment() + ConstantsOntConverter.UPO_TITLE_DELIMITER; } /* Формируем карту: свойство --- массив субаксиом [] */ HashMap<IRI, ArrayList<SubAxiom>> map = this.getPropSubaxMap(this.getPrpFromAxList()); /* Из карты формируем подзаголовки - для сложных субаксиом */ for (IRI propIRI : map.keySet()) { for (SubAxiom subax : map.get(propIRI)) // namedTitle += subax.getTitle() namedTitle += propIRI.getFragment() + ConstantsOntConverter.UPO_PROP_VAL_DELIMITER + subax.getTitle() + ConstantsOntConverter.UPO_TITLE_DELIMITER; } /* Добавляем фрагмент имени от типизированных свойств */ namedTitle = namedTitle + this.getDatatypePropNameFragment(this.getDtpPrpList()); /* Отрезаем лишний делимитер (-) из конца аксиомы */ namedTitle = namedTitle.length() > 0 ? namedTitle.substring( 0, namedTitle.lastIndexOf(ConstantsOntConverter.UPO_TITLE_DELIMITER)) : namedTitle; /* Обрамляем скобками субаксиому */ // namedTitle = namedTitle.length()>0 ? "[" + namedTitle + "]" : null; namedTitle = namedTitle.length() > 0 ? UPOont.getSBrackedString(namedTitle) : null; return namedTitle; }
/** * @TODO название сложной субаксиомы зависит от названия субаксиомы из другой части + от отношения * с ней, пока учитывается только 1-е, может 2-е и не нужно */ public String getSparqlVar(SubAxiom subaxFromAnotherPart) { return subaxFromAnotherPart.getSparqlVar(); }