From 6f47a6a6a1c9ce8c6ed3131aa6cd6ce82c477c3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Thu, 10 Sep 2015 20:11:36 +0000 Subject: [PATCH] - Renamed SPARQLSelectRendererTest - Added reverse construct tests --- test/src/SPARQLConstructVisitorTest.java | 126 ++++++++++-------- ... => SPARQLLinkkerRendererVisitorTest.java} | 2 +- 2 files changed, 71 insertions(+), 57 deletions(-) rename test/src/{SPARQLSelectRendererVisitorTest.java => SPARQLLinkkerRendererVisitorTest.java} (99%) diff --git a/test/src/SPARQLConstructVisitorTest.java b/test/src/SPARQLConstructVisitorTest.java index 3be8ae6e..18f5bb83 100644 --- a/test/src/SPARQLConstructVisitorTest.java +++ b/test/src/SPARQLConstructVisitorTest.java @@ -61,6 +61,8 @@ public class SPARQLConstructVisitorTest { */ @Test(groups = {"full", "impl", "raw"}) public void ConstructSimplePropertiesRelation() throws Exception { + // JE: This is absolutely non standard: + // no init and alignment used without ontology declaration EDOALAlignment alignment = new EDOALAlignment(); Relation opusRelation = new EquivRelation(); Expression opusExpression1 = new PropertyId(new URI("http://exmo.inrialpes.fr/connectors#opus")); @@ -77,31 +79,35 @@ public class SPARQLConstructVisitorTest { String expectedQuery1 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" - + "?s ns1:opus ?o .\n" + + "?s ns0:opus ?o .\n" + "}\n" + "WHERE {\n" - + "?s ns0:opus ?o .\n" + + "?s ns1:opus ?o .\n" + "}\n"; + assertEquals( renderer.getQuery(opusCell), expectedQuery1 ); + // Reverse direction String expectedQuery2 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" - + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" - + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + + "PREFIX ns1:<http://exmo.inrialpes.fr/connectors#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX ns0:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" + "?s ns0:opus ?o .\n" + "}\n" + "WHERE {\n" + "?s ns1:opus ?o .\n" + "}\n"; + EDOALAlignment inval = new EDOALAlignment(); + EDOALCell opusCell2 = opusCell.inverse(); + inval.addAlignCell(opusCell2); + renderer = new SPARQLConstructRendererVisitor(writer); + renderer.init(properties); + inval.render(renderer); + assertEquals( renderer.getQuery(opusCell2), expectedQuery2 ); - // JE2015-Tosee - assertEquals( renderer.getQuery(opusCell), expectedQuery2 ); - //assertEquals(renderer.getQueryFromOnto1ToOnto2(opusCell), expectedQuery1); - //assertEquals(renderer.getQueryFromOnto2ToOnto1(opusCell), expectedQuery2); - //With Named Graph String namedGraph = "http://exmo.inrialpes.fr/connectors/one-graph"; renderer = new SPARQLConstructRendererVisitor(writer); @@ -112,21 +118,23 @@ public class SPARQLConstructVisitorTest { expectedQuery1 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" - + "?s ns1:opus ?o .\n" + + "?s ns0:opus ?o .\n" + "}\n" + "WHERE {\n" + "GRAPH <http://exmo.inrialpes.fr/connectors/one-graph> {\n" - + "?s ns0:opus ?o .\n" + + "?s ns1:opus ?o .\n" + "}\n" + "}\n"; + assertEquals( renderer.getQuery(opusCell), expectedQuery1 ); + // Reverse direction expectedQuery2 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" - + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" - + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + + "PREFIX ns1:<http://exmo.inrialpes.fr/connectors#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX ns0:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" + "?s ns0:opus ?o .\n" + "}\n" @@ -135,12 +143,12 @@ public class SPARQLConstructVisitorTest { + "?s ns1:opus ?o .\n" + "}\n" + "}\n"; - - // JE2015-Tosee - assertEquals( renderer.getQuery(opusCell), expectedQuery2 ); - //assertEquals(renderer.getQueryFromOnto1ToOnto2(opusCell), expectedQuery1); - //assertEquals(renderer.getQueryFromOnto2ToOnto1(opusCell), expectedQuery2); - + renderer = new SPARQLConstructRendererVisitor(writer); + properties = new Properties(); + properties.setProperty( "graphName", namedGraph ); + renderer.init(properties); + inval.render(renderer); + assertEquals( renderer.getQuery(opusCell2), expectedQuery2 ); //For remote sparql endpoint : // String remoteServiceURIName = "http://example.org/remoteSparql"; @@ -199,30 +207,34 @@ public class SPARQLConstructVisitorTest { String expectedQuery1 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" - + "?s rdf:type ns1:MusicalWork .\n" + + "?s rdf:type ns0:RootElement .\n" + "}\n" + "WHERE {\n" - + "?s rdf:type ns0:RootElement .\n" + + "?s rdf:type ns1:MusicalWork .\n" + "}\n"; + assertEquals( renderer.getQuery( classCell ), expectedQuery1 ); + // Reverse direction String expectedQuery2 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" - + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" - + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + + "PREFIX ns1:<http://exmo.inrialpes.fr/connectors#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX ns0:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" - + "?s rdf:type ns0:RootElement .\n" + + "?s rdf:type ns0:MusicalWork .\n" + "}\n" + "WHERE {\n" - + "?s rdf:type ns1:MusicalWork .\n" + + "?s rdf:type ns1:RootElement .\n" + "}\n"; - - // JE2015-Tosee - assertEquals( renderer.getQuery( classCell ), expectedQuery2 ); - //assertEquals(renderer.getQueryFromOnto1ToOnto2(classCell), expectedQuery1); - //assertEquals(renderer.getQueryFromOnto2ToOnto1(classCell), expectedQuery2); + EDOALAlignment inval = new EDOALAlignment(); + EDOALCell classCell2 = classCell.inverse(); + inval.addAlignCell(classCell2); + renderer = new SPARQLConstructRendererVisitor(writer); + renderer.init(properties); + inval.render(renderer); + assertEquals( renderer.getQuery( classCell2 ), expectedQuery2 ); } @Test(groups = {"full", "impl", "raw"}) @@ -236,42 +248,44 @@ public class SPARQLConstructVisitorTest { renderer.init(properties); alignment.render(renderer); assertEquals(alignment.nbCells(), 1); - Enumeration<Cell> cells = alignment.getElements(); - Cell cell = cells.nextElement(); + Cell cell = alignment.getElements().nextElement(); String expectedQuery1 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "PREFIX ns1:<http://purl.org/NET/c4dm/keys.owl#>\n" + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + "PREFIX ns3:<http://www.w3.org/2000/01/rdf-schema#>\n" + "PREFIX ns2:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" - + "_:o3 rdf:type ns1:Key .\n" - + "_:o3 ns2:key _:o4 .\n" - + "_:o4 ns3:label ?o .\n" + + "?s ns0:key ?o .\n" + "}\n" + "WHERE {\n" - + "?s ns0:key ?o .\n" + + "?o3 rdf:type ns1:Key .\n" + + "?o3 ns2:key ?o4 .\n" + + "?o4 ns3:label ?o .\n" + "}\n"; + assertEquals( renderer.getQuery( cell ), expectedQuery1 ); + // Reverse direction String expectedQuery2 = "PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" - + "PREFIX ns1:<http://purl.org/NET/c4dm/keys.owl#>\n" - + "PREFIX ns0:<http://exmo.inrialpes.fr/connectors#>\n" - + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" - + "PREFIX ns3:<http://www.w3.org/2000/01/rdf-schema#>\n" - + "PREFIX ns2:<http://purl.org/ontology/mo/>\n" + + "PREFIX ns0:<http://purl.org/NET/c4dm/keys.owl#>\n" + + "PREFIX ns3:<http://exmo.inrialpes.fr/connectors#>\n" + + "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>\n" + + "PREFIX ns2:<http://www.w3.org/2000/01/rdf-schema#>\n" + + "PREFIX ns1:<http://purl.org/ontology/mo/>\n" + "CONSTRUCT {\n" - + "?s ns0:key ?o .\n" + + "_:o3 rdf:type ns0:Key .\n" + + "_:o3 ns1:key _:o4 .\n" + + "_:o4 ns2:label ?o .\n" + "}\n" + "WHERE {\n" - + "?o3 rdf:type ns1:Key .\n" - + "?o3 ns2:key ?o4 .\n" - + "?o4 ns3:label ?o .\n" + + "?s ns3:key ?o .\n" + "}\n"; - // JE2015-Tosee - assertEquals( renderer.getQuery( cell ), expectedQuery2 ); - //assertEquals(renderer.getQueryFromOnto1ToOnto2(cell), expectedQuery1, "FOR alignment file " + alignmentFileName); - //assertEquals(renderer.getQueryFromOnto2ToOnto1(cell), expectedQuery2, "FOR alignment file " + alignmentFileName); + EDOALAlignment inval = alignment.inverse(); + renderer = new SPARQLConstructRendererVisitor(writer); + renderer.init(properties); + inval.render(renderer); + assertEquals( renderer.getQuery( inval.getElements().nextElement() ), expectedQuery2 ); } // @Test(groups = {"full", "impl", "raw"}) diff --git a/test/src/SPARQLSelectRendererVisitorTest.java b/test/src/SPARQLLinkkerRendererVisitorTest.java similarity index 99% rename from test/src/SPARQLSelectRendererVisitorTest.java rename to test/src/SPARQLLinkkerRendererVisitorTest.java index a2b753df..45b507ea 100644 --- a/test/src/SPARQLSelectRendererVisitorTest.java +++ b/test/src/SPARQLLinkkerRendererVisitorTest.java @@ -50,7 +50,7 @@ import org.testng.annotations.Test; * JE: The same test could be made with the construct link. */ -public class SPARQLSelectRendererVisitorTest { +public class SPARQLLinkkerRendererVisitorTest { // JE2015-Tosee // This is a test which has no sense, because there is no linkkey -- GitLab