/** Recursively unwrap a {@link DatasetGraphWrapper}. * * @return the first found {@link DatasetGraph} that is not an instance of {@link DatasetGraphWrapper} */ public final DatasetGraph getBase() { DatasetGraph dsgw = dsg; while (dsgw instanceof DatasetGraphWrapper) { dsgw = ((DatasetGraphWrapper)dsg).getWrapped(); } return dsgw; }
/** Recursively unwrap a {@link DatasetGraphWrapper}, stopping at a {@link DatasetGraphWrapper} * that indicate it is "view changing", ie shows quads to the base dataset graph. * * @return the first found {@link DatasetGraph} that is not an instance of {@link DatasetGraphWrapper} */ public final DatasetGraph getBaseForQuery() { DatasetGraph dsgw = dsg; while (dsgw instanceof DatasetGraphWrapper) { if ( dsgw instanceof DatasetGraphWrapperView ) break; dsgw = ((DatasetGraphWrapper)dsg).getWrapped(); } return dsgw; }
@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) ; }
@Override public Plan create(Query query, DatasetGraph dsg, Binding inputBinding, Context context) { if ( !( dsg instanceof DatasetGraphWrapper ) || dsg instanceof DatasetGraphWrapperView ) return null ; DatasetGraph dsg2 = ((DatasetGraphWrapper)dsg).getWrapped() ; return QueryEngineRegistry.findFactory(query, dsg2, context).create(query, dsg2, inputBinding, context) ; }
@Override public Plan create(Op op, DatasetGraph dsg, Binding inputBinding, Context context) { if ( !( dsg instanceof DatasetGraphWrapper ) || dsg instanceof DatasetGraphWrapperView ) return null ; DatasetGraph dsg2 = ((DatasetGraphWrapper)dsg).getWrapped() ; return QueryEngineRegistry.findFactory(op, dsg2, context).create(op, dsg2, inputBinding, context) ; } }