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

Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
6 septembre 2013
- - Dernière réponse :  NINA1989 - 23 août 2012 à 19:42
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
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
6 septembre 2013
2
1
Merci
Bonjour,
j'ai trouvé la solution.
Merci

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de helaba
Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Statut
Membre
Dernière intervention
6 septembre 2013
2
1
Merci
Bonsoir,
voici quelques documents sur les ontologies et jena : http://web-semantique.developpez.com/tutoriels/jena/introduction-rdf/
bonne continuation

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de helaba
Messages postés
6
Date d'inscription
dimanche 30 janvier 2011
Statut
Membre
Dernière intervention
4 juin 2012
0
Merci
svp vous pouvez me donner les fichier owl et le programme irgent.
Commenter la réponse de yacino148
0
Merci
Bonjour,
Pouvez vous me donnez quelques documentations sur la programmation et le traitement des ontologies OWL utilisant l'API jena SVP?!
Commenter la réponse de NINA1989
0
Merci
Merci, j'ai déjà consulté cette page mais malheureusement elle n'a pas pu m'offrir beaucoup d'informations , mais merci quand meme
Commenter la réponse de NINA1989