Remplir une liste déroulante à partir d'une ontologie [Résolu]

Signaler
Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
6 septembre 2013
-
 NINA1989 -
je voulais récupérer les instances de ma ontologie. voici le code:


package conn;
/**
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Dimension;
import java.awt.Color;


public class menu {

public static void main(String[] arg) {
JFrame cadre = new javax.swing.JFrame("KATRAS_ACT");
JPanel panneau = new JPanel();
panneau.setPreferredSize(new Dimension(250, 150));
panneau.setBackground(Color.WHITE);
cadre.setContentPane(panneau);
cadre.setLocation(400, 300);
cadre.pack();
cadre.setVisible(true);
cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}*/
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.io.InputStream;
import java.util.Iterator;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

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.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.sparql.util.IndentedWriter;
import com.hp.hpl.jena.util.FileManager;
import com.hp.hpl.jena.vocabulary.RDF;

class menu {
public static final String owlFile="file:///C:/Program Files/Protege_3.4.7/examples/Krs1.owl";
public static final String NL = System.getProperty("line.separator") ;
private JLabel label = new JLabel("Une ComboBox");

public static void main( String[] args ) {
// try {

// InputStream in=null;
// in=new FileInputStream(new File("C:/Program Files/Protege_3.4.8/examples/rdf/fichier.rdf"));

// Creation d'un modele d'ontologie pour une ontologie OWL-DL avec un resonneur RDFS
// Model m = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RDFS_INF);
Model m=ModelFactory.createMemModelMaker().createModel(null);
// Lecture du fichier OWL. Le Namespace de notre ontologie doit etre specifié
FileManager.get().readModel( m, owlFile );





//
String myOntologyName = "ProjetHela";
String uri="file:///C:/Program Files/Protege_3.4.7/examples/Krs1.owl";
// Définition de prefixe pour simplifier l'utilisation de SPARQL
String reuses = "reuses: <"+RDF.getURI()+">" ;
// String myOntologyPrefix = "PREFIX "+myOntologyName+": <"+myOntologyNS+">" ;
String myOntologyPrefix = "PREFIX "+myOntologyName+": <"+uri+">" ;



// Construction de la requete
// String queryString = myOntologyPrefix + NL
// + had + NL
String queryString=
"PREFIX reuses: <http://www.owl-ontologies.com/reuses.owl#>"
+ "SELECT ?hasnamebesoin"
+ " WHERE "
+ "{"
+ "?Besoin reuses:hasnamebesoin ?hasnamebesoin."
+ " } ";


Query query = QueryFactory.create(queryString) ;

// // Affichage de la requete sur la sortie standard.
//query.serialize(new IndentedWriter(System.out,true)) ;
//System.out.println() ;

// Create a single execution of this query, apply to a model
// which is wrapped up as a Dataset
QueryExecution qexec = QueryExecutionFactory.create(query, m) ;

// Execution de la requete
try {
// Pour l'instant nous nous limitons a des requetes de type SELECT
ResultSet rs = qexec.execSelect() ;

// Affichage des resultats
for ( ; rs.hasNext() ; ){
//System.out.print("");



JFrame frame = new JFrame("choix");
frame.setSize(600,600);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setLocationRelativeTo(SwingUtilities.getRoot(frame));
JDesktopPane desktop = new JDesktopPane();

QuerySolution rb = rs.nextSolution() ;
String y = rb.getLiteral("hasnamebesoin").getString();
//frame.addItem(rs.getString(y.toString()));
//System.out.print
frame.setLayout(new FlowLayout ());
Choice c = new Choice();
c.addItem(y.toString() + ";\n");

frame.add(c);
frame.show();
frame.pack();

}
}
finally{
qexec.close() ;

}


} }

ça marché mais le problème réside dont la génération de plusieurs fenêtres.
aidez moi SVP

5 réponses

Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
6 septembre 2013
2
Bonjour,
j'ai trouvé la solution.
Merci
Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
6 septembre 2013
2
Bonsoir,
voici quelques documents sur les ontologies et jena : http://web-semantique.developpez.com/tutoriels/jena/introduction-rdf/
bonne continuation
Messages postés
6
Date d'inscription
dimanche 30 janvier 2011
Statut
Membre
Dernière intervention
4 juin 2012

svp vous pouvez me donner les fichier owl et le programme irgent.
Bonjour,
Pouvez vous me donnez quelques documentations sur la programmation et le traitement des ontologies OWL utilisant l'API jena SVP?!
Merci, j'ai déjà consulté cette page mais malheureusement elle n'a pas pu m'offrir beaucoup d'informations , mais merci quand meme