You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by ha...@apache.org on 2009/12/15 13:50:54 UTC
svn commit: r890780 - in /incubator/clerezza/issues/CLEREZZA-33: ./
org.apache.clerezza.rdf.core/
org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/
org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/...
Author: hasan
Date: Tue Dec 15 12:50:53 2009
New Revision: 890780
URL: http://svn.apache.org/viewvc?rev=890780&view=rev
Log:
CLEREZZA-33: fixed sparql serialization bug in serializing argument list of builtin function calls
Added:
incubator/clerezza/issues/CLEREZZA-33/
incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/
- copied from r890769, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/
Modified:
incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
Modified: incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java?rev=890780&r1=890769&r2=890780&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java (original)
+++ incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java Tue Dec 15 12:50:53 2009
@@ -224,8 +224,13 @@
s.append(name).append("(");
for (Expression e : expr) {
appendExpression(s, e);
+ s.append(",");
+ }
+ if (expr.isEmpty()) {
+ s.append(")");
+ } else {
+ s.setCharAt(s.length()-1, ')');
}
- s.append(")");
}
private void appendLiteralExpression(StringBuffer s, LiteralExpression le) {
Modified: incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java?rev=890780&r1=890769&r2=890780&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java (original)
+++ incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java Tue Dec 15 12:50:53 2009
@@ -18,13 +18,17 @@
*/
package org.apache.clerezza.rdf.core.sparql;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.junit.Assert;
import org.junit.Test;
import org.apache.clerezza.rdf.core.LiteralFactory;
import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.sparql.query.BinaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
import org.apache.clerezza.rdf.core.sparql.query.LiteralExpression;
import org.apache.clerezza.rdf.core.sparql.query.ResourceOrVariable;
import org.apache.clerezza.rdf.core.sparql.query.TriplePattern;
@@ -244,4 +248,35 @@
Assert.assertTrue(selectQuery.toString()
.replaceAll("( |\n)+", " ").trim().equals(queryString));
}
+
+ @Test
+ public void testRegex() {
+
+ final String queryString = "SELECT ?p WHERE { " +
+ "<http://localhost/testitem> ?p ?x . " +
+ "FILTER REGEX(?x,\".*uni.*\"^^<http://www.w3.org/2001/XMLSchema#string>) }";
+
+ Variable p = new Variable("p");
+ SimpleSelectQuery selectQuery = new SimpleSelectQuery();
+ selectQuery.addSelection(p);
+
+ Variable x = new Variable("x");
+ Set<TriplePattern> triplePatterns = new HashSet<TriplePattern>();
+ triplePatterns.add(new SimpleTriplePattern(
+ new UriRef("http://localhost/testitem"), p, x));
+
+ SimpleBasicGraphPattern bgp = new SimpleBasicGraphPattern(triplePatterns);
+ SimpleGroupGraphPattern queryPattern = new SimpleGroupGraphPattern();
+ queryPattern.addGraphPattern(bgp);
+
+ List<Expression> arguments = new ArrayList<Expression>();
+ arguments.add(x);
+ arguments.add(new LiteralExpression(LiteralFactory.getInstance().
+ createTypedLiteral(".*uni.*")));
+ BuiltInCall constraint = new BuiltInCall("REGEX", arguments);
+ queryPattern.addConstraint(constraint);
+ selectQuery.setQueryPattern(queryPattern);
+ Assert.assertTrue(selectQuery.toString()
+ .replaceAll("( |\n)+", " ").trim().equals(queryString));
+ }
}