Package com.clarkparsia.sparqlowl.parser.test

Source Code of com.clarkparsia.sparqlowl.parser.test.ParserTestParentQueries

// Copyright (c) 2006 - 2008, Clark & Parsia, LLC. <http://www.clarkparsia.com>
// This source code is available under the terms of the Affero General Public License v3.
//
// Please see LICENSE.txt for full license terms, including the availability of proprietary exceptions.
// Questions, comments, or requests for clarification: licensing@clarkparsia.com

package com.clarkparsia.sparqlowl.parser.test;

import static org.junit.Assert.assertEquals;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;

import junit.framework.JUnit4TestAdapter;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.mindswap.pellet.KnowledgeBase;
import org.mindswap.pellet.jena.JenaLoader;
import org.mindswap.pellet.test.PelletTestSuite;
import org.mindswap.pellet.utils.FileUtils;

import com.clarkparsia.pellet.sparqldl.parser.ARQParser;
import com.clarkparsia.sparqlowl.parser.arq.ARQTerpParser;
import com.clarkparsia.sparqlowl.parser.arq.TerpSyntax;
import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.Syntax;

/**
* <p>
* Title:
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2009
* </p>
* <p>
* Company: Clark & Parsia, LLC. <http://www.clarkparsia.com>
* </p>
*
* @author Evren Sirin
*/
@RunWith(Parameterized.class)
public class ParserTestParentQueries {
  public static final String base = PelletTestSuite.base + "/sparqldl-tests/simple/";
 
  public static junit.framework.Test suite() {
    return new JUnit4TestAdapter( ParserTestParentQueries.class );
  }
 
  @Parameters
  public static Collection<Object[]> getParameters() {
    Collection<Object[]> parameters = new ArrayList<Object[]>();
    parameters.add( new Object[] { "parent1.rq", "parent1.sparqlowl" } );
    parameters.add( new Object[] { "parent2.rq", "parent2.sparqlowl" } );
    parameters.add( new Object[] { "parent3.rq", "parent3.sparqlowl" } );
    parameters.add( new Object[] { "parent4.rq", "parent4.sparqlowl" } );
    parameters.add( new Object[] { "parent5.rq", "parent5.sparqlowl" } );
    parameters.add( new Object[] { "parent6.rq", "parent6.sparqlowl" } );
    parameters.add( new Object[] { "parent7.rq", "parent7.sparqlowl" } );
    parameters.add( new Object[] { "parent8.rq", "parent8.sparqlowl" } );
    parameters.add( new Object[] { "parent9.rq", "parent9.sparqlowl" } );
    //parameters.add( new Object[] { "parent10.rq", "parent10.sparqlowl" } );  //Not supported
    return parameters;
  }

  private static KnowledgeBase kb;
  private static ARQParser parser;
 
  private String sparqlFile;
  private String sparqlOWLFile;
 
  public ParserTestParentQueries(String sparqlFile, String sparqlOWLFile) {
    this.sparqlFile = sparqlFile;
    this.sparqlOWLFile = sparqlOWLFile;
  }
 
  @BeforeClass
  public static void beforeClass() {
    ARQTerpParser.registerFactory();
   
    JenaLoader loader = new JenaLoader();
    kb = loader.createKB(base+"parent.ttl");
     parser = new ARQParser();
  }
 
  @AfterClass
  public static void afterClass() {
    ARQTerpParser.unregisterFactory();
   
    kb = null;
    parser = null;
  }
 
  @Test
  public void compareQuery() throws FileNotFoundException, IOException {
    Query sparql = QueryFactory.create( FileUtils.readFile( base + sparqlFile ), Syntax.syntaxSPARQL );
    com.clarkparsia.pellet.sparqldl.model.Query expected = parser.parse( sparql, kb );
   
    Query sparqlOWL = QueryFactory.create( FileUtils.readFile( base + sparqlOWLFile ), TerpSyntax.getInstance() );   
    com.clarkparsia.pellet.sparqldl.model.Query actual = parser.parse( sparqlOWL, kb );
   
    assertEquals( expected.getAtoms(), actual.getAtoms() );
  }
}
TOP

Related Classes of com.clarkparsia.sparqlowl.parser.test.ParserTestParentQueries

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.