--- a/server/src/tests/Libraries/Sparql/SparqlQueryAnalyserTest.php Mon Oct 31 14:24:23 2016 +0100
+++ b/server/src/tests/Libraries/Sparql/SparqlQueryAnalyserTest.php Thu Nov 03 01:52:26 2016 +0100
@@ -10,6 +10,7 @@
"GRAPH" => "graph.sparql",
"LIMIT_OFFSET" => "limit_offset.sparql",
"PREFIXES" => "prefixes.sparql",
+ "PREFIXES_LIMIT" => "prefixes_limit.sparql",
"SELECT" => "select.sparql",
"UNKNOWN" => "unknown.sparql",
];
@@ -78,4 +79,22 @@
], $analyser->getRawPrefixes());
}
+ public function testRawQuery() {
+ $analyser = new SparqlQueryAnalyser($this->getTestQuery("PREFIXES_LIMIT"));
+
+ $this->assertEquals(20, $analyser->getOffset());
+ $this->assertEquals(10, $analyser->getLimit());
+ $this->assertEquals("select ?Nom ?resource ?url (count( distinct (?o) as ?nb))
+ where {
+ ?resource rdfs:label ?Nom.
+ ?resource foaf:isPrimaryTopicOf ?url.
+ ?resource rdf:type ?p.
+ ?resource dbpedia-owl:wikiPageExternalLink ?o
+FILTER ( langMatches( lang(?Nom), \"EN\" )).
+?Nom <bif:contains> \"Apple\".
+MINUS { ?resource dbo:wikiPageRedirects|dbo:wikiPageDisambiguates ?dis }
}
+Group By ?Nom ?resource ?url", $analyser->getRawQuery());
+ }
+
+}