Package edu.isi.karma.rdf

Source Code of edu.isi.karma.rdf.TestJSONRDFGeneratorWithContext

package edu.isi.karma.rdf;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.fail;

import java.io.File;
import java.io.FileInputStream;
import java.io.PrintWriter;
import java.io.StringWriter;

import org.json.JSONObject;
import org.json.JSONTokener;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import edu.isi.karma.kr2rml.ContextIdentifier;
import edu.isi.karma.kr2rml.mapping.R2RMLMappingIdentifier;
import edu.isi.karma.kr2rml.writer.JSONKR2RMLRDFWriter;
import edu.isi.karma.rdf.GenericRDFGenerator.InputType;

public class TestJSONRDFGeneratorWithContext extends TestJSONRDFGenerator {
  private static Logger logger = LoggerFactory.getLogger(TestJSONRDFGeneratorWithContext.class);
  /**
   * @throws java.lang.Exception
   */
  @AfterClass
  public static void tearDownAfterClass() throws Exception {
  }

  /**
   * @throws java.lang.Exception
   */
  @Before
  public void setUp() throws Exception {
    rdfGen = new GenericRDFGenerator(null);

    // Add the models in
    R2RMLMappingIdentifier modelIdentifier = new R2RMLMappingIdentifier(
        "events-model", getTestResource(
             "context/events-no-augmentation-model.ttl"));
    rdfGen.addModel(modelIdentifier);
  }

  /**
   * @throws java.lang.Exception
   */
  @After
  public void tearDown() throws Exception {
  }

  /**
   * Test method for
   * {@link edu.isi.karma.rdf.JSONRDFGenerator#generateRDF(java.lang.String, java.lang.String, boolean, java.io.PrintWriter)}
   * .
   */

  @Test
  public void testGenerateJSONWithContext() {
    try {
      String filename = "context/events.json";
      String contextName = "context/events_context.json";
      logger.info("Loading json file: " + filename);
      StringWriter sw = new StringWriter();
      PrintWriter pw = new PrintWriter(sw);
      File contextFile =  new File(getTestResource(contextName).toURI());
      JSONTokener token = new JSONTokener(new FileInputStream(contextFile));
      ContextIdentifier contextId = new ContextIdentifier("events-context", contextFile.toURI().toURL());
      JSONKR2RMLRDFWriter writer = new JSONKR2RMLRDFWriter(pw);
      writer.setGlobalContext(new JSONObject(token), contextId);
      RDFGeneratorRequest request = new RDFGeneratorRequest("events-model", filename);
      request.setInputFile(new File(getTestResource(filename).toURI()));
      request.setAddProvenance(false);
      request.setDataType(InputType.JSON);
      request.addWriter(writer);
      rdfGen.generateRDF(request);
      String rdf = sw.toString();
      assertNotEquals(rdf.length(), 0);
      String[] lines = rdf.split("(\r\n|\n)");
      int count = lines.length;
     
      assertEquals(318, count);
    } catch (Exception e) {
      logger.error("testGenerateJSONWithContext failed:", e);
      fail("Execption: " + e.getMessage());
    }
  }
}
TOP

Related Classes of edu.isi.karma.rdf.TestJSONRDFGeneratorWithContext

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.