Author: hasan
Date: Fri Apr 9 11:23:48 2010
New Revision: 932360
URL: http://svn.apache.org/viewvc?rev=932360&view=rev
Log:
CLEREZZA-188: added support of UriRefExpression in serializer
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/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/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java?rev=932360&r1=932359&r2=932360&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
Fri Apr 9 11:23:48 2010
@@ -44,6 +44,7 @@ import org.apache.clerezza.rdf.core.spar
import org.apache.clerezza.rdf.core.sparql.query.SelectQuery;
import org.apache.clerezza.rdf.core.sparql.query.TriplePattern;
import org.apache.clerezza.rdf.core.sparql.query.UnaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.UriRefExpression;
import org.apache.clerezza.rdf.core.sparql.query.Variable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -217,6 +218,8 @@ public class SimpleStringQuerySerializer
appendCall(s, f.getName().getUnicodeString(),
f.getArguements());
} else if (e instanceof LiteralExpression) {
appendLiteralExpression(s, (LiteralExpression) e);
+ } else if (e instanceof UriRefExpression) {
+ s.append(((UriRefExpression) e).getUriRef().toString());
}
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java?rev=932360&r1=932359&r2=932360&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
Fri Apr 9 11:23:48 2010
@@ -32,6 +32,7 @@ import org.apache.clerezza.rdf.core.spar
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;
+import org.apache.clerezza.rdf.core.sparql.query.UriRefExpression;
import org.apache.clerezza.rdf.core.sparql.query.UriRefOrVariable;
import org.apache.clerezza.rdf.core.sparql.query.Variable;
import org.apache.clerezza.rdf.core.sparql.query.impl.SimpleAskQuery;
@@ -183,6 +184,35 @@ public class QuerySerializerTest {
}
@Test
+ public void testUriRefExpression() {
+
+ final String queryString = "SELECT ?resource WHERE { " +
+ "?resource
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?myType . " +
+ "FILTER ((?resource) =
(<http://example.org/ontology#special>)) " +
+ "}";
+
+ Variable resource = new Variable("resource");
+ SimpleSelectQuery selectQuery = new SimpleSelectQuery();
+ selectQuery.addSelection(resource);
+
+ Variable myType = new Variable("myType");
+ Set<TriplePattern> triplePatterns = new
HashSet<TriplePattern>();
+ triplePatterns.add(new SimpleTriplePattern(resource,
+ new
UriRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"), myType));
+
+ SimpleBasicGraphPattern bgp = new
SimpleBasicGraphPattern(triplePatterns);
+ SimpleGroupGraphPattern queryPattern = new
SimpleGroupGraphPattern();
+ queryPattern.addGraphPattern(bgp);
+ BinaryOperation constraint = new BinaryOperation("=",
+ resource, new UriRefExpression(new
UriRef("http://example.org/ontology#special")));
+ queryPattern.addConstraint(constraint);
+ selectQuery.setQueryPattern(queryPattern);
+
+ Assert.assertTrue(selectQuery.toString()
+ .replaceAll("( |\n)+", "
").trim().equals(queryString));
+ }
+
+ @Test
public void testOrderBy() {
final String queryString = "SELECT * WHERE { ?a ?b ?c . } ORDER
BY DESC(?c)";