/** * Создаем фрагмент запроса из списка именованных классов аксиомы и переданной sparql переменной, * привоенной субаксиоме. */ public String getSparqlQueryPart(ArrayList<OWLClass> clsList, String SxAxVar) { LOGGER.info(" ===getSparqlQueryPart=="); String fragmentOfQuery = ""; for (OWLClass cls : clsList) { // Находи концепт в ОПП IRI conceptIRI = UPOont.getUPOont() .getConceptByIRIinAnnotationValue( IRI.create(ConstantsOntConverter.SKOS_HIDDEN_LABEL), cls.getIRI()); // Берем его переменную - нет переменная должна быть равна // переменной субаксиомы // String var = ontUPO.getAnnotationValue(conceptIRI, // IRI.create(UPO_SPARQL_VARIABLE_LABEL) ); // Добавляем строку в запрос fragmentOfQuery = fragmentOfQuery + (SxAxVar + " " + ConstantsOntConverter.IRI_RDF_TYPE_SHORT + " <" + conceptIRI + ">" + ".\n"); LOGGER.info(" ConceptIRI:" + conceptIRI); LOGGER.info(" Var of subAx:" + SxAxVar); LOGGER.info(" Fragment:" + fragmentOfQuery); } LOGGER.info(" ===END-getSparqlQueryPart=="); return fragmentOfQuery; }
/** * Возвращает фрагмент названия субаксиомы из ее типизированных свойств и из диапазонов. * * @param propDomainPairList * @return */ private String getDatatypePropNameFragment(ArrayList<PairOfIRI> propDomainPairList) { String fragment = ""; for (PairOfIRI pairOfIRI : propDomainPairList) { // fragment = fragment + pairOfIRI.fIRI.getFragment() // +"{"+pairOfIRI.sIRI.getFragment()+"}" + // ConstantsOntConverter.UPO_TITLE_DELIMITER; fragment = fragment + pairOfIRI.getFirst().getFragment() + UPOont.getFBrackedString(pairOfIRI.getFirst().getFragment()) + ConstantsOntConverter.UPO_TITLE_DELIMITER; } return fragment; }
/* * (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; }
public String getSparqlVar() { return UPOont.getUPOont().genNewSparqlVar(this); }