j'ai crée un ontologie qui contient les classes suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
States, qui est sous classe de countries
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Towns, Cyties, Villages, qui sont sous classe de States
aussi j'ai créé des instances qui sont:
Germany instance de countries
Saarlind et Berlin instance de States
STUTTGART instance de Cyties

Je cherche à entrer deux mot par exemple mot 1 : "germany" et mot 2 : "STUTTGART "
et si mot 1= mot 2 ok sinon je cherche si mot 1 est une sous classe de mot 2 pour cela j'utilise le code java suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
private static boolean getChildrenClass(String LocRequest,String LocServic)
{
      Iterator iterClass = null;
      NodeIterator iter = null;
      OntClass ontClass = null;
 
      String inOntology="http://127.0.0.1/ontology/Countries.owl#";//geographydataset.owl#;
       OntModel model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);
       model.read(inOntology);
       resource = model.getResource(ontology+ LocServic);//LocRequest);
        iter = model.listObjectsOfProperty(resource, OWL.equivalentClass);
       System.out.println("read onto  =  "+iter.next().toString());
 
       while (iter.hasNext())
     {
         if (LocRequest.equals(iter.next().toString()))
        {
    return true;
         }
     }
    return false;
}
Malheureusement, lors de l'exécution, la boucle while n'est jamais atteinte.

Merci d'avance.