Remplir une liste déroulante à partir d'une ontologie

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

5 réponses

helaba Messages postés 12 Date d'inscription vendredi 10 décembre 2010 Statut Membre Dernière intervention 6 septembre 2013 2
28 mai 2012 à 11:01
Bonjour,
j'ai trouvé la solution.
Merci
1
helaba Messages postés 12 Date d'inscription vendredi 10 décembre 2010 Statut Membre Dernière intervention 6 septembre 2013 2
15 août 2012 à 23:50
Bonsoir,
voici quelques documents sur les ontologies et jena : http://web-semantique.developpez.com/tutoriels/jena/introduction-rdf/
bonne continuation
1
yacino148 Messages postés 6 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 4 juin 2012
4 juin 2012 à 23:14
svp vous pouvez me donner les fichier owl et le programme irgent.
0
Bonjour,
Pouvez vous me donnez quelques documentations sur la programmation et le traitement des ontologies OWL utilisant l'API jena SVP?!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci, j'ai déjà consulté cette page mais malheureusement elle n'a pas pu m'offrir beaucoup d'informations , mais merci quand meme
0
Rejoignez-nous