public Concept createConceptResource(OntResource ontResource) throws ConceptNotFoundException {
if(ontResource == null){
throw new ConceptNotFoundException("Concept can not be built because resource is "+ontResource);
}
logger.debug("Creating concept for resource " +ontResource.getURI());
Concept concept =ConceptBuilderUtils.createEmptyConcept();
if (!OntologyHelper.isUserConcept(ontResource)) {
throw new ConceptUnsupportedOperation(ontResource.getURI()+ " createConcepResource");
}
ConceptDescription currentConceptDescription = OntologyHelper.createConceptDescription(ontResource);
concept.setConceptDescription(currentConceptDescription);
if(ontResource.isClass()){
OntClass ontClass = ontResource.asClass();
Relations relations = concept.getRelations();
logger.debug("Adding relations "+relations);
relations.getRelations().addAll(getRelations(TypeHierarchy.SUPERCLASS, ontClass.listSuperClasses(true)));
relations.getRelations().addAll(getRelations(TypeHierarchy.SUBCLASS, ontClass.listSubClasses(true)));
concept.setRelations(relations);
fillInstances(ontClass, concept);
}else if(ontResource.isIndividual()){
Individual individual = ontResource.asIndividual();
List conceptRelations = concept.getRelations().getRelations();
HashMap relationsMap = new HashMap();
// conceptRelations.addAll(createRelationsForInstance(
// OWL.differentFrom.getURI(),
// OWL.differentFrom.getURI(),
// OWL.differentFrom.getLocalName(),
// OWL.differentFrom.getLocalName(),
// individual.listDifferentFrom(),relationsMap));
// conceptRelations.addAll(createRelationsForInstance(
// OWL.sameAs.getURI(),
// OWL.sameAs.getURI(),
// OWL.sameAs.getLocalName(),
// OWL.sameAs.getLocalName(),
// individual.listSameAs(),relationsMap));
//
// conceptRelations.addAll(createRelationsForInstance(
// RDFS.isDefinedBy.getURI(),
// RDFS.isDefinedBy.getURI(),
// RDFS.isDefinedBy.getLocalName(),
// RDFS.isDefinedBy.getLocalName(),
// individual.listIsDefinedBy(),relationsMap));
createRelationsFromProperties(individual.listProperties(), relationsMap);
conceptRelations.addAll(relationsMap.values());
concept.getInstanceof().getConceptDescriptions().addAll(createInstanceOf(individual));
}
return concept;
}