UNPKG

@comunica/actor-optimize-query-operation-join-bgp

Version:

A join-bgp optimize-query-operation actor

32 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActorOptimizeQueryOperationJoinBgp = void 0; const bus_optimize_query_operation_1 = require("@comunica/bus-optimize-query-operation"); const sparqlalgebrajs_1 = require("sparqlalgebrajs"); /** * A comunica Join BGP Optimize Query Operation Actor. */ class ActorOptimizeQueryOperationJoinBgp extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation { async test(action) { return true; } async run(action) { const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, { join(op, factory) { if (op.input.every(subInput => subInput.type === 'bgp')) { return { recurse: false, result: factory.createBgp(op.input.flatMap(subInput => subInput.patterns)), }; } return { recurse: false, result: op, }; }, }); return { operation, context: action.context }; } } exports.ActorOptimizeQueryOperationJoinBgp = ActorOptimizeQueryOperationJoinBgp; //# sourceMappingURL=ActorOptimizeQueryOperationJoinBgp.js.map