/** Locate a suitable factory for this query and dataset * * @param query Query * @param dataset Dataset * @return A QueryExecutionFactory or null if none accept the request */ public QueryEngineFactory find(Query query, DatasetGraph dataset, Context context) { for ( QueryEngineFactory f : factories ) { if ( f.accept( query, dataset, context ) ) { return f; } } return null ; }
/** Locate a suitable factory for this algebra expression and dataset * * @param op Algebra expression * @param dataset DatasetGraph * @param context * * @return A QueryExecutionFactory or null if none accept the request */ public QueryEngineFactory find(Op op, DatasetGraph dataset, Context context) { for ( QueryEngineFactory f : factories ) { if ( f.accept( op, dataset, context ) ) { return f; } } return null ; }
@Override public boolean accept(Op op, DatasetGraph dsg, Context context) { if ( !( dsg instanceof DatasetGraphWrapper ) || dsg instanceof DatasetGraphWrapperView ) return false ; DatasetGraph dsg2 = ((DatasetGraphWrapper)dsg).getWrapped() ; return QueryEngineRegistry.findFactory(op, dsg2, context).accept(op, dsg2, context) ; }
@Override public boolean accept(Query query, DatasetGraph dsg, Context context) { // DatasetGraphFilteredView changes the seen contents so we can't unwrap it for query. if ( !( dsg instanceof DatasetGraphWrapper ) || dsg instanceof DatasetGraphWrapperView ) return false ; DatasetGraph dsg2 = ((DatasetGraphWrapper)dsg).getWrapped() ; return QueryEngineRegistry.findFactory(query, dsg2, context).accept(query, dsg2, context) ; }