Package org.openrdf.sail.rdbms.evaluation

Source Code of org.openrdf.sail.rdbms.evaluation.RdbmsTripleSource

/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 2008.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.sail.rdbms.evaluation;

import org.openrdf.cursor.Cursor;
import org.openrdf.model.Resource;
import org.openrdf.model.Statement;
import org.openrdf.model.URI;
import org.openrdf.model.Value;
import org.openrdf.query.algebra.evaluation.TripleSource;
import org.openrdf.sail.rdbms.RdbmsTripleRepository;
import org.openrdf.sail.rdbms.RdbmsValueFactory;
import org.openrdf.sail.rdbms.model.RdbmsResource;
import org.openrdf.sail.rdbms.model.RdbmsURI;
import org.openrdf.sail.rdbms.model.RdbmsValue;
import org.openrdf.store.StoreException;

/**
* Proxies request to a {@link RdbmsTripleRepository}.
*
* @author James Leigh
*/
public class RdbmsTripleSource implements TripleSource {

  private RdbmsTripleRepository triples;

  public RdbmsTripleSource(RdbmsTripleRepository triples) {
    super();
    this.triples = triples;
  }

  public RdbmsValueFactory getValueFactory() {
    return triples.getValueFactory();
  }

  public Cursor<? extends Statement> getStatements(Resource subj, URI pred, Value obj, Resource... contexts)
    throws StoreException
  {
    RdbmsValueFactory vf = triples.getValueFactory();
    RdbmsResource s = vf.asRdbmsResource(subj);
    RdbmsURI p = vf.asRdbmsURI(pred);
    RdbmsValue o = vf.asRdbmsValue(obj);
    RdbmsResource[] c = vf.asRdbmsResource(contexts);
    return triples.find(s, p, o, c);
  }

}
TOP

Related Classes of org.openrdf.sail.rdbms.evaluation.RdbmsTripleSource

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.