From: <lor...@us...> - 2011-11-05 07:57:23
|
Revision: 3376 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3376&view=rev Author: lorenz_b Date: 2011-11-05 07:57:16 +0000 (Sat, 05 Nov 2011) Log Message: ----------- Added GROUP BY to query syntax, to be SPARQL 1.1 conform. Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Term.java trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/Evaluation.java Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java 2011-11-05 07:05:23 UTC (rev 3375) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/Query.java 2011-11-05 07:57:16 UTC (rev 3376) @@ -143,6 +143,8 @@ public String toString() { + String groupBy = null; + String retVal = ""; for (SPARQL_Prefix prefix : prefixes) { @@ -153,9 +155,14 @@ { retVal += "\nSELECT "; + String lastSelectTerm = null; for (SPARQL_Term term : selTerms) { retVal += term.toString() + " "; + if(selTerms.size() > 1 && term.toString().contains("COUNT")){ + groupBy = lastSelectTerm; + } + lastSelectTerm = term.toString(); } } else retVal += "\nASK "; @@ -175,6 +182,10 @@ } retVal += "}\n"; + + if(groupBy != null){ + retVal += "GROUP BY (" + groupBy + ")\n"; + } if (orderBy != null && !orderBy.isEmpty()) { Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Term.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Term.java 2011-11-05 07:05:23 UTC (rev 3375) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Term.java 2011-11-05 07:57:16 UTC (rev 3376) @@ -87,7 +87,7 @@ // System.err.println("SPARQL_Term: name="+name+",alias="+alias+",agg="+aggregate+",orderBy="+orderBy); // DEBUG if (aggregate != SPARQL_Aggregate.NONE) { if (alias != null && !alias.equals(name)) - return aggregate+"(?"+name.toLowerCase()+") AS ?" + alias; + return "(" + aggregate+"(?"+name.toLowerCase()+") AS ?" + alias + ")"; else return aggregate+"(?"+name.toLowerCase()+")"; } Modified: trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/Evaluation.java =================================================================== --- trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/Evaluation.java 2011-11-05 07:05:23 UTC (rev 3375) +++ trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/Evaluation.java 2011-11-05 07:57:16 UTC (rev 3376) @@ -381,7 +381,7 @@ latex.beginEnumeration(); for(WeightedQuery wQ : generatedQueries){ latex.beginEnumerationItem(); - com.hp.hpl.jena.query.Query q = QueryFactory.create(wQ.getQuery().toString()); + com.hp.hpl.jena.query.Query q = QueryFactory.create(wQ.getQuery().toString(), Syntax.syntaxARQ); if(q.toString().contains("http://dbpedia.org/property/")){ q.setPrefix("dbp", "http://dbpedia.org/property/"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |