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

helaba 12 Messages postés vendredi 10 décembre 2010Date d'inscription 6 septembre 2013 Dernière intervention - 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 

5 réponses

Répondre au sujet
helaba 12 Messages postés vendredi 10 décembre 2010Date d'inscription 6 septembre 2013 Dernière intervention - 28 mai 2012 à 11:01
+1
Utile
Bonjour,
j'ai trouvé la solution.
Merci
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de helaba
helaba 12 Messages postés vendredi 10 décembre 2010Date d'inscription 6 septembre 2013 Dernière intervention - 15 août 2012 à 23:50
+1
Utile
Bonsoir,
voici quelques documents sur les ontologies et jena : http://web-semantique.developpez.com/tutoriels/jena/introduction-rdf/
bonne continuation
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de helaba
yacino148 6 Messages postés dimanche 30 janvier 2011Date d'inscription 4 juin 2012 Dernière intervention - 4 juin 2012 à 23:14
0
Utile
svp vous pouvez me donner les fichier owl et le programme irgent.
Commenter la réponse de yacino148
0
Utile
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
Utile
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.