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 2012/12/08 22:42:46 UTC

svn commit: r1418759 - in /incubator/clerezza/trunk/rdf.core/src/main: java/org/apache/clerezza/rdf/core/sparql/query/ java/org/apache/clerezza/rdf/core/sparql/query/impl/ javacc/org/apache/clerezza/rdf/core/sparql/

Author: hasan
Date: Sat Dec  8 21:42:44 2012
New Revision: 1418759

URL: http://svn.apache.org/viewvc?rev=1418759&view=rev
Log:
CLEREZZA-725: reverted to previous revision except the new test QueryParserSerializerCombinationTest.java, and used LinkedHashSet instead of HashSet to preserve ordering of sparql query pattern

Modified:
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/BasicGraphPattern.java
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/ConstructQuery.java
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/GroupGraphPattern.java
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleBasicGraphPattern.java
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleConstructQuery.java
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleGroupGraphPattern.java
    incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
    incubator/clerezza/trunk/rdf.core/src/main/javacc/org/apache/clerezza/rdf/core/sparql/JavaCCGeneratedQueryParser.jj

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/BasicGraphPattern.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/BasicGraphPattern.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/BasicGraphPattern.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/BasicGraphPattern.java Sat Dec  8 21:42:44 2012
@@ -18,7 +18,6 @@
  */
 package org.apache.clerezza.rdf.core.sparql.query;
 
-import java.util.List;
 import java.util.Set;
 
 /**
@@ -31,15 +30,9 @@ import java.util.Set;
 public interface BasicGraphPattern extends GraphPattern {
 
 	/**
-	 * @deprecated use getTriplePatternList instead and convert the result to a Set if needed
+	 *
 	 * @return a set of all triple patterns to match.
 	 */
 	public Set<TriplePattern> getTriplePatterns();
 
-	/**
-	 *
-	 * @return a list of all triple patterns to match.
-	 */
-	public List<TriplePattern> getTriplePatternList();
-
 }

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/ConstructQuery.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/ConstructQuery.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/ConstructQuery.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/ConstructQuery.java Sat Dec  8 21:42:44 2012
@@ -18,7 +18,6 @@
  */
 package org.apache.clerezza.rdf.core.sparql.query;
 
-import java.util.List;
 import java.util.Set;
 
 /**
@@ -32,8 +31,6 @@ import java.util.Set;
 public interface ConstructQuery extends QueryWithSolutionModifier {
 
 	/**
-	 * @deprecated use getTemplate instead and convert the result to a Set if needed
-	 * 
 	 * <p>Gets the template for constructing triples in a CONSTRUCT query.</p>
 	 * @see <a href="http://www.w3.org/TR/rdf-sparql-query/#construct">
 	 * SPARQL Query Language: 10.2 CONSTRUCT</a>
@@ -41,13 +38,4 @@ public interface ConstructQuery extends 
 	 *         new triples.
 	 */
 	public Set<TriplePattern> getConstructTemplate();
-
-	/**
-	 * <p>Gets the template for constructing triples in a CONSTRUCT query.</p>
-	 * @see <a href="http://www.w3.org/TR/rdf-sparql-query/#construct">
-	 * SPARQL Query Language: 10.2 CONSTRUCT</a>
-	 * @return a template as a list of triple patterns for constructing
-	 *         new triples.
-	 */
-	public List<TriplePattern> getTemplate();
 }

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/GroupGraphPattern.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/GroupGraphPattern.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/GroupGraphPattern.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/GroupGraphPattern.java Sat Dec  8 21:42:44 2012
@@ -31,19 +31,12 @@ import java.util.Set;
 public interface GroupGraphPattern extends GraphPattern {
 
 	/**
-	 * @deprecated use getGraphPatternList instead and convert the result to a Set if needed
 	 *
 	 * @return a set of all patterns, ANDed together.
 	 */
 	public Set<GraphPattern> getGraphPatterns();
 
 	/**
-	 *
-	 * @return a list of all patterns, ANDed together.
-	 */
-	public List<GraphPattern> getGraphPatternList();
-
-	/**
 	 * @return 
 	 *		a list of filter expressions for all patterns in the group if any,
 	 *		otherwise an empty list is returned.

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleBasicGraphPattern.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleBasicGraphPattern.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleBasicGraphPattern.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleBasicGraphPattern.java Sat Dec  8 21:42:44 2012
@@ -18,9 +18,7 @@
  */
 package org.apache.clerezza.rdf.core.sparql.query.impl;
 
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
+import java.util.LinkedHashSet;
 import java.util.Set;
 import org.apache.clerezza.rdf.core.sparql.query.BasicGraphPattern;
 import org.apache.clerezza.rdf.core.sparql.query.TriplePattern;
@@ -31,36 +29,20 @@ import org.apache.clerezza.rdf.core.spar
  */
 public class SimpleBasicGraphPattern implements BasicGraphPattern {
 
-	private List<TriplePattern> triplePatterns = new ArrayList<TriplePattern>();
+	private Set<TriplePattern> triplePatterns;
 
 	public SimpleBasicGraphPattern(Set<TriplePattern> triplePatterns) {
-		if (triplePatterns != null) {
-			this.triplePatterns.addAll(triplePatterns);
-		}
-	}
-
-	public SimpleBasicGraphPattern(List<TriplePattern> triplePatterns) {
-		if (triplePatterns != null) {
-			this.triplePatterns = triplePatterns;
-		}
+		this.triplePatterns = (triplePatterns == null)
+				? new LinkedHashSet<TriplePattern>()
+				: triplePatterns;
 	}
 
 	@Override
-	@Deprecated
 	public Set<TriplePattern> getTriplePatterns() {
-		return new HashSet(triplePatterns);
-	}
-
-	@Override
-	public List<TriplePattern> getTriplePatternList() {
 		return triplePatterns;
 	}
 
 	public void addTriplePatterns(Set<TriplePattern> triplePatterns) {
 		this.triplePatterns.addAll(triplePatterns);
 	}
-
-	public void addTriplePatterns(List<TriplePattern> triplePatterns) {
-		this.triplePatterns.addAll(triplePatterns);
-	}
 }

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleConstructQuery.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleConstructQuery.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleConstructQuery.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleConstructQuery.java Sat Dec  8 21:42:44 2012
@@ -18,9 +18,7 @@
  */
 package org.apache.clerezza.rdf.core.sparql.query.impl;
 
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
+import java.util.LinkedHashSet;
 import java.util.Set;
 import org.apache.clerezza.rdf.core.sparql.query.ConstructQuery;
 import org.apache.clerezza.rdf.core.sparql.query.TriplePattern;
@@ -32,28 +30,16 @@ import org.apache.clerezza.rdf.core.spar
 public class SimpleConstructQuery extends SimpleQueryWithSolutionModifier
 		implements ConstructQuery {
 
-	private List<TriplePattern> triplePatterns = new ArrayList<TriplePattern>();
+	private Set<TriplePattern> triplePatterns;
 
 	public SimpleConstructQuery(Set<TriplePattern> triplePatterns) {
-		if (triplePatterns != null) {
-			this.triplePatterns.addAll(triplePatterns);
-		}
-	}
-
-	public SimpleConstructQuery(List<TriplePattern> triplePatterns) {
-		if (triplePatterns != null) {
-			this.triplePatterns = triplePatterns;
-		}
+		this.triplePatterns = (triplePatterns == null)
+				? new LinkedHashSet<TriplePattern>()
+				: triplePatterns;
 	}
 
 	@Override
-	@Deprecated
 	public Set<TriplePattern> getConstructTemplate() {
-		return new HashSet(triplePatterns);
-	}
-
-	@Override
-	public List<TriplePattern> getTemplate() {
 		return triplePatterns;
 	}
 

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleGroupGraphPattern.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleGroupGraphPattern.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleGroupGraphPattern.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleGroupGraphPattern.java Sat Dec  8 21:42:44 2012
@@ -19,7 +19,7 @@
 package org.apache.clerezza.rdf.core.sparql.query.impl;
 
 import java.util.ArrayList;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 import org.apache.clerezza.rdf.core.sparql.query.Expression;
@@ -39,14 +39,8 @@ public class SimpleGroupGraphPattern imp
 	private List<GraphPattern> graphPatterns = new ArrayList<GraphPattern>();
 
 	@Override
-	@Deprecated
 	public Set<GraphPattern> getGraphPatterns() {
-		return new HashSet(graphPatterns);
-	}
-
-	@Override
-	public List<GraphPattern> getGraphPatternList() {
-		return graphPatterns;
+		return new LinkedHashSet(graphPatterns);
 	}
 
 	@Override
@@ -86,21 +80,6 @@ public class SimpleGroupGraphPattern imp
 	 *		{@link SimpleBasicGraphPattern} of the group.
 	 */
 	public void addTriplePatterns(Set<TriplePattern> triplePatterns) {
-		addTriplePatterns(new ArrayList(triplePatterns));
-	}
-
-	/**
-	 * If the last {@link GraphPattern} added to the group is not a 
-	 * {@link SimpleBasicGraphPattern}, then creates one containing the 
-	 * specified {@link TriplePattern}s and adds it to the group.
-	 * Otherwise, adds the specified {@link TriplePattern}s to the last
-	 * added {@link SimpleBasicGraphPattern} in the group.
-	 * 
-	 * @param triplePatterns
-	 *		a list of {@link TriplePattern}s to be added into a 
-	 *		{@link SimpleBasicGraphPattern} of the group.
-	 */
-	public void addTriplePatterns(List<TriplePattern> triplePatterns) {
 		GraphPattern prevGraphPattern;
 		int size = graphPatterns.size();
 		if (size > 0) {

Modified: incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java Sat Dec  8 21:42:44 2012
@@ -19,6 +19,7 @@
 package org.apache.clerezza.rdf.core.sparql.query.impl;
 
 import java.util.List;
+import java.util.Set;
 import org.apache.clerezza.rdf.core.BNode;
 import org.apache.clerezza.rdf.core.Resource;
 import org.apache.clerezza.rdf.core.UriRef;
@@ -113,7 +114,7 @@ public class SimpleStringQuerySerializer
 			GroupGraphPattern groupGraphPattern) {
 
 		s.append("{ ");
-		for (GraphPattern graphPattern : groupGraphPattern.getGraphPatternList()) {
+		for (GraphPattern graphPattern : groupGraphPattern.getGraphPatterns()) {
 			appendGraphPattern(s, graphPattern);
 		}
 		for (Expression e : groupGraphPattern.getFilter()) {
@@ -135,7 +136,7 @@ public class SimpleStringQuerySerializer
 	private void appendGraphPattern(StringBuffer s, GraphPattern graphPattern) {
 		if (graphPattern instanceof BasicGraphPattern) {
 			appendTriplePatterns(s,
-					((BasicGraphPattern) graphPattern).getTriplePatternList());
+					((BasicGraphPattern) graphPattern).getTriplePatterns());
 		} else if (graphPattern instanceof GroupGraphPattern) {
 			appendGroupGraphPattern(s, (GroupGraphPattern) graphPattern);
 		} else if (graphPattern instanceof OptionalGraphPattern) {
@@ -169,7 +170,7 @@ public class SimpleStringQuerySerializer
 	}
 
 	private void appendTriplePatterns(StringBuffer s,
-			List<TriplePattern> triplePatterns) {
+			Set<TriplePattern> triplePatterns) {
 
 		for (TriplePattern p : triplePatterns) {
 			appendResourceOrVariable(s, p.getSubject());
@@ -270,7 +271,7 @@ public class SimpleStringQuerySerializer
 	@Override
 	public String serialize(ConstructQuery constructQuery) {
 		StringBuffer s = new StringBuffer("CONSTRUCT\n");
-		List<TriplePattern> triplePatterns = constructQuery.getTemplate();
+		Set<TriplePattern> triplePatterns = constructQuery.getConstructTemplate();
 		s.append("{ ");
 		if (triplePatterns != null && !triplePatterns.isEmpty()) {
 			appendTriplePatterns(s, triplePatterns);

Modified: incubator/clerezza/trunk/rdf.core/src/main/javacc/org/apache/clerezza/rdf/core/sparql/JavaCCGeneratedQueryParser.jj
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/rdf.core/src/main/javacc/org/apache/clerezza/rdf/core/sparql/JavaCCGeneratedQueryParser.jj?rev=1418759&r1=1418758&r2=1418759&view=diff
==============================================================================
--- incubator/clerezza/trunk/rdf.core/src/main/javacc/org/apache/clerezza/rdf/core/sparql/JavaCCGeneratedQueryParser.jj (original)
+++ incubator/clerezza/trunk/rdf.core/src/main/javacc/org/apache/clerezza/rdf/core/sparql/JavaCCGeneratedQueryParser.jj Sat Dec  8 21:42:44 2012
@@ -33,8 +33,10 @@ package org.apache.clerezza.rdf.core.spa
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.clerezza.rdf.core.BNode;
@@ -143,10 +145,10 @@ class JavaCCGeneratedQueryParser {
 		return v;
 	}
 
-	private void addTriplePatterns(List<TriplePattern> triplePatterns,
+	private void addTriplePatterns(Set<TriplePattern> triplePatterns,
 			ResourceOrVariable subject,
 			UriRefOrVariable predicate,
-			List<ResourceOrVariable> objects) {
+			Set<ResourceOrVariable> objects) {
 
 		for (ResourceOrVariable object : objects) {
 			triplePatterns.add(
@@ -156,7 +158,7 @@ class JavaCCGeneratedQueryParser {
 
 	// nodes contain at least one element
 	private ResourceOrVariable addTriplePatterns(
-			List<TriplePattern> triplePatterns,
+			Set<TriplePattern> triplePatterns,
 			List<ResourceOrVariable> nodes) {
 
 		ResourceOrVariable head = null;
@@ -342,7 +344,7 @@ private void SelectQuery() : {
 
 /* [6]      ConstructQuery    ::=   'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier */
 private void ConstructQuery() : {
-	List<TriplePattern> triplePatterns = null; } {
+	Set<TriplePattern> triplePatterns = null; } {
 
 	<CONSTRUCT>
 	triplePatterns=ConstructTemplate() {
@@ -489,7 +491,7 @@ private GroupGraphPattern GroupGraphPatt
 
 /* [21]    TriplesBlock    ::=    TriplesSameSubject ( '.' TriplesBlock? )? */
 private void TriplesBlock(GroupGraphPattern groupGraphPattern) : {
-	List<TriplePattern> triplePatterns; } {
+	Set<TriplePattern> triplePatterns; } {
 
 	triplePatterns=TriplesSameSubject() {
 	((SimpleGroupGraphPattern) groupGraphPattern).addTriplePatterns(triplePatterns); }
@@ -602,8 +604,8 @@ private List<Expression> ArgList() : {
 }
 
 /* [30]    ConstructTemplate    ::=    '{' ConstructTriples? '}' */
-private List<TriplePattern> ConstructTemplate() : {
-	List<TriplePattern> triplePatterns = null; } {
+private Set<TriplePattern> ConstructTemplate() : {
+	Set<TriplePattern> triplePatterns = null; } {
 
 	"{" (
 	triplePatterns=ConstructTriples()
@@ -612,8 +614,8 @@ private List<TriplePattern> ConstructTem
 }
 
 /* [31]    ConstructTriples    ::=    TriplesSameSubject ( '.' ConstructTriples? )? */
-private List<TriplePattern> ConstructTriples() : {
-	List<TriplePattern> triplePatterns, t; } {
+private Set<TriplePattern> ConstructTriples() : {
+	Set<TriplePattern> triplePatterns, t; } {
 
 	triplePatterns=TriplesSameSubject()
 	( "."
@@ -626,8 +628,8 @@ private List<TriplePattern> ConstructTri
 }
 
 /* [32]    TriplesSameSubject    ::=    VarOrTerm PropertyListNotEmpty |  TriplesNode PropertyList */
-private List<TriplePattern> TriplesSameSubject() : {
-	List<TriplePattern> triplePatterns = new ArrayList<TriplePattern>();
+private Set<TriplePattern> TriplesSameSubject() : {
+	Set<TriplePattern> triplePatterns = new LinkedHashSet<TriplePattern>();
 	ResourceOrVariable subject; } {
 
 	( subject=VarOrTerm() PropertyListNotEmpty(subject, triplePatterns) {
@@ -641,9 +643,9 @@ private List<TriplePattern> TriplesSameS
 
 /* [33]    PropertyListNotEmpty    ::=    Verb ObjectList ( ';' ( Verb ObjectList )? )* */
 private void PropertyListNotEmpty(ResourceOrVariable subject,
-		List<TriplePattern> triplePatterns) : {
+		Set<TriplePattern> triplePatterns) : {
 	UriRefOrVariable predicate;
-	List<ResourceOrVariable> objects; } {
+	Set<ResourceOrVariable> objects; } {
 	predicate=Verb()
 	objects=ObjectList(triplePatterns) {
 	addTriplePatterns(triplePatterns, subject, predicate, objects); }
@@ -657,16 +659,16 @@ private void PropertyListNotEmpty(Resour
 
 /* [34]    PropertyList    ::=    PropertyListNotEmpty? */
 private void PropertyList(ResourceOrVariable subject,
-		List<TriplePattern> triplePatterns) : { } {
+		Set<TriplePattern> triplePatterns) : { } {
 	( PropertyListNotEmpty(subject, triplePatterns) )?
 }
 
 /* [35]    ObjectList    ::=    Object ( ',' Object )* */
-private List<ResourceOrVariable> ObjectList(List<TriplePattern> triplePatterns) : {
+private Set<ResourceOrVariable> ObjectList(Set<TriplePattern> triplePatterns) : {
 	ResourceOrVariable object; } {
 
 	{
-	List<ResourceOrVariable> objects = new ArrayList<ResourceOrVariable>();
+	Set<ResourceOrVariable> objects = new LinkedHashSet<ResourceOrVariable>();
 	}
 	object=Object(triplePatterns) {
 	objects.add(object); }
@@ -679,7 +681,7 @@ private List<ResourceOrVariable> ObjectL
 }
 
 /* [36]    Object    ::=    GraphNode */
-private ResourceOrVariable Object(List<TriplePattern> triplePatterns) : {
+private ResourceOrVariable Object(Set<TriplePattern> triplePatterns) : {
 	ResourceOrVariable object; } {
 
 	object=GraphNode(triplePatterns) {
@@ -696,9 +698,9 @@ private UriRefOrVariable Verb() : {
 	return new UriRefOrVariable(RDF_TYPE); }
 }
 
-// Fill in the specified list of TriplePattern and returns the subject node
+// Fill in the specified set of TriplePattern and returns the subject node
 /* [38]    TriplesNode    ::=    Collection |  BlankNodePropertyList */
-private ResourceOrVariable TriplesNode(List<TriplePattern> triplePatterns) : {
+private ResourceOrVariable TriplesNode(Set<TriplePattern> triplePatterns) : {
 	ResourceOrVariable subject; } {
 	(
 		subject=Collection(triplePatterns)
@@ -709,7 +711,7 @@ private ResourceOrVariable TriplesNode(L
 }
 
 /* [39]    BlankNodePropertyList    ::=    '[' PropertyListNotEmpty ']' */
-private ResourceOrVariable BlankNodePropertyList(List<TriplePattern> triplePatterns) : { } {
+private ResourceOrVariable BlankNodePropertyList(Set<TriplePattern> triplePatterns) : { } {
 	{
 	ResourceOrVariable subject = getNewBNode();
 	}
@@ -718,7 +720,7 @@ private ResourceOrVariable BlankNodeProp
 }
 
 /* [40]    Collection    ::=    '(' GraphNode+ ')' */
-private ResourceOrVariable Collection(List<TriplePattern> triplePatterns) : {
+private ResourceOrVariable Collection(Set<TriplePattern> triplePatterns) : {
 	ResourceOrVariable node;
 	List<ResourceOrVariable> nodes = new ArrayList<ResourceOrVariable>(); } {
 
@@ -732,7 +734,7 @@ private ResourceOrVariable Collection(Li
 }
 
 /* [41]    GraphNode    ::=    VarOrTerm |  TriplesNode */
-private ResourceOrVariable GraphNode(List<TriplePattern> triplePatterns) : {
+private ResourceOrVariable GraphNode(Set<TriplePattern> triplePatterns) : {
 	ResourceOrVariable node; } {
 
 	(