View Javadoc

1   /*
2    * Copyright James Leigh (c) 2006, 2007.
3    *
4    * Licensed under the Aduna BSD-style license.
5    */
6   package org.openrdf.repository.augur.model;
7   
8   import org.openrdf.model.Resource;
9   import org.openrdf.model.Value;
10  import org.openrdf.query.algebra.TupleExpr;
11  import org.openrdf.query.algebra.Var;
12  
13  /**
14   * AugurNode that was created with by a statement pattern and a carried over
15   * subject resource.
16   * 
17   * @author James Leigh
18   * 
19   */
20  public class AugurSubjectNode extends CachableAugurNode {
21  
22  	@Override
23  	protected TupleExpr createTuplePattern(Var subjVar, Var predVar, Var objVar, String contextName, Resource... contexts) {
24  		AResource carriedOver = (AResource) subjVar.getValue();
25  		String subjectName = carriedOver.getName();
26  		setSubjectName(subjectName);
27  		Var var = new Var(subjectName, null);
28  		return super.createTuplePattern(var, predVar, objVar, contextName, contexts);
29  	}
30  
31  	@Override
32  	public Resource getCarriedOverResource(Resource subj, Value obj) {
33  		return subj;
34  	}
35  }