@comunica/actor-query-operation-leftjoin 4.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ActorQueryOperationLeftJoin = void 0;
|
|
4
4
|
const bus_query_operation_1 = require("@comunica/bus-query-operation");
|
|
5
5
|
const core_1 = require("@comunica/core");
|
|
6
|
+
const utils_bindings_factory_1 = require("@comunica/utils-bindings-factory");
|
|
6
7
|
const utils_expression_evaluator_1 = require("@comunica/utils-expression-evaluator");
|
|
7
8
|
const utils_query_operation_1 = require("@comunica/utils-query-operation");
|
|
8
9
|
/**
|
|
@@ -58,7 +59,7 @@ class ActorQueryOperationLeftJoin extends bus_query_operation_1.ActorQueryOperat
|
|
|
58
59
|
if ((0, utils_expression_evaluator_1.isExpressionError)(error)) {
|
|
59
60
|
// In many cases, this is a user error, where the user should manually cast the variable to a string.
|
|
60
61
|
// In order to help users debug this, we should report these errors via the logger as warnings.
|
|
61
|
-
this.logWarn(context, 'Error occurred while filtering.', () => ({ error, bindings }));
|
|
62
|
+
this.logWarn(context, 'Error occurred while filtering.', () => ({ error, bindings: (0, utils_bindings_factory_1.bindingsToString)(bindings) }));
|
|
62
63
|
}
|
|
63
64
|
else {
|
|
64
65
|
bindingsStream.emit('error', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorQueryOperationLeftJoin.js","sourceRoot":"","sources":["ActorQueryOperationLeftJoin.ts"],"names":[],"mappings":";;;AAEA,uEAAiF;AAGjF,yCAA8C;AAE9C,qFAAyE;AACzE,2EAAkE;AAGlE;;GAEG;AACH,MAAa,2BAA4B,SAAQ,sDAAkD;IAIjG,YAAmB,IAAsC;QACvD,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxB,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,kCAAkC,CAAC;IACpF,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAA4B,EAAE,QAAwB;QAC/E,OAAO,IAAA,mBAAY,GAAE,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,iBAAmC,EAAE,OAAuB;QAEpF,uBAAuB;QACvB,MAAM,OAAO,GAAiB,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK;aACrE,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YACvF,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC,CAAC,CAAC;aACJ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,EAAE,IAAA,uCAAe,EAAC,MAAM,CAAC;YAC/B,SAAS;SACV,CAAC,CAAC,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAEvF,qEAAqE;QACrE,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,mBAAmB,GAAG,aAAa,CAAC,SAAS,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kCAAkC;iBAC5D,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc;iBACzC,SAAS,CAAC;gBACT,SAAS,EAAE,KAAK;gBAChB,kDAAkD;gBAClD,SAAS,EAAE,KAAK,EAAC,QAAkB,EAAE,IAAgB,EAAE,IAA8B,EAAE,EAAE;oBACvF,kFAAkF;oBAClF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClF,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACf,OAAO,IAAI,EAAE,CAAC;oBAChB,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACvD,IAAI,MAAM,EAAE,CAAC;4BACX,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACjB,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,mCAAmC;wBACnC,mEAAmE;wBACnE,gGAAgG;wBAChG,gFAAgF;wBAChF,IAAI,IAAA,8CAAiB,EAAQ,KAAK,CAAC,EAAE,CAAC;4BACpC,qGAAqG;4BACrG,+FAA+F;4BAC/F,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"ActorQueryOperationLeftJoin.js","sourceRoot":"","sources":["ActorQueryOperationLeftJoin.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MediatorExpressionEvaluatorFactory } from '@comunica/bus-expression-evaluator-factory';\nimport type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation';\nimport type { MediatorRdfJoin } from '@comunica/bus-rdf-join';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport { passTestVoid } from '@comunica/core';\nimport type { Bindings, IActionContext, IJoinEntry, IQueryOperationResult } from '@comunica/types';\nimport { bindingsToString } from '@comunica/utils-bindings-factory';\nimport { isExpressionError } from '@comunica/utils-expression-evaluator';\nimport { getSafeBindings } from '@comunica/utils-query-operation';\nimport type { Algebra } from 'sparqlalgebrajs';\n\n/**\n * A comunica LeftJoin Query Operation Actor.\n */\nexport class ActorQueryOperationLeftJoin extends ActorQueryOperationTypedMediated<Algebra.LeftJoin> {\n public readonly mediatorJoin: MediatorRdfJoin;\n private readonly mediatorExpressionEvaluatorFactory: MediatorExpressionEvaluatorFactory;\n\n public constructor(args: IActorQueryOperationLeftJoinArgs) {\n super(args, 'leftjoin');\n this.mediatorExpressionEvaluatorFactory = args.mediatorExpressionEvaluatorFactory;\n }\n\n public async testOperation(_operation: Algebra.LeftJoin, _context: IActionContext): Promise<TestResult<IActorTest>> {\n return passTestVoid();\n }\n\n public async runOperation(operationOriginal: Algebra.LeftJoin, context: IActionContext):\n Promise<IQueryOperationResult> {\n // Delegate to join bus\n const entries: IJoinEntry[] = (await Promise.all(operationOriginal.input\n .map(async subOperation => ({\n output: await this.mediatorQueryOperation.mediate({ operation: subOperation, context }),\n operation: subOperation,\n }))))\n .map(({ output, operation }) => ({\n output: getSafeBindings(output),\n operation,\n }));\n const joined = await this.mediatorJoin.mediate({ type: 'optional', entries, context });\n\n // If the pattern contains an expression, filter the resulting stream\n if (operationOriginal.expression) {\n const rightMetadata = await entries[1].output.metadata();\n const expressionVariables = rightMetadata.variables;\n const evaluator = await this.mediatorExpressionEvaluatorFactory\n .mediate({ algExpr: operationOriginal.expression, context });\n const bindingsStream = joined.bindingsStream\n .transform({\n autoStart: false,\n // eslint-disable-next-line ts/no-misused-promises\n transform: async(bindings: Bindings, done: () => void, push: (item: Bindings) => void) => {\n // If variables of the right-hand entry are missing, we skip expression evaluation\n if (!expressionVariables.every(variable => bindings.has(variable.variable.value))) {\n push(bindings);\n return done();\n }\n\n try {\n const result = await evaluator.evaluateAsEBV(bindings);\n if (result) {\n push(bindings);\n }\n } catch (error: unknown) {\n // We ignore all Expression errors.\n // Other errors (likely programming mistakes) are still propagated.\n // Left Join is defined in terms of Filter (https://www.w3.org/TR/sparql11-query/#defn_algJoin),\n // and Filter requires this (https://www.w3.org/TR/sparql11-query/#expressions).\n if (isExpressionError(<Error>error)) {\n // In many cases, this is a user error, where the user should manually cast the variable to a string.\n // In order to help users debug this, we should report these errors via the logger as warnings.\n this.logWarn(\n context,\n 'Error occurred while filtering.',\n () => ({ error, bindings: bindingsToString(bindings) }),\n );\n } else {\n bindingsStream.emit('error', error);\n }\n }\n done();\n },\n });\n joined.bindingsStream = bindingsStream;\n }\n\n return joined;\n }\n}\n\nexport interface IActorQueryOperationLeftJoinArgs extends IActorQueryOperationTypedMediatedArgs {\n /**\n * A mediator for joining Bindings streams\n */\n mediatorJoin: MediatorRdfJoin;\n mediatorExpressionEvaluatorFactory: MediatorExpressionEvaluatorFactory;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comunica/actor-query-operation-leftjoin",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "A leftjoin query-operation actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,14 +41,15 @@
|
|
|
41
41
|
"build:components": "componentsjs-generator"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@comunica/bus-expression-evaluator-factory": "^4.0
|
|
45
|
-
"@comunica/bus-query-operation": "^4.0
|
|
46
|
-
"@comunica/bus-rdf-join": "^4.0
|
|
47
|
-
"@comunica/core": "^4.0
|
|
48
|
-
"@comunica/types": "^4.0
|
|
49
|
-
"@comunica/utils-
|
|
50
|
-
"@comunica/utils-
|
|
44
|
+
"@comunica/bus-expression-evaluator-factory": "^4.1.0",
|
|
45
|
+
"@comunica/bus-query-operation": "^4.1.0",
|
|
46
|
+
"@comunica/bus-rdf-join": "^4.1.0",
|
|
47
|
+
"@comunica/core": "^4.1.0",
|
|
48
|
+
"@comunica/types": "^4.1.0",
|
|
49
|
+
"@comunica/utils-bindings-factory": "^4.1.0",
|
|
50
|
+
"@comunica/utils-expression-evaluator": "^4.1.0",
|
|
51
|
+
"@comunica/utils-query-operation": "^4.1.0",
|
|
51
52
|
"sparqlalgebrajs": "^4.3.8"
|
|
52
53
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "711446473d18f5fd47aa1a67e6c23582234221ec"
|
|
54
55
|
}
|