Package fr.inria.jfresnel

Examples of fr.inria.jfresnel.Lens


*@param org.w3c.dom.Document for output
*@param DOM document element to which all elements are appended
*@param set of URI's of lenses to be rendered
*/
void render(FresnelDocument fd, Repository dataRepo, Document doc, Element parent, Lens[] lens) throws ParserConfigurationException {
  Lens renderLens = SesameLens.selectRenderLens(lens);
  if (renderLens == null)
    return;
  if (renderLens.getSPARQLInstanceDomains() != null) {
    SPARQLQuery[] sid = renderLens.getSPARQLInstanceDomains();
    SesameLens sl = (SesameLens)renderLens;
    SPARQLSesameEvaluator sse = new SPARQLSesameEvaluator();
    sse.setDataRepository(dataRepo);
    for (int i = 0; i < sid.length; i++)
    {
      Vector queryResults = sse.evaluateQuery(sid[i]);
      for (int k=0; k<queryResults.size(); k++) {
      Object end = queryResults.get(k);
      if (end instanceof Resource)
      {
        Resource r = (Resource)end;
        Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
        parent.appendChild(eR);
      }
      else if (end instanceof Literal)
      {
        /*
        Literal l = (Literal)end;
       
        ValueFactory f = dataRepo.getValueFactory();
        URI r = f.createURI(l.getLabel());
        if (r == null)
          continue;
        Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
               
        parent.appendChild(eR);
        */
      }
      else if (end instanceof Statement)
      {
        String error = "Render Error: SPARQL query must end on node";
        throw new ParserConfigurationException(error);
      }
    }
    }
  }
  else if (renderLens.getFSLInstanceDomains() != null)
  {
    FSLPath[] fid = renderLens.getFSLInstanceDomains();
    SesameLens sl = (SesameLens)renderLens;
    FSLSesameEvaluator fse = new FSLSesameEvaluator();
    fse.setDataRepository(dataRepo);
    for (int i = 0; i < fid.length; i++)
    {
      Vector pathInstances = fse.evaluatePath(fid[i]);
      for (int k=0; k<pathInstances.size(); k++) {
      Object end = ((Vector)pathInstances.get(k)).get(0);
      if (end instanceof Resource)
      {
        Resource r = (Resource)end;
        Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
        parent.appendChild(eR);
      }
     
      else if (end instanceof Literal)
      {
        Literal l = (Literal)end;
        ValueFactory f = dataRepo.getValueFactory();
        URI r = f.createURI(l.getLabel());
        if (r == null)
          continue;
        Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
        parent.appendChild(eR);
      }
      else if (end instanceof Statement)
      {
        String error = "Render Error: FSL path must end on node";
        throw new ParserConfigurationException(error);
      }
      }
    }
  }
  else if (renderLens.getBasicInstanceDomains() != null)
  {
    java.lang.String[] bid = renderLens.getBasicInstanceDomains();
    SesameLens sl = (SesameLens)renderLens;
    HashMap resSet = new HashMap();

    for (int j = 0; j < bid.length; j++)
    {
      ValueFactory f = dataRepo.getValueFactory();
      URI r = f.createURI(bid[j]);
      if (r == null)
        continue;

      // Don't render resource twice (???)
      if (resSet.containsKey(r))
          continue;
      resSet.put(r, null);
     
      Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
      parent.appendChild(eR);
    }
  }
  else if (renderLens.getBasicClassDomains() != null)
  {
    java.lang.String[] cd = renderLens.getBasicClassDomains();
    SesameLens sl = (SesameLens)renderLens;
    ValueFactory f = dataRepo.getValueFactory();
    URI pRDFType = f.createURI(Constants.RDF_NAMESPACE_URI + "type")
    HashMap resSet = new HashMap();

View Full Code Here


     *@param DOM document element to which all elements are appended
     *@param set of URI's of lenses to be rendered
   * @throws RepositoryException
   */
  void render(FresnelDocument fd, Repository dataRepo, Document doc, Element parent, Lens[] lens, int offset, int limit) throws ParserConfigurationException, RepositoryException {
    Lens renderLens = SesameLens.selectRenderLens(lens);
    MResutls mres = new MResutls();
    if (renderLens == null)
      return;
    if (renderLens.getSPARQLInstanceDomains() != null) {
      System.out.println("Rendering getSPARQLInstanceDomains()...");
      SPARQLQuery[] sid = renderLens.getSPARQLInstanceDomains();
      SesameLens sl = (SesameLens)renderLens;
      //call extended version of SPARQLSesameEvaluator (to get metadata)
      SPARQLSesameEvaluator msse = new SPARQLSesameEvaluator();     
      msse.setDataRepository(dataRepo);
      for (int i = 0; i < sid.length; i++)
      {
        String query = sid[i].toString() + "LIMIT "+limit+" OFFSET "+offset;
       
        //return values with metadata
        Map<Value, ComplexProvenance> mqueryResults = msse.metaEvaluateQuery(query);
        if(!mqueryResults.isEmpty()){
          for (Value value: mqueryResults.keySet()) {
          Object end = value;
          //resources++;
            if (end instanceof Resource)
            {
              Resource r = (Resource)end;
              Element eR;
              //serialize meta knowledge or not
             
              eR = createResourceElement(fd, dataRepo, doc, sl, null, r, mqueryResults.get(value), Constants.DEFAULT_MAX_DEPTH, mres);
              parent.appendChild(eR);
            }
            else if (end instanceof Literal)
            {
              Literal l = (Literal)end;
              ValueFactory f = dataRepo.getValueFactory();
              URI r = f.createURI(l.getLabel());
              if (r == null)
                continue;
              Element eR;
              //serialize meta knowledge or not
              eR = createResourceElement(fd, dataRepo, doc, sl, null, r, mqueryResults.get(value), Constants.DEFAULT_MAX_DEPTH, mres);
              parent.appendChild(eR);
            }
            else if (end instanceof Statement)
            {
              String error = "Render Error: SPARQL query must end on node";
              throw new ParserConfigurationException(error);
            }
          }         
        }else{       
          //return values without metadata
          fr.inria.jfresnel.sparql.sesame.SPARQLSesameEvaluator fsse = new fr.inria.jfresnel.sparql.sesame.SPARQLSesameEvaluator();     
          fsse.setDataRepository(dataRepo);
          Vector queryResults = fsse.evaluateQuery(new SPARQLQuery(query));
          for (int k=0; k<queryResults.size(); k++) {
            Object end = queryResults.get(k);
            //resources++;
            if (end instanceof Resource)
            {
              Resource r = (Resource)end;
              Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
              parent.appendChild(eR);
            }
            else if (end instanceof Literal)
            {
              Literal l = (Literal)end;
              ValueFactory f = dataRepo.getValueFactory();
              URI r = f.createURI(l.getLabel());
              if (r == null)
                continue;
              Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
              parent.appendChild(eR);
            }
            else if (end instanceof Statement)
            {
              String error = "Render Error: SPARQL query must end on node";
              throw new ParserConfigurationException(error);
            }
          }
        }
      }
    }
    //still not extended to return results with metadata!
    else if (renderLens.getFSLInstanceDomains() != null)
    {
      System.out.println("Rendering getFSLInstanceDomains()...");
      FSLPath[] fid = renderLens.getFSLInstanceDomains();
      SesameLens sl = (SesameLens)renderLens;     
      FSLSesameEvaluator fse = new FSLSesameEvaluator();
      fse.setDataRepository(dataRepo);
      for (int i = 0; i < fid.length; i++)
      {
        //resources ++;
        Vector pathInstances = fse.evaluatePath(fid[i]);
        for (int k=0; k<pathInstances.size(); k++) {
        Object end = ((Vector)pathInstances.get(k)).get(0);
       
        if (end instanceof Resource)
        {
          Resource r = (Resource)end;
          Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);         
          parent.appendChild(eR);
        }
       
        else if (end instanceof Literal)
        {
          Literal l = (Literal)end;
          ValueFactory f = dataRepo.getValueFactory();
          URI r = f.createURI(l.getLabel());
          if (r == null)
            continue;
          Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
          parent.appendChild(eR);
        }
        else if (end instanceof Statement)
        {
          String error = "Render Error: FSL path must end on node";
          throw new ParserConfigurationException(error);
        }
        }
      }
    }
    // I don't know if here it should be return metadata here !!!
    else if (renderLens.getBasicInstanceDomains() != null)
    {
      System.out.println("Rendering getBasicInstanceDomains()...");
      java.lang.String[] bid = renderLens.getBasicInstanceDomains();
      SesameLens sl = (SesameLens)renderLens;
      HashMap resSet = new HashMap();

      for (int j = 0; j < bid.length; j++)
      {
       
        ValueFactory f = dataRepo.getValueFactory();
        URI r = f.createURI(bid[j]);
        if (r == null)
          continue;

        // Don't render resource twice (???)
        if (resSet.containsKey(r))
            continue;
        resSet.put(r, null);
       
        SPARQLSesameEvaluator sse = new SPARQLSesameEvaluator();
        sse.setDataRepository(dataRepo);
        try {         
          String query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
          "SELECT DISTINCT *" +
          "WHERE {{ <"+r+"> rdf:type ?t}}"+
          "LIMIT "+limit+" OFFSET "+offset;                             
          //return values with metadata
          Map<Value, ComplexProvenance> queryResults = sse.metaEvaluateQuery(query);
          //with metadata
          if(!queryResults.isEmpty()){
            for (Value value: queryResults.keySet()) {     
              Element eR;
              //serialize meta knowledge or not
              //resources ++;
              eR = createResourceElement(fd, dataRepo, doc, sl, null, r, queryResults.get(value), Constants.DEFAULT_MAX_DEPTH, mres);
              parent.appendChild(eR);
            }             
          //without metadata
          }else{       
            //resources ++;
            Element eR = createResourceElement(fd, dataRepo, doc, sl, null, r, Constants.DEFAULT_MAX_DEPTH);
            parent.appendChild(eR);
          }
        }catch (Exception ex){
          System.out.println("Error while getting statements from repository:");
        }
      }
    }
    else if (renderLens.getBasicClassDomains() != null)
    {
      System.out.println("Rendering getBasicClassDomains() ...");
      java.lang.String[] cd = renderLens.getBasicClassDomains();
      SesameLens sl = (SesameLens)renderLens;
      HashMap resSet = new HashMap();
      SPARQLSesameEvaluator sse = new SPARQLSesameEvaluator();
      sse.setDataRepository(dataRepo);
      for (int j = 0; j < cd.length; j++)      {
View Full Code Here

        repository = lenaConfig.getRemoteRepository();
        //System.out.println("SET LOCAL");
      }
      if (lensGiven && resourceGiven) {
        System.out.println("*** LENA: lens and resource given");
        Lens lens = fd.getLens(fresnelLensString);
        lens.setInstanceDomain(resourceURIString);
        document = rendererRender(repository, lens, offset, limit)
      } else if (resourceGiven){
        System.out.println(String.format("*** LENA: no lens, but resource %s",resourceURIString));             
        Lens defaultLens=defaultLenses.getLens(defaultResourceLens);       
        defaultLens.setInstanceDomain(resourceURIString);
        System.out.println("Print Resource Lens:" + defaultLenses.getLens(defaultResourceLens))
        document =  rendererRender(repository, defaultLens, offset, limit);       
      } else if (classGiven) {
        System.out.println(String.format("*** LENA: no lens, no resource, but class %s",classURIString));
        Lens defaultLens=defaultLenses.getLens(defaultClassLens);       
        defaultLens.setClassDomain(classURIString);
        System.out.println("Print Classes Lens:" + defaultLenses.getLens(defaultClassLens));       
        document =  rendererRender(repository, defaultLens, offset, limit);       
      } else if (lensGiven) {        
        System.out.println(String.format("*** LENA: lens %s, no resource given", fresnelLensString));
        Lens lens = fd.getLens(fresnelLensString);
        document =  rendererRender(repository, lens, offset, limit);       
      } else { //if (!lensGiven && !resourceGiven && !classGiven) {             
        System.out.println("No lens and/or resource and class parameter set!");
        errorMessage.append("No lens and/or resource and class parameter set!");     
        //return document;
View Full Code Here

  public List<Lens> isLensForResourceAvailable(FresnelDocument fd, Repository repository, String r) {
    List<String> listType = getResourceType(repository, r);
    List<Lens> list = new ArrayList<Lens>()
    Lens[] ls=fd.getLenses();
      for (int j=0;ls != null && j<ls.length;j++) {
        Lens lens = ls[j]
      //if (lens.hasPurpose(new Purpose(new URIImpl("http://www.w3.org/2004/09/fresnel#defaultLens")))) {
      // Iterator for a lens domain set.
      String[] domains = lens.getBasicInstanceDomains();
      for(int l=0; domains!=null && l < domains.length; l++){
        if (domains[l].equals(r)) {
          list.add(lens);
        }         
      }
      String[] classes = lens.getBasicClassDomains();
      for(int l=0; classes!=null && l < classes.length; l++){       
        for (int f=0; listType !=null && f <listType.size(); f++){
          String resourceType = listType.get(f);
          if (classes[l].equals(resourceType)) {
            list.add(lens);
View Full Code Here

TOP

Related Classes of fr.inria.jfresnel.Lens

Copyright © 2018 www.massapicom. 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.