From 1cb2165ccbcd6b1210bee1dfb7b527b4d2440901 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Thu, 4 Feb 2021 10:41:09 +0000 Subject: Add versioning system for different versions of code Later on this will allow us to select the algorithm from the command line and compare performance easily. --- .../ac/ox/cs/rsacomb/FilteringProgramSpecs.scala | 92 --------------------- src/test/scala/uk/ac/ox/cs/rsacomb/SuiteAll.scala | 33 +++++--- .../rsacomb/filtering/FilteringProgramSpecs.scala | 94 ++++++++++++++++++++++ 3 files changed, 115 insertions(+), 104 deletions(-) delete mode 100644 src/test/scala/uk/ac/ox/cs/rsacomb/FilteringProgramSpecs.scala create mode 100644 src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala (limited to 'src/test') diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/FilteringProgramSpecs.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/FilteringProgramSpecs.scala deleted file mode 100644 index 32ef8da..0000000 --- a/src/test/scala/uk/ac/ox/cs/rsacomb/FilteringProgramSpecs.scala +++ /dev/null @@ -1,92 +0,0 @@ -package uk.ac.ox.cs.rsacomb - -import org.scalatest.flatspec.AnyFlatSpec -import org.scalatest.matchers.should.Matchers -import tech.oxfordsemantic.jrdfox.logic.expression.IRI -import uk.ac.ox.cs.rsacomb.FilteringProgram -import uk.ac.ox.cs.rsacomb.sparql.ConjunctiveQuery - -object FilteringProgramSpec { - - val constants = - List(IRI.create("_:iri1"), IRI.create("_:iri2"), IRI.create("_:iri3")) - - val cq0 = """ - PREFIX : - - SELECT ?X - WHERE { - ?X a :D ; - :R ?Y . - ?Y :S ?Z . - ?Z a :D . - } - """ - - val cq1 = """ - PREFIX : - - SELECT * - WHERE { - ?X a :D ; - :R ?Y . - ?Y :S ?Z . - ?Z a :D . - } - """ - - val cq2 = """ - PREFIX : - - SELECT ?X - WHERE { - ?X a :D ; - :R ?Y . - ?Y :S ?Z . - ?Y :T ?W . - ?Z a :D . - ?W a :D - } - """ - - val bcq0 = """ - PREFIX : - - ASK { - ?X a :D ; - :R ?Y . - ?Y :S ?Z . - ?Z a :D . - } - """ -} - -class FilteringProgramSpec extends AnyFlatSpec with Matchers { - - import FilteringProgramSpec._ - - "CQ 0" should "generate 27 rules and 3 facts" in { - val cq = ConjunctiveQuery.parse(cq0).get - val filter = FilteringProgram(cq) - filter.rules should have length 27 - } - - "CQ 1" should "generate 15 rules" in { - val cq = ConjunctiveQuery.parse(cq1).get - val filter = FilteringProgram(cq) - filter.rules should have length 15 - } - - "CQ 2" should "generate 51 rules" in { - val cq = ConjunctiveQuery.parse(cq2).get - val filter = FilteringProgram(cq) - filter.rules should have length 51 - } - - "BCQ 0" should "generate 46 rules" in { - val cq = ConjunctiveQuery.parse(bcq0).get - val filter = FilteringProgram(cq) - filter.rules should have length 43 - } - -} diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/SuiteAll.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/SuiteAll.scala index 2162f8c..f32c088 100644 --- a/src/test/scala/uk/ac/ox/cs/rsacomb/SuiteAll.scala +++ b/src/test/scala/uk/ac/ox/cs/rsacomb/SuiteAll.scala @@ -2,16 +2,25 @@ package uk.ac.ox.cs.rsacomb import org.scalatest.Suites -import uk.ac.ox.cs.rsacomb.converter.{OWLAxiomSpec, OWLClassSpec, RDFoxConverterSpec} -import uk.ac.ox.cs.rsacomb.sparql.{ConjunctiveQueryAnswerSpec, ConjunctiveQuerySpec} +import uk.ac.ox.cs.rsacomb.converter.{ + OWLAxiomSpec, + OWLClassSpec, + RDFoxConverterSpec +} +import uk.ac.ox.cs.rsacomb.filtering.NaiveFilteringProgramSpec +import uk.ac.ox.cs.rsacomb.sparql.{ + ConjunctiveQueryAnswerSpec, + ConjunctiveQuerySpec +} -class SuiteAll extends Suites ( - new Ontology1_CanonicalModelSpec, - new Ontology2_CanonicalModelSpec, - new FilteringProgramSpec, - new OWLAxiomSpec, - new OWLClassSpec, - new RDFoxConverterSpec, - new ConjunctiveQueryAnswerSpec, - new ConjunctiveQuerySpec -) +class SuiteAll + extends Suites( + new Ontology1_CanonicalModelSpec, + new Ontology2_CanonicalModelSpec, + new NaiveFilteringProgramSpec, + new OWLAxiomSpec, + new OWLClassSpec, + new RDFoxConverterSpec, + new ConjunctiveQueryAnswerSpec, + new ConjunctiveQuerySpec + ) diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala new file mode 100644 index 0000000..372b78c --- /dev/null +++ b/src/test/scala/uk/ac/ox/cs/rsacomb/filtering/FilteringProgramSpecs.scala @@ -0,0 +1,94 @@ +package uk.ac.ox.cs.rsacomb.filtering + +import org.scalatest.flatspec.AnyFlatSpec +import org.scalatest.matchers.should.Matchers +import tech.oxfordsemantic.jrdfox.logic.expression.IRI +import uk.ac.ox.cs.rsacomb.filtering.{FilteringProgram, FilterType} +import uk.ac.ox.cs.rsacomb.sparql.ConjunctiveQuery + +object NaiveFilteringProgramSpec { + + val naive: FilterType = FilterType.FILTER_NAIVE + + val constants = + List(IRI.create("_:iri1"), IRI.create("_:iri2"), IRI.create("_:iri3")) + + val cq0 = """ + PREFIX : + + SELECT ?X + WHERE { + ?X a :D ; + :R ?Y . + ?Y :S ?Z . + ?Z a :D . + } + """ + + val cq1 = """ + PREFIX : + + SELECT * + WHERE { + ?X a :D ; + :R ?Y . + ?Y :S ?Z . + ?Z a :D . + } + """ + + val cq2 = """ + PREFIX : + + SELECT ?X + WHERE { + ?X a :D ; + :R ?Y . + ?Y :S ?Z . + ?Y :T ?W . + ?Z a :D . + ?W a :D + } + """ + + val bcq0 = """ + PREFIX : + + ASK { + ?X a :D ; + :R ?Y . + ?Y :S ?Z . + ?Z a :D . + } + """ +} + +class NaiveFilteringProgramSpec extends AnyFlatSpec with Matchers { + + import NaiveFilteringProgramSpec._ + + "CQ 0" should "generate 27 rules and 3 facts" in { + val cq = ConjunctiveQuery.parse(cq0).get + val filter = FilteringProgram(naive)(cq) + filter.rules should have length 27 + } + + "CQ 1" should "generate 15 rules" in { + val cq = ConjunctiveQuery.parse(cq1).get + val filter = FilteringProgram(naive)(cq) + filter.rules should have length 15 + } + + "CQ 2" should "generate 51 rules" in { + val cq = ConjunctiveQuery.parse(cq2).get + val filter = FilteringProgram(naive)(cq) + filter.rules should have length 51 + } + + "BCQ 0" should "generate 46 rules" in { + val cq = ConjunctiveQuery.parse(bcq0).get + val filter = FilteringProgram(naive)(cq) + filter.rules should have length 43 + } + +} -- cgit v1.2.3