public DatabaseQuerySolver(Query query, DatabaseTripleStore triples)
        {
            itsQuery   = query;
            itsTriples = triples;
            AssumeSolutionIsPossible();

            QuerySqlMapper mapper = new QuerySqlMapper(query, triples);

            if (mapper.IsFeasible)
            {
                if (mapper.IsMappable)
                {
                    itsQuerySql          = mapper.Sql;
                    itsSelectedVariables = mapper.Variables;

                    ExecuteQuery();
                }
                else
                {
                    itsSolutions = new ArrayList().GetEnumerator();
                }
            }
            else
            {
                itsSolutions = new ArrayList().GetEnumerator();
            }
        }
Example #2
0
        public Object Clone()
        {
            DatabaseTripleStore dbts = new DatabaseTripleStore();

            dbts.Add(this);
            return(dbts);
        }
Example #3
0
 public BatchedWriteStrategy(DatabaseTripleStore store)
 {
     itsWriteCache     = new ArrayList();
     itsWriteCacheSize = 0;
     itsStore          = store;
 }