Package com.google.gwt.ricordo.server

Source Code of com.google.gwt.ricordo.server.RDFHandler

package com.google.gwt.ricordo.server;

import virtuoso.jena.driver.VirtGraph;
import virtuoso.jena.driver.VirtuosoQueryExecution;
import virtuoso.jena.driver.VirtuosoQueryExecutionFactory;
import virtuoso.jena.driver.VirtuosoUpdateFactory;
import virtuoso.jena.driver.VirtuosoUpdateRequest;

import com.hp.hpl.jena.query.ResultSet;


public class RDFHandler

  private static final String BQBIOL = "PREFIX bqbiol: <http://biomodels.net/biology-qualifiers/>";
  private static final String RCMD = "PREFIX rcmd: <http://www.ebi.ac.uk/ricordo/model#>";
  private static final String SBMLO = "PREFIX sbmlo: <http://www.ebi.ac.uk/ricordo/toolbox/sbmlo/>";
  private static final String SPACE =" ";
  private static final String INFERANCE ="define input:inference \"ricordo_rule\"";
  private static final String RICORDO ="<http://ricordotest.com>";
 
  private VirtGraph graph = null;
 
  public RDFHandler(){
    //graph = new VirtGraph ("jdbc:virtuoso://localhost:1111", "dba", "dba");
    graph = new VirtGraph ("jdbc:virtuoso://bioonto.gen.cam.ac.uk:1111", "dba", "dba");
  }
 
  public ResultSet getModelQuery(String miriumUrn){   
    StringBuffer buffer = new StringBuffer();
    buffer.append(INFERANCE).append(SPACE);
    buffer.append(RCMD).append(SPACE);
    buffer.append("SELECT DISTINCT ?m COUNT (?s)").append(SPACE);
    buffer.append("FROM ").append(RICORDO).append(SPACE);
    buffer.append("WHERE { ?s rcmd:elementOf ?m . ?s ?p <").append(miriumUrn).append("> } GROUP BY ?m");

    System.out.println(buffer.toString());
    VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (buffer.toString(), graph);
    return vqe.execSelect();
  }
 
  public ResultSet getVariableQuery(String modelName, String miriumUrn){
    StringBuffer buffer = new StringBuffer();
    buffer.append(INFERANCE).append(SPACE);
    buffer.append(RCMD).append(SPACE);
    buffer.append("SELECT DISTINCT ?s ?p").append(SPACE);
    buffer.append("FROM ").append(RICORDO).append(SPACE);
    buffer.append("WHERE { ?s rcmd:elementOf <").append(modelName).append("> . ?s ?p <").append(miriumUrn).append("> }");
       
    VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (buffer.toString(), graph);
    return vqe.execSelect();
  }
 
  public ResultSet getVariableQuery(String modelName){
    StringBuffer buffer = new StringBuffer();
    buffer.append(INFERANCE).append(SPACE);
    buffer.append(RCMD).append(SPACE);
    buffer.append("SELECT DISTINCT ?s").append(SPACE);
    buffer.append("FROM ").append(RICORDO).append(SPACE);
    buffer.append("WHERE { ?s rcmd:elementOf <").append(modelName).append("> }");
       
    VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (buffer.toString(), graph);
    return vqe.execSelect();
  }
 
  public ResultSet getVariableAnnotationQuery(String variableName){   
    StringBuffer buffer = new StringBuffer();
    buffer.append(INFERANCE).append(SPACE);
    buffer.append(RCMD).append(SPACE);
    buffer.append("SELECT DISTINCT ?p ?o").append(SPACE);
    buffer.append("FROM ").append(RICORDO).append(SPACE);
    buffer.append("WHERE { <").append(variableName).append("> ?p ?o . FILTER regex(str(?p), \"biology\")} ");
        VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (buffer.toString(), graph);
    return vqe.execSelect();
  }
 
  public void insertAnnotString(String variableName, String property, String annotValue){
    StringBuffer buffer = new StringBuffer();
    buffer.append("INSERT INTO GRAPH  ").append(RICORDO).append(SPACE);
    buffer.append("{ <").append(variableName).append("> <http://biomodels.net/biology-qualifiers/").append(property).append("> <").append(annotValue).append("> }");
        VirtuosoUpdateRequest  vur = VirtuosoUpdateFactory.create(buffer.toString(), graph);
        System.out.println(buffer.toString());
        vur.exec();
       
  }
 
 
}
TOP

Related Classes of com.google.gwt.ricordo.server.RDFHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.