Salut à tous,

Grâce à l'api jena, j'ai généré un fichier rdf (t2.rdf) pour représenter une sorte de arbre généologique. Tout d'abord et pour tester, j'y ai mis que 4 statements, pour créer "une personne".

Code java : 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import java.util.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.ontology.*;
import java.io.*;
import java.awt.*; 
import com.hp.hpl.jena.vocabulary.XSD;
 
public class FamilyModel 
{
 
public FamilyModel ()
	{
		OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
		String uriBase = "http://www.something.com/FAM";
		model.createOntology(uriBase);
 
		//Classes
		OntClass personne = model.createClass(uriBase+"#personne");
		OntClass ego = model.createClass(uriBase+"#ego");
		OntClass femme = model.createClass(uriBase+"#femme");
		OntClass homme = model.createClass(uriBase+"#homme");
		OntClass genre = model.createClass(uriBase+"#genre");
		OntClass feminin = model.createClass(uriBase+"#feminin");
		OntClass masculin = model.createClass(uriBase+"#masculin");
		OntClass evenement = model.createClass(uriBase+"#evenement");
		OntClass deces = model.createClass(uriBase+"#deces");
		OntClass mariage = model.createClass(uriBase+"#mariage");
		OntClass divorce = model.createClass(uriBase+"#divorce");
 
 
		//Sous-classes
		genre.addSubClass(feminin);
		genre.addSubClass(masculin);
		personne.addSubClass(homme);
		personne.addSubClass(femme);
		evenement.addSubClass(deces);
		evenement.addSubClass(mariage);
		evenement.addSubClass(divorce);
 
 
		ObjectProperty aGenre = model.createObjectProperty(uriBase+"#aGenre");
		aGenre.setDomain(personne);
		aGenre.setRange(genre);
 
		DatatypeProperty aPourNom = model.createDatatypeProperty(uriBase+"#aPourNom"); 
		aPourNom.setDomain(personne);
		aPourNom.setRange(XSD.xstring);
 
		DatatypeProperty aPourPrenom = model.createDatatypeProperty(uriBase+"#aPourPrenom"); 
		aPourPrenom.setDomain(personne);
		aPourPrenom.setRange(XSD.xstring);
 
		DatatypeProperty aDateNaiss = model.createDatatypeProperty(uriBase+"#aDateNaiss"); 
		aDateNaiss.setDomain(personne);
		aDateNaiss.setRange(XSD.xstring);
 
 
		Resource P1 = model.createResource(uriBase+"Anne", personne);
		Resource P2 = model.createResource(uriBase+"Jean", personne);
		Resource P3 = model.createResource(uriBase+"Patrice", personne);
		Resource F = model.createResource(uriBase+"F", feminin);
		Resource H = model.createResource(uriBase+"H", masculin);
 
 
		Statement statement1 = model.createStatement(P1,aPourNom,"Gervais");
		Statement statement2 = model.createStatement(P1,aPourPrenom,"Anne");
		Statement statement3 = model.createStatement(P1,aGenre,F);
		Statement statement4 = model.createStatement(P1,aDateNaiss,"20/03/1984");
 
 
		model.add(statement1);
		model.add(statement2);
		model.add(statement3);
		model.add(statement4);
 
		//Write File
		StringWriter sw = new StringWriter();
		model.write(sw, "RDF/XML-ABBREV");
		String owlCode = sw.toString();
		File file = new File("d:/t2.rdf");
		try{
		FileWriter fw = new FileWriter(file);
		fw.write(owlCode);
		fw.close();
		} catch(FileNotFoundException fnfe){
		fnfe.printStackTrace();
		} catch(IOException ioe){
		ioe.printStackTrace();
		}
	}
 
	public static void main(String args[]) {
 
		new FamilyModel();
 
	}

Je voulais faire en sorte que ce soit l'utilisateur à "créer les personnes", c'est-à-dire, saisir le nom, prénom, date naissance. Car comme vous pouvez le voir ci-dessus (dans les statements), c'est moi qui saisi ces infos directement dans le code.
L'interface que je suis en train de créer a 4 textfields où l'utilisateur devra taper le nom, prénom, genre et date naissance. Puis, il clique sur "ajouter". C'est là que cela ne marche pas.

Code java : 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
 
class ActionAjoutPersonne implements ActionListener
{
	public void actionPerformed(ActionEvent evt)
	{
	for(int i=0;i<4;i++)
	{
	      tabTF[i].getText();	
	      if (i==0){				
               Statement statement1 = model.createStatement(P1,aPourNom,tabTF[0]); }
                if (i==1){
                Statement statement2 = model.createStatement(P1,aPourPrenom, tabTF[1]);}
                if (i==2){
                Statement statement3 = model.createStatement(P1,aGenre,tabTF[2]);}
               if (i==3){
               Statement statement4 = model.createStatement(P1,aDateNaiss,tabTF[3]);}
	}
 
bValiderAj.setEnabled(false);
		}

Quelqu'un peut me donner des pistes?
Merci beaucoup.