Bonjour,
J'ai construis une ontologie avec Protégé qui contient les classes suivantes (Personne, Université, Département,...). puis j'ai construis un fichier xml qui contient des instances pour personne et pour université, ... comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<Personne>
<instances> 
<instance1> etudiant</instance1>
<instance2> professeur</instance1>
....
</instances>
</personne>
De même pour les autres classes...
Je fais ensuite une extraction des connaissances donc je mets les noms des classes (personne, université,...) dans un liste UMLclass et les noms des instances dans UMLatribute.
Maintenant dans l'étape de peuplement de l'ontologie j'aimerais que les instances de personne soient insérées dans l'ontologie.
Voici un pseudo code que j'ai fais mais malheureusement lorsque j’accède à Protegé, j'ai aucune modification et aucune insertion. J’espère que vous les experts pouvez m'aider parce que j'ai réussi a insérer quelques instances (un par un) mais c'est pas logique c'est très statique. J'aimerais que cette méthode soit dynamique.
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
Element racine = document.getRootElement();///////document c'est mon fichier xml 
             Element root = document1.getRootElement();//// document1 c'est le fichier owl exporté à partir de notre ontologie 
             List <Element > ontolog = root.getChildren("owl:ontology");/// parcours de fichier owl pour faire le test sur les noms dans UMLcalss et les noms dans owl <OWL:Class> si il sont égal alors j'insére les instances de ce classe en ontologie ///
for (UMLClass1 theClass : listUMLClass1){
                 for (Element elmt:ontolog){
                     List <Element> classe = elmt.getChildren("owl:class");
                     for (Element elmt1:classe){
                         String noom = elmt.getName();
                    if(theClass.name().equals(noom)){
                     for (UMLAtribute1 atribute : theClass.getAtribute()) {
                       OntClass s1= ontologie.getOntClass(elmt1.getName());
                       Individual s11= s1.createIndividual(atribute.name());
                  }
                    }
                     }
                 }
             }
Merci d'avance j’espère que l'idée est claire avec les commentaires.