On this page
Buses and Actors
This page gives an overview of all buses and actors that are used in the default Comunica engines, such as Comunica SPARQL and Comunica SPARQL File. Other configurations such as Comunica SPARQL HDT contain additional actors and buses.
This builds upon the core architecture of actors, mediators, and buses. An overview of how these buses and actors are connected can be found in the SPARQL architecture.
Bindings Aggregator Factory
Package: @comunica/bus-bindings-aggregator-factory
A comunica actor for creating Binding-Aggregators.
Actor | Package | Description |
---|---|---|
Average | @comunica/actor-bindings-aggregator-factory-average | Constructs a bindings aggregator capable of evaluating avg |
Count | @comunica/actor-bindings-aggregator-factory-count | Constructs a bindings aggregator capable of evaluating count |
Group Concat | @comunica/actor-bindings-aggregator-factory-group-concat | Constructs a bindings aggregator capable of evaluating group-concat |
Max | @comunica/actor-bindings-aggregator-factory-max | Constructs a bindings aggregator capable of evaluating max |
Min | @comunica/actor-bindings-aggregator-factory-min | Constructs a bindings aggregator capable of evaluating min |
Sample | @comunica/actor-bindings-aggregator-factory-sample | Constructs a bindings aggregator capable of evaluating sample |
Sum | @comunica/actor-bindings-aggregator-factory-sum | Constructs a bindings aggregator capable of evaluating sum |
Wildcard Count | @comunica/actor-bindings-aggregator-factory-wildcard-count | Constructs a bindings aggregator capable of evaluating wildcard-count |
Context Preprocess
Package: @comunica/bus-context-preprocess
A comunica bus for context-preprocess events.
Actor | Package | Description |
---|---|---|
Convert Shortcuts | @comunica/actor-context-preprocess-convert-shortcuts | Expands shortcuts in the context to full context keys |
Query Source Identify | @comunica/actor-context-preprocess-query-source-identify | Identifies all query sources in the context using the Query Source Identify bus |
Query Source Skolemize | @comunica/actor-context-preprocess-query-source-skolemize | Places all identified query sources in a skolemization wrapper |
Set Defaults | @comunica/actor-context-preprocess-set-defaults | Will set default context values for query engines, such as the logger, timestamp, function arguments cache, .. |
Source To Destination | @comunica/actor-context-preprocess-source-to-destination | Defines the write destination only if a single query source has been defined |
Dereference
Package: @comunica/bus-dereference
A bus for dereferencing a path or URL into a (generic) stream.
Actor | Package | Description |
---|---|---|
Fallback | @comunica/actor-dereference-fallback | Always fails |
Http | @comunica/actor-dereference-http | Resolves the URL using the HTTP bus |
Dereference RDF
Package: @comunica/bus-dereference-rdf
A comunica bus for dereferencing a path or URL into a stream of quads.
Actor | Package | Description |
---|---|---|
Parse | @comunica/actor-dereference-rdf-parse | For dereferencing a path or URL into a parsed stream of quads |
Expression Evaluator Factory
Package: @comunica/bus-expression-evaluator-factory
A comunica bus for expression-evaluator-factory events.
Actor | Package | Description |
---|---|---|
Default | @comunica/actor-expression-evaluator-factory-default | Constructs a default expression evaluator |
Function Factory
Package: @comunica/bus-function-factory
A comunica bus for function factory events.
Hash Bindings
Package: @comunica/bus-hash-bindings
A comunica bus for hash-bindings events.
Actor | Package | Description |
---|---|---|
Murmur | @comunica/actor-hash-bindings-murmur | Provides a MurmurHash3-based hash function |
Hash Quads
Package: @comunica/bus-hash-quads
A comunica bus for hashing quads.
Actor | Package | Description |
---|---|---|
Murmur | @comunica/actor-hash-quads-murmur | Provides a MurmurHash3-based hash function |
HTTP
Package: @comunica/bus-http
A comunica bus for 'http' events.
Actor | Package | Description |
---|---|---|
Fetch | @comunica/actor-http-fetch | Uses fetch to perform HTTP requests |
Proxy | @comunica/actor-http-proxy | |
Retry | @comunica/actor-http-retry | Performs simple request retries |
Wayback | @comunica/actor-http-wayback | Intercepts HTTP requests to recover broken links using the WayBack Machine |
Init
Package: @comunica/bus-init
A comunica bus for 'init' events.
Actor | Package | Description |
---|---|---|
Query | @comunica/actor-init-query | Can initialize a query engine |
Optimize Query Operation
Package: @comunica/bus-optimize-query-operation
A comunica bus for optimize-query-operation events.
Actor | Package | Description |
---|---|---|
Assign Sources Exhaustive | @comunica/actor-optimize-query-operation-assign-sources-exhaustive | Converts every quad pattern in the query to a union of quad patterns per source |
Bgp To Join | @comunica/actor-optimize-query-operation-bgp-to-join | Converts BGPs into joins |
Construct Distinct | @comunica/actor-optimize-query-operation-construct-distinct | Wraps the top-level Construct clause in Distinct if --distinct flag is on |
Describe To Constructs Subject | @comunica/actor-optimize-query-operation-describe-to-constructs-subject | Converts SPARQL |
Filter Pushdown | @comunica/actor-optimize-query-operation-filter-pushdown | Pushes down filter expressions into the query plan as deep as possible |
Group Sources | @comunica/actor-optimize-query-operation-group-sources | Groups exclusive groups of query operations into sources only if those sources support those grouped operations |
Join Bgp | @comunica/actor-optimize-query-operation-join-bgp | Merges joins of BGPs into a single BGP |
Join Connected | @comunica/actor-optimize-query-operation-join-connected | Clusters entries within a join operation into separate sub-joins based if they are connected by variables |
Prune Empty Source Operations | @comunica/actor-optimize-query-operation-prune-empty-source-operations | Removes operations from the query plan that are guaranteed to produce empty results |
Rewrite Add | @comunica/actor-optimize-query-operation-rewrite-add | Rewrites ADD operators as DELETEINSERT operations |
Rewrite Copy | @comunica/actor-optimize-query-operation-rewrite-copy | Rewrites COPY operators as DELETEINSERT operations |
Rewrite Move | @comunica/actor-optimize-query-operation-rewrite-move | Rewrites MOVE operators as DELETEINSERT operations |
Query Operation
Package: @comunica/bus-query-operation
A comunica bus for query-operation events.
Query Parse
Package: @comunica/bus-query-parse
A comunica bus for query-parse events.
Actor | Package | Description |
---|---|---|
Graphql | @comunica/actor-query-parse-graphql | Handles GraphQL-LD queries |
Sparql | @comunica/actor-query-parse-sparql | Handles SPARQL queries |
Query Process
Package: @comunica/bus-query-process
A comunica bus for query-process events.
Actor | Package | Description |
---|---|---|
Explain Logical | @comunica/actor-query-process-explain-logical | Explains the logical query plan after parsing and optimizing |
Explain Parsed | @comunica/actor-query-process-explain-parsed | Explains the parsed query |
Explain Physical | @comunica/actor-query-process-explain-physical | Explains the physical query plan after parsing, optimizing, and evaluating |
Sequential | @comunica/actor-query-process-sequential | Processes a query in a sequential manner |
Query Result Serialize
Package: @comunica/bus-query-result-serialize
A comunica bus for query-result-serialize events.
Actor | Package | Description |
---|---|---|
Json | @comunica/actor-query-result-serialize-json | Serializes to a simple custom JSON format |
Rdf | @comunica/actor-query-result-serialize-rdf | Serializes to RDF by delegating to the RDF Serialize bus |
Simple | @comunica/actor-query-result-serialize-simple | Serializes to a simple text-based format |
Sparql Csv | @comunica/actor-query-result-serialize-sparql-csv | Serializes to SPARQL/CSV |
Sparql Json | @comunica/actor-query-result-serialize-sparql-json | Serializes to SPARQL/JSON |
Sparql Tsv | @comunica/actor-query-result-serialize-sparql-tsv | Serializes to SPARQL/TSV |
Sparql Xml | @comunica/actor-query-result-serialize-sparql-xml | Serializes to SPARQL/XML |
Stats | @comunica/actor-query-result-serialize-stats | Outputs the number of query results together with their cumulative delay and number of HTTP requests |
Table | @comunica/actor-query-result-serialize-table | Serializes to a simple table |
Tree | @comunica/actor-query-result-serialize-tree | Serializes to a JSON tree |
Query Source Identify
Package: @comunica/bus-query-source-identify
A comunica bus for query-source-identify events.
Actor | Package | Description |
---|---|---|
Hypermedia | @comunica/actor-query-source-identify-hypermedia | Handles hypermedia-based sources |
Rdfjs | @comunica/actor-query-source-identify-rdfjs | Handles RDF/JS Sources |
Serialized | @comunica/actor-query-source-identify-serialized | Handles serialized sources |
Query Source Identify Hypermedia
Package: @comunica/bus-query-source-identify-hypermedia
A comunica bus for query-source-identify-hypermedia events.
Actor | Package | Description |
---|---|---|
None | @comunica/actor-query-source-identify-hypermedia-none | Handles raw RDF files |
Qpf | @comunica/actor-query-source-identify-hypermedia-qpf | Handles Triple Pattern Fragments, Quad Pattern Fragments, and bindings-restricted Triple Pattern Fragments interfaces |
Sparql | @comunica/actor-query-source-identify-hypermedia-sparql | Handles SPARQL endpoints |
RDF Join Entries Sort
Package: @comunica/bus-rdf-join-entries-sort
A comunica bus for rdf-join-entries-sort events.
Actor | Package | Description |
---|---|---|
Cardinality | @comunica/actor-rdf-join-entries-sort-cardinality | Orders join entries by increasing cardinality |
RDF Join
Package: @comunica/bus-rdf-join
A comunica bus for rdf-join events.
Actor | Package | Description |
---|---|---|
Inner Hash | @comunica/actor-rdf-join-inner-hash | Inner-joins using hashing |
Inner Multi Bind | @comunica/actor-rdf-join-inner-multi-bind | Inner-joins 2 or more streams by picking the one with the lowest cardinality, binding each item with the remaining operations, and recursively resolving those operations by delegating to the Query Operation bus |
Inner Multi Bind Source | @comunica/actor-rdf-join-inner-multi-bind-source | Inner-joins 2 or more streams by picking the one with the lowest cardinality, chunking it according to a certain block size, and joining each chunk with the remaining query by pushing it into the source |
Inner Multi Empty | @comunica/actor-rdf-join-inner-multi-empty | Accepts any number of inner-join entries of which at least one is empty and returns an empty stream |
Inner Multi Smallest | @comunica/actor-rdf-join-inner-multi-smallest | Inner-joins 3 or more streams by joining the smallest two, and joining the result with the remaining streams by delegating back to the RDF Join bus |
Inner Multi Smallest Filter Bindings | @comunica/actor-rdf-join-inner-multi-smallest-filter-bindings | Inner-joins 2 or more streams by joining the smallest two, and joining the result with the remaining streams by delegating back to the RDF Join bus |
Inner Nestedloop | @comunica/actor-rdf-join-inner-nestedloop | Inner-joins using nested looping |
Inner None | @comunica/actor-rdf-join-inner-none | Handles an inner-join between zero entries, and returns a single binding |
Inner Single | @comunica/actor-rdf-join-inner-single | Handles inner-joining of a single entry, and returns the entry itself |
Inner Symmetrichash | @comunica/actor-rdf-join-inner-symmetrichash | Inner-joins using symmetric hashing |
Minus Hash | @comunica/actor-rdf-join-minus-hash | Anti-joins (minus) 2 streams using the hash join algorithm |
Optional Bind | @comunica/actor-rdf-join-optional-bind | Left-joins (optional) 2 streams using the bind join algorithm |
Optional Hash | @comunica/actor-rdf-join-optional-hash | Uses hash joins and can handle optional patterns |
Optional Nestedloop | @comunica/actor-rdf-join-optional-nestedloop | Left-joins (optional) 2 streams using the nested loop join algorithm |
RDF Join Selectivity
Package: @comunica/bus-rdf-join-selectivity
A comunica bus for rdf-join-selectivity events.
Actor | Package | Description |
---|---|---|
Variable Counting | @comunica/actor-rdf-join-selectivity-variable-counting | Heuristically tries to estimate the selectivity of joins by counting the overlap of variables and non-variables in patterns |
RDF Metadata Accumulate
Package: @comunica/bus-rdf-metadata-accumulate
A comunica bus for rdf-metadata-accumulate events.
Actor | Package | Description |
---|---|---|
Cardinality | @comunica/actor-rdf-metadata-accumulate-cardinality | Handles the |
Pagesize | @comunica/actor-rdf-metadata-accumulate-pagesize | Handles the |
Requesttime | @comunica/actor-rdf-metadata-accumulate-requesttime | Handles the |
RDF Metadata
Package: @comunica/bus-rdf-metadata
A comunica bus for rdf-metadata events.
Actor | Package | Description |
---|---|---|
All | @comunica/actor-rdf-metadata-all | Sees everything as both data and metadata |
Primary Topic | @comunica/actor-rdf-metadata-primary-topic | Splits off the metadata based on the existence of a |
RDF Metadata Extract
Package: @comunica/bus-rdf-metadata-extract
A comunica bus for rdf-metadata-extract events.
Actor | Package | Description |
---|---|---|
Allow Http Methods | @comunica/actor-rdf-metadata-extract-allow-http-methods | Extracts the |
Hydra Controls | @comunica/actor-rdf-metadata-extract-hydra-controls | Extract controls and links in the Hydra Core vocabulary |
Hydra Count | @comunica/actor-rdf-metadata-extract-hydra-count | Extract estimated counts in the Hydra Core vocabulary and VoID |
Hydra Pagesize | @comunica/actor-rdf-metadata-extract-hydra-pagesize | Extract page sizes in the Hydra Core vocabulary |
Patch Sparql Update | @comunica/actor-rdf-metadata-extract-patch-sparql-update | That check for the value |
Put Accepted | @comunica/actor-rdf-metadata-extract-put-accepted | Extracts the |
Request Time | @comunica/actor-rdf-metadata-extract-request-time | Extract the time it took to request the page in milliseconds |
Sparql Service | @comunica/actor-rdf-metadata-extract-sparql-service | Extracts SPARQL Service Description metadata |
RDF Parse
Package: @comunica/bus-rdf-parse
A comunica bus for 'init' events.
Actor | Package | Description |
---|---|---|
Html | @comunica/actor-rdf-parse-html | Handles RDF in HTML, by delegating to the RDF Parse HTML bus |
Jsonld | @comunica/actor-rdf-parse-jsonld | Handles JSON-LD |
N3 | @comunica/actor-rdf-parse-n3 | Handles Turtle, TriG, N-Quads, N-Triples and N3 using N3.js |
Rdfxml | @comunica/actor-rdf-parse-rdfxml | Handles RDF/XML |
Shaclc | @comunica/actor-rdf-parse-shaclc | Handles SHACL Compact Syntax and Extended SHACL Compact Syntax RDF Parse Actor |
Xml Rdfa | @comunica/actor-rdf-parse-xml-rdfa | Handles RDFa in XML |
RDF Parse Html
Package: @comunica/bus-rdf-parse-html
A comunica bus for rdf-parse-html events.
Actor | Package | Description |
---|---|---|
Microdata | @comunica/actor-rdf-parse-html-microdata | Handles Microdata to RDF conversion |
Rdfa | @comunica/actor-rdf-parse-html-rdfa | Handles RDFa in HTML |
Script | @comunica/actor-rdf-parse-html-script | Handles script tags in HTML by delegating to the RDF Parse bus |
RDF Resolve Hypermedia Links
Package: @comunica/bus-rdf-resolve-hypermedia-links
A comunica bus for rdf-resolve-hypermedia-links events.
Actor | Package | Description |
---|---|---|
Next | @comunica/actor-rdf-resolve-hypermedia-links-next | Emits the |
RDF Resolve Hypermedia Links Queue
Package: @comunica/bus-rdf-resolve-hypermedia-links-queue
A comunica bus for rdf-resolve-hypermedia-links-queue events.
Actor | Package | Description |
---|---|---|
Fifo | @comunica/actor-rdf-resolve-hypermedia-links-queue-fifo | Provides a |
RDF Serialize
Package: @comunica/bus-rdf-serialize
A comunica bus for rdf-serialize events.
Actor | Package | Description |
---|---|---|
Jsonld | @comunica/actor-rdf-serialize-jsonld | Handles JSON-LD |
N3 | @comunica/actor-rdf-serialize-n3 | Handles Turtle, TriG, N-Quads, N-Triples and N3 using N3.js |
Shaclc | @comunica/actor-rdf-serialize-shaclc | Handles SHACL Compact Syntax and Extended SHACL Compact Syntax |
RDF Update Hypermedia
Package: @comunica/bus-rdf-update-hypermedia
A comunica bus for rdf-update-hypermedia events.
Actor | Package | Description |
---|---|---|
Patch Sparql Update | @comunica/actor-rdf-update-hypermedia-patch-sparql-update | Handles destinations over HTTP using SPARQL Update queries |
Put Ldp | @comunica/actor-rdf-update-hypermedia-put-ldp | Handles destinations over HTTP via HTTP Linked Data Platform PUT requests |
Sparql | @comunica/actor-rdf-update-hypermedia-sparql | Handles RDF Update Hypermedia |
RDF Update Quads
Package: @comunica/bus-rdf-update-quads
A comunica bus for rdf-update-quads events.
Actor | Package | Description |
---|---|---|
Hypermedia | @comunica/actor-rdf-update-quads-hypermedia | Handles hypermedia-based destinations |
Rdfjs Store | @comunica/actor-rdf-update-quads-rdfjs-store | Handles RDF/JS Stores |
Term Comparator Factory
Package: @comunica/bus-term-comparator-factory
A comunica bus for term-comparator-factory events.
Actor | Package | Description |
---|---|---|
Expression Evaluator | @comunica/actor-term-comparator-factory-expression-evaluator | Uses the evaluation of the inequality functions |