Package edu.isi.karma.rep

Examples of edu.isi.karma.rep.Worksheet


  }

  @Override
  public UpdateContainer undoIt(Workspace workspace) {
    UpdateContainer c = new UpdateContainer();
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    if (oldType == null) {
      worksheet.getSemanticTypes().unassignColumnSemanticType(
          newType.getHNodeId());
    } else {
      worksheet.getSemanticTypes().addType(oldType);
      worksheet.getSemanticTypes().addSynonymTypesForHNodeId(
          newType.getHNodeId(), oldSynonymTypes);
    }
   
    // Replace the current alignment with the old alignment
    String alignmentId = AlignmentManager.Instance().constructAlignmentId(
View Full Code Here


      throws JSONException, KarmaException {
    String worksheetId = HistoryJsonUtil.getStringValue(Arguments.worksheetId.name(), inputJson);
    String hNodeId = HistoryJsonUtil.getStringValue(Arguments.hNodeId.name(), inputJson);
    this.normalizeSelectionId(worksheetId, inputJson, workspace);
    String selectionName = CommandInputJSONUtil.getStringValue(Arguments.selectionName.name(), inputJson);
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    if (worksheet == null) {
      throw new KarmaException("Worksheet not found");
    }
    String transformCode = worksheet.getMetadataContainer().getColumnMetadata().getColumnPython(hNodeId);
    if (transformCode == null) {
      throw new KarmaException("Transform code is null");
    }
    RepeatPythonTransformationCommand cmd = new RepeatPythonTransformationCommand(getNewId(workspace), worksheetId,
        hNodeId, transformCode, selectionName);
View Full Code Here

    long start = System.currentTimeMillis();
   
    String workspaceId = AlignmentManager.Instance().getWorkspaceId(alignment);
    String worksheetId = AlignmentManager.Instance().getWorksheetId(alignment);
   
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
   
    if(modelFilename == null && worksheet != null) {
      modelFilename = getHistoryFilepath(worksheetId);
    }
   
    long end1 = System.currentTimeMillis();
    logger.info("Time to get alignment info for saving: " + (end1-start) + "msec");
   
    // Generate the KR2RML data structures for the RDF generation
    final ErrorReport errorReport = new ErrorReport();
    if (worksheet != null)
      alignmentMappingGenerator = new KR2RMLMappingGenerator(workspace, worksheet, alignment,
          worksheet.getSemanticTypes(), prefix, namespace, false, history, errorReport);
   
    long end2 = System.currentTimeMillis();
    logger.info("Time to generate mappings:" + (end2-end1) + "msec");
   
    // Write the model
View Full Code Here

    writer.close();
  }

  @Override
  public String getHistoryFilepath(String worksheetId) {
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    String modelFilename = workspace.getCommandPreferencesId() + worksheetId + "-" +
        worksheet.getTitle() "-auto-model.ttl";
    String modelFileLocalPath = ServletContextParameterMap.getParameterValue(
        ContextParameter.R2RML_USER_DIR) +  modelFilename;
    return modelFileLocalPath;
  }
View Full Code Here

    return CommandType.undoable;
  }

  @Override
  public UpdateContainer doIt(Workspace workspace) throws CommandException {
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    RepFactory f = workspace.getFactory();
    HNode hNode = f.getHNode(hNodeId);
    inputColumns.clear();
    outputColumns.clear();
    outputColumns.add(targetHNodeId);
View Full Code Here

  }

  @Override
  public UpdateContainer doIt(Workspace workspace) throws CommandException {
    RepFactory Repfactory = workspace.getFactory();
    Worksheet worksheet = workspace.getWorksheet(
        worksheetId);
    SuperSelection selection = getSuperSelection(worksheet);
    inputColumns.clear();
    outputColumns.clear();
    Object para = JSONUtil.createJson(this.getInputParameterJson());
    HTable htable;
    if (hNodeId.compareTo("") != 0)
      htable = Repfactory.getHTable(Repfactory.getHNode(hNodeId).getHTableId());
    else
      htable = worksheet.getHeaders();
    hnodes.clear();
    //List<String> HNodeIds = new ArrayList<String>();
    JSONArray checked = (JSONArray) JSONUtil.createJson(CommandInputJSONUtil.getStringValue("values", (JSONArray)para));
    for (int i = 0; i < checked.length(); i++) {
      JSONObject t = (checked.getJSONObject(i));
      hnodes.add(htable.getHNode((String) t.get("value")));
      inputColumns.add(t.getString("value"));
    }
    ArrayList<Row> rows = worksheet.getDataTable().getRows(0, worksheet.getDataTable().getNumRows(), selection);
    if (htable != worksheet.getHeaders()) {
      HTable parentHT = htable.getParentHNode().getHTable(Repfactory);
      List<Table> parentTables = new ArrayList<Table>();
      CloneTableUtils.getDatatable(worksheet.getDataTable(), parentHT,parentTables, selection);
      ArrayList<Row> parentRows = new ArrayList<Row>();
      rows.clear();
      for (Table tmp : parentTables) {
        for (Row row : tmp.getRows(0, tmp.getNumRows(), selection)) {
          parentRows.add(row);
        }
      }
      for (Row parentRow : parentRows) {
        Table t = null;
        for (Node node : parentRow.getNodes()) {
          if (node.hasNestedTable() && node.getNestedTable().getHTableId().compareTo(htable.getId()) == 0) {
            t = node.getNestedTable();
            break;
         
        }
        ArrayList<Row> tmpRows = t.getRows(0, t.getNumRows(), selection);
        for (Row r : tmpRows) {
          rows.add(r);
        }
      }
    }
    //System.out.println("HNodeID: " + htable.getHNodeIdFromColumnName("homeworks"));
    //HNodeIds.add(htable.getHNodeIdFromColumnName("homeworks"));
   
    //HashValueManager.getHashValue(rows.get(0), HNodeIds);
    //hnodes.add(htable.getHNode("HN5"));
    //hnodes.add(htable.getHNode("HN7"));
    JSONArray array = new JSONArray();
    JSONArray input = new JSONArray();
    for (Row row : rows) {
      String id = row.getId();
      JSONArray t = new JSONArray();
      for (HNode hnode : hnodes) {
        Node node = row.getNode(hnode.getId());
        String name = hnode.getColumnName();
        Object value = CloneTableUtils.cloneNodeToJSON(hnode, node, selection);
        JSONObject obj = new JSONObject();
        JSONObject obj2 = new JSONObject();
        if (value instanceof String)
          obj2.put("values", value);
        else
          obj2.put(worksheet.getHeaders().getNewColumnName("nested"), value);
        obj.put("values", obj2);
        obj.put("names", name);
        t.put(obj);     
      }
      JSONObject obj = new JSONObject();
      obj.put("rowId", id);
      obj.put("rowIdHash", "");
      obj.put("values", t);
      array.put(obj);   
    }
    JSONObject obj = new JSONObject();
    obj.put("name", "AddValues");
    obj.put("value", array.toString());
    obj.put("type", "other");
    input.put(obj);
    try{
      AddValuesCommandFactory factory = new AddValuesCommandFactory();
      //hNodeId = hnodes.get(0).getId();
      cmd = factory.createCommand(input, workspace, hNodeId, worksheetId, hTableId, worksheet.getHeaders().getNewColumnName("fold"), HNodeType.Transformation, selection.getName());
      cmd.doIt(workspace);
      outputColumns.addAll(cmd.getOutputColumns());
      WorksheetUpdateFactory.detectSelectionStatusChange(worksheetId, workspace, this);
      UpdateContainer c =  new UpdateContainer();   
      c.append(WorksheetUpdateFactory.createRegenerateWorksheetUpdates(worksheetId, getSuperSelection(worksheet)));
View Full Code Here

  @Override
  public UpdateContainer doIt(Workspace workspace) throws CommandException {
   

   
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    SuperSelection selection = getSuperSelection(worksheet);
    RepFactory f = workspace.getFactory();
    Alignment alignment = AlignmentManager.Instance().getAlignment(
        AlignmentManager.Instance().constructAlignmentId(workspace.getId(),
            worksheetId));
    OntologyManager ontMgr = workspace.getOntologyManager();
    // Set the prefix and namespace to be used while generating RDF
    fetchRdfPrefixAndNamespaceFromPreferences(workspace);
   
    // Generate the KR2RML data structures for the RDF generation
    final ErrorReport errorReport = new ErrorReport();
    KR2RMLMappingGenerator mappingGen = null;
    try {
      mappingGen = new KR2RMLMappingGenerator(
          workspace, worksheet, alignment,
          worksheet.getSemanticTypes(), rdfPrefix, rdfNamespace,
          false, errorReport);
    } catch (KarmaException e)
    {
      logger.error("Error occured while generating RDF!", e);
      return new UpdateContainer(new ErrorUpdate("Error occured while generating RDF: " + e.getMessage()));
    }
    KR2RMLMapping mapping = mappingGen.getKR2RMLMapping();

    logger.debug(mapping.toString());
   
    //****************************************************************************************************/
    //*** Extract list of TripleMaps *************************************************************************************************/
    List<TriplesMap> triplesMapList = mapping.getTriplesMapList();
   

    String rootTriplesMapId = null;
    for(TriplesMap map: triplesMapList)
    {
      if(map.getSubject().getId().compareTo(alignmentNodeId) == 0)
      {
        rootTriplesMapId = map.getId();
        break;
      }
    }
    if(null == rootTriplesMapId)
    {
      String errmsg ="Invalid alignment id " + alignmentNodeId;
      logger.error(errmsg);
      return new UpdateContainer(new ErrorUpdate("Error occured while searching for root for JSON: " +errmsg));
    }
    final String avroFileName = workspace.getCommandPreferencesId() + worksheetId + "-" +
        worksheet.getTitle().replaceAll("\\.", "_") "-export"+".avro";
    final String avroFileLocalPath = ServletContextParameterMap.getParameterValue(ContextParameter.AVRO_PUBLISH_DIR)
        avroFileName;
   
    try {
      FileOutputStream fos = new FileOutputStream(new File(avroFileLocalPath));
View Full Code Here

  }
  @Override
  public void applyUpdate(VWorkspace vWorkspace)
  {
    VWorksheet vWorksheet = vWorkspace.getViewFactory().getVWorksheetByWorksheetId(worksheetId);
    Worksheet worksheet = vWorksheet.getWorksheet();
    vWorkspace.getViewFactory().updateWorksheet(vWorksheet.getId(), worksheetBeforeInvocation,
        worksheet.getHeaders().getAllPaths(), vWorkspace);
  }
View Full Code Here

  @Override
  public UpdateContainer doIt(Workspace workspace) throws CommandException {
    logger.info("Entered ExportJSONCommand");


    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    SuperSelection selection = getSuperSelection(worksheet);
    RepFactory f = workspace.getFactory();
    Alignment alignment = AlignmentManager.Instance().getAlignment(
        AlignmentManager.Instance().constructAlignmentId(workspace.getId(),
            worksheetId));
    OntologyManager ontMgr = workspace.getOntologyManager();
    // Set the prefix and namespace to be used while generating RDF
    fetchRdfPrefixAndNamespaceFromPreferences(workspace);

    // Generate the KR2RML data structures for the RDF generation
    final ErrorReport errorReport = new ErrorReport();
    KR2RMLMappingGenerator mappingGen = null;
    try {
      mappingGen = new KR2RMLMappingGenerator(
          workspace, worksheet, alignment,
          worksheet.getSemanticTypes(), rdfPrefix, rdfNamespace,
          false, errorReport);
    } catch (KarmaException e)
    {
      logger.error("Error occured while generating RDF!", e);
      return new UpdateContainer(new ErrorUpdate("Error occured while generating RDF: " + e.getMessage()));
    }
    KR2RMLMapping mapping = mappingGen.getKR2RMLMapping();
    //    TriplesMap triplesMap = mapping.getTriplesMapIndex().get(alignmentNodeId);
    if (contextFromModel) {
      KR2RMLMappingWriter writer;
      try {
        StringWriter string = new StringWriter();
        PrintWriter pw = new PrintWriter(string);
        writer = new KR2RMLMappingWriter();
        writer.addR2RMLMapping(mapping, worksheet, workspace);
        writer.writeR2RMLMapping(pw);
        writer.close();
        pw.flush();
        pw.close();
        Model model = ModelFactory.createDefaultModel();
        InputStream s = new ReaderInputStream(new StringReader(string.toString()));
        model.read(s, null, "TURTLE");
        contextJSON = new ContextGenerator(model, true).generateContext().toString();

      } catch (Exception e) {

      }

    }
    logger.debug(mapping.toString());

    //****************************************************************************************************/
    //*** Extract list of TripleMaps *************************************************************************************************/
    List<TriplesMap> triplesMapList = mapping.getTriplesMapList();


    String rootTriplesMapId = null;
    for(TriplesMap map: triplesMapList)
    {
      if(map.getSubject().getId().compareTo(alignmentNodeId) == 0)
      {
        rootTriplesMapId = map.getId();
        break;
      }
    }
    if(null == rootTriplesMapId)
    {
      String errmsg ="Invalid alignment id " + alignmentNodeId;
      logger.error(errmsg);
      return new UpdateContainer(new ErrorUpdate("Error occured while searching for root for JSON: " +errmsg));
    }
    // create JSONKR2RMLRDFWriter
    final String jsonFileName = workspace.getCommandPreferencesId() + worksheetId + "-" +
        worksheet.getTitle().replaceAll("\\.", "_") "-export"+".json";
    final String jsonFileLocalPath = ServletContextParameterMap.getParameterValue(ContextParameter.JSON_PUBLISH_DIR)
        jsonFileName;
    final String contextName = workspace.getCommandPreferencesId() + worksheetId + "-" + worksheet.getTitle().replaceAll("\\.", "_") "-context.json";
    final String jsonContextFileLocalPath = ServletContextParameterMap.getParameterValue(ContextParameter.JSON_PUBLISH_DIR) + contextName;
    PrintWriter printWriter;
    try {
      printWriter = new PrintWriter(jsonFileLocalPath);
      String baseURI = worksheet.getMetadataContainer().getWorksheetProperties().getPropertyValue(Property.baseURI);
      JSONKR2RMLRDFWriter writer = new JSONKR2RMLRDFWriter(printWriter, baseURI);
      if (contextJSON != null && !contextJSON.isEmpty()) {
        JSONObject context = new JSONObject();
        try {
          context = new JSONObject(this.contextJSON);
View Full Code Here

    return CommandType.undoable;
  }

  @Override
  public UpdateContainer doIt(Workspace workspace) throws CommandException {
    Worksheet worksheet = workspace.getWorksheet(
        worksheetId);
   
    try{
      if(hTableId==null || hTableId.isEmpty()){
        //get table id based on the hNodeId
View Full Code Here

TOP

Related Classes of edu.isi.karma.rep.Worksheet

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.