Olá a todos do GUJ.
Pessoal, tenho o seguinte metodo abaixo que é do tipo void, como vocês podem ver.
Eu gostaria de mudar assinatura dele pra alguma outra que pudesse me dar um return
private void buildObjectPropertyOnto(OWLOntology ontology) {
for (OWLObjectProperty objectProperty : ontology.getObjectPropertiesInSignature()) {
//System.out.print(pm.getShortForm(objectProperty).replace(":", "") + " ");
for (Iterator<OWLClassExpression> itDomains = objectProperty.getDomains(ontology).iterator(); itDomains.hasNext();) {
OWLEntity oceDomains = (OWLEntity) itDomains.next();
//System.out.print(pm.getShortForm(oceDomains).replace(":", "") + " ");
for (Iterator<OWLClassExpression> itRanges = objectProperty.getRanges(ontology).iterator(); itRanges.hasNext();) {
OWLEntity oceRanges = (OWLEntity) itRanges.next();
//objProperty.
System.out.println(pm.getShortForm(oceDomains).replace(":", "")
+ " - " + pm.getShortForm(objectProperty).replace(":", "")
+ " - " + pm.getShortForm(oceRanges).replace(":", ""));
}
}
}
}
Quando chamo-o em minha classe principal b[/b] é retornado os seguintes valores abaixo.
Disease - possibleDrug - Drug
Drug - genericDrug - GenericDrug
Drug - sideEffect - SideEffect
Drug - activeIngredient - Ingredient
Tentei mudar à assinatura para um Map<K,V> deixando-o da seguinte maneira abaixo.
[code]private Map<Map<String, String>, String> buildObjectPropertyOnto(OWLOntology ontology) {
Map<String, String> objPropertyAux = new HashMap<>();
Map<Map<String, String>, String> objProperty = new HashMap<>();
for (OWLObjectProperty objectProperty : ontology.getObjectPropertiesInSignature()) {
//System.out.print(pm.getShortForm(objectProperty).replace(":", "") + " ");
for (Iterator<OWLClassExpression> itDomains = objectProperty.getDomains(ontology).iterator(); itDomains.hasNext();) {
OWLEntity oceDomains = (OWLEntity) itDomains.next();
objPropertyAux.put(pm.getShortForm(oceDomains).replace(":", ""), pm.getShortForm(objectProperty).replace(":", "")); //Adiciono os valores no meu primeiro Map
for (Iterator<OWLClassExpression> itRanges = objectProperty.getRanges(ontology).iterator(); itRanges.hasNext();) {
OWLEntity oceRanges = (OWLEntity) itRanges.next();
objProperty.put(objPropertyAux, pm.getShortForm(oceRanges).replace(":", ""));
}
}
}
return objProperty;
}[/code]
No entanto, o resultado retornado não foi o esperado. Pelo contrário, longe disso.
O resultado retornado foi o seguinte abaixo.
key: {Disease=possibleDrug, Drug=activeIngredient} Value: SideEffect
key: {Disease=possibleDrug, Drug=activeIngredient} Value: Ingredient
key: {Disease=possibleDrug, Drug=activeIngredient} Value: GenericDrug
key: {Disease=possibleDrug, Drug=activeIngredient} Value: Drug
O resultado que eu deseja era o mesmo retornado quando a assinatura do meu metodo era do tipo void.
Alguém poderia me dar um dica sobre o que fazer para que meu resultado seja parecido com o que é retornando quando a assinatura do meu metodo é do tipo void?
Desde de já obrigado pela ajuda de todos.
Abraço.
{