package esl.cuenet.algorithms.collation; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.model.ModelFactory; import esl.cuenet.mapper.parser.MappingParser; import esl.cuenet.mapper.parser.ParseException; import esl.cuenet.mapper.tree.*; import esl.cuenet.query.QueryEngine; import org.junit.Test; import test.TestBase; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; public class FirstKAlgorithmTest extends TestBase { public FirstKAlgorithmTest() { super(); } protected OntModel model = null; protected SourceMapper sourceMapper = null; protected String mappingsFile = "./mappings/sources.map"; @Test public void testFirstKAlgorithm() throws FileNotFoundException, ParseException, SourceParseException { OntModel model = ModelFactory.createOntologyModel(); model.read(new FileReader("/home/arjun/Documents/Dropbox/Ontologies/cuenet-main/cuenet-main.owl"), "http://www.semanticweb.org/arjun/cuenet-main.owl"); MappingParser parser = new MappingParser(new FileInputStream(mappingsFile)); parser.setIParseTreeCreator(new ParseTree(mappingsFile)); IParseTree tree = parser.parse_document(); ParseTreeInterpreter interpreter = new ParseTreeInterpreter(tree); interpreter.setOntologyModel(model); interpreter.interpret(); sourceMapper = interpreter.getSourceMapper(); String queryString = "SELECT ?x ?givenName ?name" + " WHERE { " + "?x <type-of> <http://cn/person> . " + "?x <http://www.w3.org/2001/vcard-rdf/3.0#FN> ?fullname . " + "?x <http://www.w3.org/2001/vcard-rdf/3.0#N> ?name . " + "?x <http://www.w3.org/2001/vcard-rdf/3.0#AGE> 40 . " + "?name <http://www.w3.org/2001/vcard-rdf/3.0#Given> ?givenName . " + " FILTER (?x!=<http://somewhere/arjun-satish-uri> && ?givenName!=\"Nujre\") }"; QueryEngine engine = new QueryEngine(model, sourceMapper); engine.execute(queryString); } }