All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.inria.edelweiss.kgramserver.webservice.SDK Maven / Gradle / Ivy

The newest version!
package fr.inria.edelweiss.kgramserver.webservice;

import com.sun.jersey.multipart.FormDataParam;
import fr.inria.edelweiss.kgraph.core.GraphStore;
import fr.inria.edelweiss.kgtool.load.LoadException;
import java.io.IOException;
import org.apache.logging.log4j.Level;

import javax.print.attribute.standard.Media;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.logging.log4j.LogManager;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Olivier Corby, Wimmics INRIA I3S, 2015
 *
 */
@Path("sdk")
public class SDK {
    
    
    @GET
    @Produces("text/html")
    public Response sdk(
            @QueryParam("query") String query, // SPARQL query
            @QueryParam("name")  String name,  // SPARQL query name (in webapp/query or path or URL)
            @QueryParam("value") String value) // values clause that may complement query           
     {
         //GraphStore g =  new Profile().getGraph("sdk.ttl");
         GraphStore g;
        try {
            //g = new Profile().loadServer("sdk.ttl");
            g = Profile.getProfile().loadServer("sdk.ttl");
        } catch (IOException ex) {
            LogManager.getLogger(SDK.class.getName()).log(Level.ERROR, "", ex);
            g = GraphStore.create();
        } catch (LoadException ex) {
            LogManager.getLogger(SDK.class.getName()).log(Level.ERROR, "", ex);
            g = GraphStore.create();
        }
         TripleStore st = new TripleStore(g);
         Param par = new Param("/sdk", null, null, null, Profile.getProfile().getQueryPath("sdk.rq"), null);
         par.setValue(value);
         
         return new Transformer().template(st, par);
    }
    
    @POST
    @Produces("text/html")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response sdkPostMD(
            @FormDataParam("query") String query, // SPARQL query
            @FormDataParam("name")  String name,  // SPARQL query name (in webapp/query or path or URL)
            @FormDataParam("value") String value){ // values clause that may complement query          
         return this.sdk(query, name, value);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy