// Path: src/main/java/com/anqit/spanqit/rdf/Iri.java
// public interface Iri extends RdfResource, RdfPredicate, GraphName { }


import java.util.Optional;
import com.anqit.spanqit.rdf.Iri;
package com.anqit.spanqit.core.query;



/**
 * A SPARQL Update Query that has a source and a destination
 *
 * @param <T> the type of the query; used to support fluency
 */
public abstract class DestinationSourceManagementQuery<T extends DestinationSourceManagementQuery<T>> extends GraphManagementQuery<DestinationSourceManagementQuery<T>> {
	private static String DEFAULT = "DEFAULT";
	private static String TO = "TO";

	private Optional<Iri> from = Optional.empty();
	private Optional<Iri> to = Optional.empty();
	private boolean fromDefault = false, toDefault = false;
	
	/**
	 * Specify the query source graph
	 * 
	 * @param from the Iri identifying the source graph
	 * 
	 * @return this query instance
	 */
// Path: src/main/java/com/anqit/spanqit/rdf/Iri.java
// public interface Iri extends RdfResource, RdfPredicate, GraphName { }


// Path: src/main/java/com/anqit/spanqit/core/query/DestinationSourceManagementQuery.java
import java.util.Optional;
import com.anqit.spanqit.rdf.Iri;

package com.anqit.spanqit.core.query;



/**
 * A SPARQL Update Query that has a source and a destination
 *
 * @param <T> the type of the query; used to support fluency
 */
public abstract class DestinationSourceManagementQuery<T extends DestinationSourceManagementQuery<T>> extends GraphManagementQuery<DestinationSourceManagementQuery<T>> {
	private static String DEFAULT = "DEFAULT";
	private static String TO = "TO";

	private Optional<Iri> from = Optional.empty();
	private Optional<Iri> to = Optional.empty();
	private boolean fromDefault = false, toDefault = false;
	
	/**
	 * Specify the query source graph
	 * 
	 * @param from the Iri identifying the source graph
	 * 
	 * @return this query instance
	 */
	public T from(Iri from) {