j'ai un projet qui est : Interroger une ontologie créé sous protége via une plateforme (une application web) et pour cela j'ai utilisé une servlet avec ce code ,mais il y a toujours une erreur que je ne comprends pas
est ce que le problème est au niveau du servlet ou au niveau de jars de jena utilisées ,
svp aider moi;
le code de servlet :
Code java : 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
72 import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.jena.query.Query; import org.apache.jena.query.QueryExecution; import org.apache.jena.query.QueryExecutionFactory; import org.apache.jena.query.QueryFactory; import org.apache.jena.query.QuerySolution; import org.apache.jena.query.ResultSet; import org.apache.jena.rdf.model.Literal; import org.apache.jena.rdf.model.Model; import org.apache.jena.util.FileManager; @WebServlet(urlPatterns = {"/tryfial"}) public class tryfial extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List <String> bases=getBases(); request.setAttribute("bases", bases); request.getRequestDispatcher("resultat.jsp").forward(request, response); } private List<String> getBases(){ String queryString="PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>" +"PREFIX owl: <http://www.w3.org/2002/07/owl#>" +"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>" +"PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>" +"PREFIX ont: <http://wwws.owl-ontologies.com/unnamed.owl#>" +"" + "SELECT *" + " WHERE " + "{" + "?Proteins ont:Super_Protein ?Super_Protein" + " } "; System.out.println(queryString); List<String> values= new ArrayList<>(); Model model = FileManager.get().loadModel("C:/pro/PrOnto.owl"); Query query = QueryFactory.create(queryString); QueryExecution qexec = QueryExecutionFactory.create(query, model) ; try { ResultSet rs = qexec.execSelect() ; while ( rs.hasNext()){ QuerySolution rb = rs.nextSolution() ; Literal y = rb.getLiteral("Super_Protein"); values.add(y.toString()); System.out.println(y); } }finally{ qexec.close();} return values; } }
et voilà l'erreur:
HTTP Status 500 - Internal Server Error
type Exception report
messageInternal Server Error
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
java.util.ServiceConfigurationError: org.apache.jena.sys.JenaSubsystemLifecycle: Provider org.apache.jena.query.spatial.InitJenaSpatial not a subtype
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 4.1.1 logs.
GlassFish Server Open Source Edition 4.1.1
Partager