Package edu.isi.karma.rep

Examples of edu.isi.karma.rep.Workspace


    /* Check if any workspace id is set in cookies. */
    boolean hasWorkspaceCookieId = false;
    String hasPrefId = request.getParameter(Arguments.hasPreferenceId.name());
    if(hasPrefId != null && hasPrefId.equals("true"))
      hasWorkspaceCookieId = true;
    Workspace workspace = null;
    VWorkspace vwsp = null;
   
    /* If set, pick the right preferences and CRF Model file */
    if(hasWorkspaceCookieId) {
      String cachedWorkspaceId = request.getParameter(Arguments.workspacePreferencesId.name());
      workspace = WorkspaceManager.getInstance().createWorkspaceWithPreferencesId(cachedWorkspaceId);
      vwsp = new VWorkspace(workspace, cachedWorkspaceId);
    } else {
      workspace = WorkspaceManager.getInstance().createWorkspace();
      vwsp = new VWorkspace(workspace);
    }

    workspace.setMetadataManager(metadataManager);
    WorkspaceRegistry.getInstance().register(new ExecutionController(workspace));
    VWorkspaceRegistry.getInstance().registerVWorkspace(workspace.getId(), vwsp);
   
    logger.info("Start Metadata Setup");
    try {
      metadataManager.register(new SemanticTypeModelMetadata(workspace), updateContainer);
      metadataManager.register(new OntologyMetadata(workspace), updateContainer);
      metadataManager.register(new JSONModelsMetadata(workspace), updateContainer);
      metadataManager.register(new PythonTransformationMetadata(workspace), updateContainer);
      metadataManager.register(new GraphVizMetadata(workspace), updateContainer);
      metadataManager.register(new ModelLearnerMetadata(workspace), updateContainer);
      metadataManager.register(new R2RMLMetadata(workspace), updateContainer);
      metadataManager.register(new R2RMLPublishedMetadata(workspace), updateContainer);
      metadataManager.register(new RDFMetadata(workspace), updateContainer);
      metadataManager.register(new CSVMetadata(workspace), updateContainer);
      metadataManager.register(new JSONMetadata(workspace), updateContainer);
      metadataManager.register(new ReportMetadata(workspace), updateContainer);
      metadataManager.register(new AvroMetadata(workspace), updateContainer);
    } catch (KarmaException e) {
      logger.error("Unable to complete Karma set up: ", e);
    }

    CommandHistory.setIsHistoryEnabled(true);
    CommandHistory.setHistorySaver(workspace.getId(), new R2RMLAlignmentFileSaver(workspace));
           
    // Initialize the Outlier tag
    Tag outlierTag = new Tag(TagName.Outlier, Color.Red);
    workspace.getTagsContainer().addTag(outlierTag);

    // Put all created worksheet models in the view.
    updateContainer.add(new WorksheetListUpdate());
   
    for (Worksheet w : vwsp.getWorkspace().getWorksheets()) {
View Full Code Here


  private void generateRDF(WorksheetR2RMLJenaModelParser modelParser, String sourceName, InputStream data, InputType dataType, int maxNumLines,
      boolean addProvenance, List<KR2RMLRDFWriter> writers, RootStrategy rootStrategy) throws KarmaException, IOException {
    logger.debug("Generating rdf for " + sourceName);
   
    Workspace workspace = initializeWorkspace();
    try
    {
   
   
        Worksheet worksheet = generateWorksheet(sourceName, new BufferedInputStream(data), dataType,
          workspace, maxNumLines);
     
     
      //Generate mappping data for the worksheet using the model parser
      KR2RMLMapping mapping = modelParser.parse();
     
      applyHistoryToWorksheet(workspace, worksheet, mapping);
      SuperSelection selection = SuperSelectionManager.DEFAULT_SELECTION;
      if (selectionName != null && !selectionName.trim().isEmpty())
        selection = worksheet.getSuperSelectionManager().getSuperSelection(selectionName);
      if (selection == null)
        return;
      //Generate RDF using the mapping data
      ErrorReport errorReport = new ErrorReport();
      if(rootStrategy == null)
      {
        if(rootTripleMap != null)
        {
          rootStrategy = new UserSpecifiedRootStrategy(rootTripleMap, new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy()));
        }
        else
        {
          rootStrategy = new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy());;
        }
      }
      KR2RMLWorksheetRDFGenerator rdfGen = new KR2RMLWorksheetRDFGenerator(worksheet,
              workspace.getFactory(), workspace.getOntologyManager(), writers,
              addProvenance, rootStrategy, tripleMapToKill, tripleMapToStop, POMToKill,
              mapping, errorReport, selection);
      rdfGen.generateRDF(true);
    }
    catch( Exception e)
View Full Code Here

  public RdfGenerator(String selectionName) {
    this.selectionName = selectionName;
  }
  protected Workspace initializeWorkspace() {
   
    Workspace workspace = WorkspaceManager.getInstance().createWorkspace();
        WorkspaceRegistry.getInstance().register(new ExecutionController(workspace));
        ModelingConfiguration.load();
        ModelingConfiguration.setManualAlignment(true);
        return workspace;
       
View Full Code Here

  }
 
  @Override
  public void generateJson(String prefix, PrintWriter pw,
      VWorkspace vWorkspace) {
    Workspace workspace = vWorkspace.getWorkspace();
    Worksheet worksheet = workspace.getWorksheet(worksheetId);
    JSONObject outputObject = new JSONObject();
    JSONArray array = new JSONArray();
    for (SuperSelection sel : worksheet.getSuperSelectionManager().getAllDefinedSelection()) {
      JSONObject obj = new JSONObject();
      obj.put("name", sel.getName());
View Full Code Here

    for (int i = 1; i <= meta.getColumnCount(); i++) {
      columnNames.add(meta.getColumnName(i));
    }
   
    // Prepare required Karma objects
       Workspace workspace = initializeWorkspace();
  
    RepFactory factory = workspace.getFactory();
    Worksheet wk = factory.createWorksheet(wkname, workspace, encoding);
    List<String> headersList = addHeaders(wk, columnNames, factory);
   
    int counter = 0;
   
    ArrayList<String> rowValues = null;
    while ((rowValues = dbUtil.parseResultSetRow(r)) != null) {
      // Generate RDF and create a new worksheet for every DATABASE_TABLE_FETCH_SIZE rows
      if(counter%DATABASE_TABLE_FETCH_SIZE == 0 && counter != 0) {
        generateRDFFromWorksheet(wk, workspace, mapping, writers, baseURI);
        logger.debug("Done for " + counter + " rows ..." );
          removeWorkspace(workspace);
         
          parserTest = new WorksheetR2RMLJenaModelParser(id);
        mapping = parserTest.parse();
          workspace = initializeWorkspace();
          factory = workspace.getFactory();
        wk = factory.createWorksheet(wkname, workspace, encoding);
        headersList = addHeaders(wk, columnNames, factory);
       
      }
     
View Full Code Here

    final String newWorksheetName = worksheetName + "-" + workspace.getCommandPreferencesId() + worksheetId;
    final String fileName =  newWorksheetName + ".json";
    final String fileLocalPath = ServletContextParameterMap.getParameterValue(ContextParameter.JSON_PUBLISH_DIR)
        fileName;
    final String relFilename = ServletContextParameterMap.getParameterValue(ContextParameter.JSON_PUBLISH_RELATIVE_DIR) + fileName;
    final Workspace finalWorkspace = workspace;

    final class PublishJSONUpdate extends AbstractUpdate {
      String newWSId = null;
      String errorOnUpdate = null;
View Full Code Here

    final String newWorksheetName = worksheetName;
    final String fileName =  newWorksheetName + ".md";
    final String fileLocalPath = ServletContextParameterMap.getParameterValue(ContextParameter.REPORT_PUBLISH_DIR)
        fileName;
    final String relFilename = ServletContextParameterMap.getParameterValue(ContextParameter.REPORT_PUBLISH_RELATIVE_DIR) + fileName;
    final Workspace finalWorkspace = workspace;
   
    UpdateContainer uc = new UpdateContainer(new AbstractUpdate() {
      public void generateJson(String prefix, PrintWriter pw,
          VWorkspace vWorkspace) {
        try {
View Full Code Here

  public UpdateContainer showPreview(HttpServletRequest request) throws CommandException {
    boolean filter = Boolean.parseBoolean(request.getParameter("filter"));
    UpdateContainer uc = new UpdateContainer(new ImportPropertiesUpdate(getFile(), encoding, maxNumLines, id));
    if (!filter)
      return uc;
    final Workspace workspace = WorkspaceManager.getInstance().createWorkspace();
    Import imp = createImport(workspace, 1000);
    try {
      final Worksheet worksheet = imp.generateWorksheet();           
      uc.add(new AbstractUpdate() {       
        @Override
        public void generateJson(String prefix, PrintWriter pw,
            VWorkspace vWorkspace) {
          JSONObject response = new JSONObject();
          response.put(AbstractUpdate.GenericJsonKeys.updateType.name(),
              "PreviewHeaderUpdate");
          JSONArray columns = getColumnsJsonArray(worksheet.getHeaders().getHNodes());
          response.put(JsonKeys.columns.name(), columns);
          pw.println(response.toString());
        }

        private JSONArray getColumnsJsonArray(Collection<HNode> headers) {
          JSONArray columns = new JSONArray();
          for(HNode headerNode : headers) {
            JSONObject column = new JSONObject();
            column.put(JsonKeys.id.name(), headerNode.getId());
            column.put(JsonKeys.name.name(), headerNode.getColumnName());
            column.put(JsonKeys.visible.name(), true);
            boolean hideable = true;
            if(headerNode.hasNestedTable()) {
              JSONArray children = getColumnsJsonArray(headerNode.getNestedTable().getHNodes());
              if (children.length() > 0)
                column.put(JsonKeys.children.name(), children);
            }
            column.put(JsonKeys.hideable.name(), hideable);
            columns.put(column);
          }
          return columns;
        }
      });
      WorkspaceManager.getInstance().removeWorkspace(workspace.getId());
      return uc;
    } catch (Exception e) {
      throw new CommandException(this, "An error has occured!");
    }
View Full Code Here

TOP

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

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.