import type { IAction, IActorArgs, IActorOutput, IActorTest, Mediate } from '@comunica/core';
import { Actor } from '@comunica/core';
import type { Rule } from '@comunica/reasoning-types';
import type { IActionContext } from '@comunica/types';
import type { AsyncIterator } from 'asynciterator';
import type { Algebra } from 'sparqlalgebrajs';
/**
* A comunica actor for optimizing reasoning rules
*
* Actor types:
* * Input: IActionOptimizeRule: TODO: fill in.
* * Test: <none>
* * Output: IActorOptimizeRuleOutput: TODO: fill in.
*
* @see IActionOptimizeRule
* @see IActorOptimizeRuleOutput
*/
export abstract class ActorOptimizeRule extends Actor<IActionOptimizeRule, IActorTest, IActorOptimizeRuleOutput> {
/**
* @param args - @defaultNested {<default_bus> a <cc:components/Bus.jsonld#Bus>} bus
*/
public constructor(args: IActorOptimizeRuleArgs) {
super(args);
}
}
export interface IActionOptimizeRule extends IAction {
rules: AsyncIterator<Rule>;
/**
* An optional pattern to to restrict the rules to infer for
*/
pattern?: Algebra.Pattern;
}
export interface IActorOptimizeRuleOutput extends IActorOutput {
rules: AsyncIterator<Rule>;
pattern?: Algebra.Pattern;
context: IActionContext;
}
export type IActorOptimizeRuleArgs = IActorArgs<IActionOptimizeRule, IActorTest, IActorOptimizeRuleOutput>;
export type MediatorOptimizeRule = Mediate<IActionOptimizeRule, IActorOptimizeRuleOutput>;
{
"@context": [
"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-rule/^1.0.0/components/context.jsonld",
"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^2.0.0/components/context.jsonld"
],
"@id": "npmd:@comunica/bus-optimize-rule",
"components": [
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule",
"@type": "AbstractClass",
"requireElement": "ActorOptimizeRule",
"extends": [
{
"@type": "GenericComponentExtension",
"component": "cc:components/Actor.jsonld#Actor",
"genericTypeInstances": [
"cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule",
"cc:components/Actor.jsonld#IActorTest",
"cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput"
]
}
],
"comment": "A comunica actor for optimizing reasoning rules Actor types: * Input: IActionOptimizeRule: TODO: fill in. * Test: <none> * Output: IActorOptimizeRuleOutput: TODO: fill in.",
"parameters": [
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_name",
"range": "xsd:string",
"default": {
"@id": "rdf:subject"
},
"comment": "The name for this actor."
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_bus",
"range": {
"@type": "ParameterRangeGenericComponent",
"component": "cc:components/Bus.jsonld#Bus",
"genericTypeInstances": [
{
"@type": "ParameterRangeGenericComponent",
"component": "cc:components/Actor.jsonld#Actor",
"genericTypeInstances": [
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_I"
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_T"
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_O"
}
]
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_I"
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_T"
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_O"
}
]
},
"default": {
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_default_bus",
"@type": "cc:components/Bus.jsonld#Bus"
},
"comment": "The bus this actor subscribes to."
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_beforeActors",
"range": {
"@type": "ParameterRangeUnion",
"parameterRangeElements": [
{
"@type": "ParameterRangeArray",
"parameterRangeValue": {
"@type": "ParameterRangeGenericComponent",
"component": "cc:components/Actor.jsonld#Actor",
"genericTypeInstances": [
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_I"
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_T"
},
{
"@type": "ParameterRangeGenericTypeReference",
"parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_O"
}
]
}
},
{
"@type": "ParameterRangeUndefined"
}
]
},
"comment": "Actor that must be registered in the bus before this actor."
}
],
"memberFields": [
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule__member_constructor",
"memberFieldName": "constructor"
}
],
"constructorArguments": [
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args__constructorArgument",
"fields": [
{
"keyRaw": "name",
"value": {
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_name"
}
},
{
"keyRaw": "bus",
"value": {
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_bus"
}
},
{
"keyRaw": "beforeActors",
"value": {
"@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_beforeActors"
}
}
]
}
]
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule",
"@type": "AbstractClass",
"requireElement": "IActionOptimizeRule",
"extends": [
"cc:components/Actor.jsonld#IAction"
],
"parameters": [],
"memberFields": [
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule__member_rules",
"memberFieldName": "rules"
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule__member_pattern",
"memberFieldName": "pattern"
}
],
"constructorArguments": []
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput",
"@type": "AbstractClass",
"requireElement": "IActorOptimizeRuleOutput",
"extends": [
"cc:components/Actor.jsonld#IActorOutput"
],
"parameters": [],
"memberFields": [
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput__member_rules",
"memberFieldName": "rules"
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput__member_pattern",
"memberFieldName": "pattern"
},
{
"@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput__member_context",
"memberFieldName": "context"
}
],
"constructorArguments": []
}
]
}
If I run
yarn installon this commit then the components file for the actor-optimize-rule file contains references toactor-dereference-rule-parsewhich isn't even a dependency of the packageActorOptimizeRule.ts
components/ActorOptimizeRule.jsonld
{ "@context": [ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-rule/^1.0.0/components/context.jsonld", "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^2.0.0/components/context.jsonld" ], "@id": "npmd:@comunica/bus-optimize-rule", "components": [ { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule", "@type": "AbstractClass", "requireElement": "ActorOptimizeRule", "extends": [ { "@type": "GenericComponentExtension", "component": "cc:components/Actor.jsonld#Actor", "genericTypeInstances": [ "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule", "cc:components/Actor.jsonld#IActorTest", "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput" ] } ], "comment": "A comunica actor for optimizing reasoning rules Actor types: * Input: IActionOptimizeRule: TODO: fill in. * Test: <none> * Output: IActorOptimizeRuleOutput: TODO: fill in.", "parameters": [ { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_name", "range": "xsd:string", "default": { "@id": "rdf:subject" }, "comment": "The name for this actor." }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_bus", "range": { "@type": "ParameterRangeGenericComponent", "component": "cc:components/Bus.jsonld#Bus", "genericTypeInstances": [ { "@type": "ParameterRangeGenericComponent", "component": "cc:components/Actor.jsonld#Actor", "genericTypeInstances": [ { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_I" }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_T" }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_O" } ] }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_I" }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_T" }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_O" } ] }, "default": { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_default_bus", "@type": "cc:components/Bus.jsonld#Bus" }, "comment": "The bus this actor subscribes to." }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_beforeActors", "range": { "@type": "ParameterRangeUnion", "parameterRangeElements": [ { "@type": "ParameterRangeArray", "parameterRangeValue": { "@type": "ParameterRangeGenericComponent", "component": "cc:components/Actor.jsonld#Actor", "genericTypeInstances": [ { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_I" }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_T" }, { "@type": "ParameterRangeGenericTypeReference", "parameterRangeGenericType": "npmd:@comunica/actor-dereference-rule-parse/^1.0.0/components/ActorDereferenceRuleParse.jsonld#ActorDereferenceRuleParse__generic_O" } ] } }, { "@type": "ParameterRangeUndefined" } ] }, "comment": "Actor that must be registered in the bus before this actor." } ], "memberFields": [ { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule__member_constructor", "memberFieldName": "constructor" } ], "constructorArguments": [ { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args__constructorArgument", "fields": [ { "keyRaw": "name", "value": { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_name" } }, { "keyRaw": "bus", "value": { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_bus" } }, { "keyRaw": "beforeActors", "value": { "@id": "cbor:components/ActorOptimizeRule.jsonld#ActorOptimizeRule_args_beforeActors" } } ] } ] }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule", "@type": "AbstractClass", "requireElement": "IActionOptimizeRule", "extends": [ "cc:components/Actor.jsonld#IAction" ], "parameters": [], "memberFields": [ { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule__member_rules", "memberFieldName": "rules" }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActionOptimizeRule__member_pattern", "memberFieldName": "pattern" } ], "constructorArguments": [] }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput", "@type": "AbstractClass", "requireElement": "IActorOptimizeRuleOutput", "extends": [ "cc:components/Actor.jsonld#IActorOutput" ], "parameters": [], "memberFields": [ { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput__member_rules", "memberFieldName": "rules" }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput__member_pattern", "memberFieldName": "pattern" }, { "@id": "cbor:components/ActorOptimizeRule.jsonld#IActorOptimizeRuleOutput__member_context", "memberFieldName": "context" } ], "constructorArguments": [] } ] }