From 9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8 Mon Sep 17 00:00:00 2001 From: yzhou Date: Tue, 21 Apr 2015 10:34:27 +0100 Subject: initial version --- test/uk/ac/ox/cs/jrdfox/Tester.java | 102 ++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 test/uk/ac/ox/cs/jrdfox/Tester.java (limited to 'test/uk/ac/ox/cs/jrdfox/Tester.java') diff --git a/test/uk/ac/ox/cs/jrdfox/Tester.java b/test/uk/ac/ox/cs/jrdfox/Tester.java new file mode 100644 index 0000000..00476d6 --- /dev/null +++ b/test/uk/ac/ox/cs/jrdfox/Tester.java @@ -0,0 +1,102 @@ +package uk.ac.ox.cs.jrdfox; + +import java.io.File; + +import uk.ac.ox.cs.JRDFox.JRDFStoreException; +import uk.ac.ox.cs.JRDFox.Prefixes; +import uk.ac.ox.cs.JRDFox.store.DataStore; +import uk.ac.ox.cs.JRDFox.store.Parameters; +import uk.ac.ox.cs.JRDFox.store.TupleIterator; +import uk.ac.ox.cs.pagoda.util.Timer; + +public class Tester { + + public static void main(String[] args) { + try { + (new Tester()).test();; + } catch (JRDFStoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + DataStore store; + Prefixes prefixes = new Prefixes(); + Parameters parameters; + + public Tester() { + try { + store = new DataStore(new File("lazy-upper-bound")); + } catch (JRDFStoreException e) { + e.printStackTrace(); + } + parameters = new Parameters(); + parameters.m_allAnswersInRoot = true; + parameters.m_useBushy = true; + + } + + public void dispose() { + store.dispose(); + } + + public void test() throws JRDFStoreException { + evaluate("PREFIX benchmark: " + + "SELECT distinct ?x WHERE { " + + "?x a benchmark:Person . " + + "?x benchmark:like ?y . " + + "?z a benchmark:Chair . " + + "?z benchmark:isHeadOf . " + + "?z benchmark:like ?y . " + + "?x a . " + + "?z a . " + + "?y a }"); + + evaluate("PREFIX benchmark: " + + "SELECT distinct ?x WHERE { " + + "?x a benchmark:Person . " + + "?x benchmark:like ?y . " + + "?z a benchmark:Chair . " + + "?z benchmark:isHeadOf . " + + "?z benchmark:like ?y . " + + "?z a . " + + "?y a ." + + "?x a }"); + + evaluate("PREFIX benchmark: " + + "SELECT distinct ?x WHERE { " + + "?x a benchmark:Person . " + + "?x benchmark:like ?y . " + + "?z a benchmark:Chair . " + + "?z benchmark:isHeadOf . " + + "?z benchmark:like ?y . " + + "?y a . " + + "?x a . " + + "?z a }"); + + evaluate("PREFIX benchmark: " + + "SELECT distinct ?x WHERE { " + + "?x a benchmark:Person . " + + "?x benchmark:like ?y . " + + "?z a benchmark:Chair . " + + "?z benchmark:isHeadOf . " + + "?z benchmark:like ?y . " + + "?y a }"); +} + + public void evaluate(String query) throws JRDFStoreException { + TupleIterator iter = store.compileQuery(query, prefixes, parameters); + + int number = 0; + Timer t = new Timer(); + try { + for (long multi = iter.open(); multi != 0; multi = iter.getNext()) + ++number; + } finally { + iter.dispose(); + } + System.out.println(number); + System.out.println(t.duration()); + } + +} -- cgit v1.2.3