Interface ProvenanceConsumer<K>

Type Parameters:
K - the semiring annotation type
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ProvenanceConsumer<K>
Callback that receives one query's result as an annotated K-relation.

Used by QueryExecutor.executeProvenance(com.darkcollective.relix.semantic.SemanticModel, com.darkcollective.relix.processor.internal.DataSourceConnector, com.darkcollective.relix.provenance.Semiring<K>, com.darkcollective.relix.processor.internal.ProvenanceConsumer<K>) to hand each query statement's annotated output to the caller. Unlike the streaming RowStreamConsumer path, a K-relation is canonical and fully materialised, so the relation may be retained and rendered after accept returns. The relation carries its own schema and semiring.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    accept(String label, AnnotatedRelation<K> relation)
    Consumes one annotated query result.
  • Method Details

    • accept

      void accept(String label, AnnotatedRelation<K> relation)
      Consumes one annotated query result.
      Parameters:
      label - the query's display label (relation name or "<expression N>")
      relation - the query's result as a canonical K-relation