Bonjour,
j'ai créé plusieurs requêtes, et j'aime appeler les résultats de ces requêtes en choisissons le critère dans JComboBox.
par exemple dans le JComBox j'ai plusieurs items (nom.....) en choisissons nom alors la requête qui renvoie le nom souhaité est exécutée.
voici les que je fais ce code pour l'interface graphique de résultat;
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
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
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
 
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTextPane;
 
import com.hp.hpl.jena.sparql.syntax.ElementWalker.Walker;
public class Fenetre1 extends JFrame {
public static final JComboBox combo = new JComboBox();
private JPanel container = new JPanel();
 
private JLabel label = new JLabel("Resultat");
private Methodinterroga worker;
JTextPane pan=new JTextPane();
public Fenetre1(){
this.setTitle("Animation");
this.setSize(230, 210);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
container.setBackground(Color.white);
container.setLayout(new BorderLayout());
combo.setPreferredSize(new Dimension(100, 20));
combo.addItem("");
combo.addItem("Name");
 
combo.addItem("application");
combo.addItem("critére2");
combo.addItem("critére3");
combo.addItem("critére5");
JPanel top = new JPanel();
top.add(label);
top.add(combo);
 
container.add(top, BorderLayout.NORTH);
container.add(pan,BorderLayout.CENTER);
JButton bouton = new JButton("Populate");
JPanel pa = new JPanel();
bouton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        worker = new Methodinterroga();
        worker.affichage((String)combo.getSelectedItem());
    }
});
pa.add(bouton);
container.add(pa,BorderLayout.SOUTH);
this.setContentPane(container);
this.setVisible(true);
}
 
public static void main(String[] args) throws IOException {
	Fenetre1 ac = new Fenetre1();
	ac.setVisible(true);
}
}
le deuxième code pour les requêtes
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
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
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
 
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.query.Dataset;
import com.hp.hpl.jena.query.DatasetFactory;
import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.util.FileManager;
 
public class Sparql2 {
 
    private  static OntModel model;
    private final InputStream reader;
    private static Fenetre1 f =new Fenetre1(); 
 
    public static void main(String[] args){
        Sparql2 methodinterrogate = new Sparql2();
        if(f.combo.getSelectedItem().equals("Name")) {
        	methodinterrogate.affichage(methodeEtudiant(model));
       }
 
    }
 
    public Sparql2() {
        //charger le fichier de l'ontologie
        String monontologie=("F:/mastere/transport1.owl");
        //creer un modele d'ontologie
        model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RDFS_INF);
        reader = FileManager.get().open(monontologie);
        if (reader == null) {
            throw new IllegalArgumentException("File: " + monontologie
                    + " not found"); }
    }
    public static Query methodeEtudiant(OntModel model) {
        String rdfPrefix = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ;
        String ontologyns="http://www.owl-ontologies.com/Ontology1414095203.owl#";
 
        String sparqlQuery = 
                "PREFIX :<http://www.owl-ontologies.com/Ontology1414095203.owl#>\n" +
                "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
                "PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>\n" +
                "PREFIX swrl:<http://www.w3.org/2003/11/swrl#>\n"+
                "PREFIX swrlb:<http://www.w3.org/2003/11/swrlb#>\n"
 
                +
                "SELECT ?name  \n" +
                "WHERE {\n" +
                "?name rdf:type :name.\n" +
 
 
 
                "} ";
        return QueryFactory.create(sparqlQuery) ;
    }  
    public void affichage(Query sparqlQuery) {
    	 Query query = QueryFactory.create(sparqlQuery) ;
         Dataset dataset=DatasetFactory.create(model);
         QueryExecution qexec = QueryExecutionFactory.create(query,dataset) ;
             ResultSet resultset = qexec.execSelect() ;
 
             ByteArrayOutputStream output = new ByteArrayOutputStream();
             ResultSetFormatter.out(output, resultset, query);
             String resultsData = new String(output.toByteArray(), Charset.forName("utf-8"));
 
            f.pan.setText(resultsData);  
    }
 
 
 
}
j’espère que vous pouvez m'aider a corrigé ce code
merci beaucoup