Interroger une ontologie via une plateforme

Signaler
Messages postés
1
Date d'inscription
jeudi 11 juin 2020
Statut
Membre
Dernière intervention
11 juin 2020
-
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 :

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