/*
* Copyright (c) 2010 Mysema Ltd.
* All rights reserved.
*
*/
package com.mysema.rdfbean.sesame.query;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.openrdf.query.MalformedQueryException;
import org.openrdf.query.QueryLanguage;
import org.openrdf.query.UnsupportedQueryLanguageException;
import org.openrdf.query.parser.ParsedGraphQuery;
import org.openrdf.query.parser.ParsedTupleQuery;
import org.openrdf.query.parser.QueryParserUtil;
public class ParsingTest {
@Test
public void TupleQuery() throws MalformedQueryException, UnsupportedQueryLanguageException {
List<String> queries = new ArrayList<String>();
queries.add("SELECT R FROM {R} rdfs:label {L}");
queries.add("SELECT L, R FROM {R} rdfs:label {L}");
queries.add("SELECT R FROM {R} rdfs:label {\"Hello World\"}");
queries.add("SELECT R FROM {R} rdfs:label {\"Hello World\"^^xsd:string}");
queries.add("SELECT label(L), lang(L) FROM {R} rdfs:label {L}");
queries.add("SELECT xsd:integer(L) FROM {R} rdfs:label {L}");
queries.add("SELECT R FROM {R} rdfs:label {L} LIMIT 1");
queries.add("SELECT R FROM {R} rdfs:label {L} OFFSET 2");
queries.add("SELECT R FROM {R} rdfs:label {L} LIMIT 2 OFFSET 3");
for (String query : queries) {
ParsedTupleQuery model = QueryParserUtil.parseTupleQuery(QueryLanguage.SERQL, query, null);
System.out.println(model);
System.out.println();
}
}
@Test
public void GraphQuery() throws MalformedQueryException, UnsupportedQueryLanguageException {
List<String> queries = new ArrayList<String>();
queries.add("CONSTRUCT {S} rdf:type {O} FROM {S} rdf:type {O}");
for (String query : queries) {
ParsedGraphQuery model = QueryParserUtil.parseGraphQuery(QueryLanguage.SERQL, query, null);
System.out.println(model);
System.out.println();
}
}
}