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

Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Dernière intervention
6 septembre 2013
- 23 mai 2012 à 13:00 - 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 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
12
Date d'inscription
vendredi 10 décembre 2010
Dernière intervention
6 septembre 2013
- 28 mai 2012 à 11:01
1
Merci
Bonjour,
j'ai trouvé la solution.
Merci

Merci helaba 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

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

Merci helaba 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de helaba
Messages postés
6
Date d'inscription
dimanche 30 janvier 2011
Dernière intervention
4 juin 2012
- 4 juin 2012 à 23:14
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.