Bonjour,
J'ai besoin d'interroger mon ontologie alors je pense que je dois utiliser SPARQL.
J'aimerais faire afficher le résultat dans une interface (JTextPane par exemple) au lieu de la console.
Comment puis-je également poser plusieurs requêtes en même temps ?
Voici le code que j'ai réussi à faire:
Fentere1 est une autre classe contenant pan comme JTextPane(). J'essaie d'afficher le résultat en JTextPane mais malheureusement ça fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 import java.io.InputStream; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModelSpec; 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.ModelFactory; import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.vocabulary.RDF; public class Recupererinstance { private static Fenetre1 f; public static void main(String[] args){ //charger le fichier de l'ontologie String monontologie=("F:/mastere/regle.owl"); //creer un modele d'ontologie OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RDFS_INF); InputStream reader = FileManager.get().open(monontologie); if (reader == null) { throw new IllegalArgumentException("File: " + monontologie + " not found"); } model.read(reader , "","RDF/XML"); String rdfPrefix = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; String ontologyns="http://www.owl-ontologies.com/Ontology1400577325.owl#"; /// nom de controlleur : String sparqlQuery = "PREFIX name:<http://www.owl-ontologies.com/Ontology1400577325.owl#>\n" + "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>\n" + "PREFIX swrl:<http://www.w3.org/2003/11/swrl#>\n"+ "PREFIX swrlb:<http://www.w3.org/2003/11/swrlb#>\n" + "SELECT ?y \n" + "WHERE {\n" + " ?y rdf:type name:homme" + "} "; Query query = QueryFactory.create(sparqlQuery) ; Dataset dataset=DatasetFactory.create(model); QueryExecution qexec = QueryExecutionFactory.create(query,dataset) ; ResultSet resultset = qexec.execSelect() ; ResultSetFormatter.out(System.out,resultset,query) ; //Affichage du resultat while(resultset.hasNext()) { QuerySolution row = (QuerySolution)resultset.next(); RDFNode c= row.get("x"); System.out.print(c.toString()); f.pan.setText(resultset.toString()); }}}
Quelqu'un saurait-il me guider un peu ?
Merci d'avance pour votre aide.
Partager