Class LineageGraphConnectorHelper


  • public class LineageGraphConnectorHelper
    extends Object
    • Constructor Detail

      • LineageGraphConnectorHelper

        public LineageGraphConnectorHelper​(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource graphTraversalSource,
                                           boolean supportingTransactions)
    • Method Detail

      • ultimateSource

        public Optional<LineageVerticesAndEdges> ultimateSource​(String guid,
                                                                boolean includeProcesses)
        Returns the ultimate source graph of queried entity, which can be a column or a table. In case of tables, relationships of type LineageMapping will be traversed backwards, all the way to the source. If no vertices are found, than DataFlow relationships are used for traversal. In case of columns, DataFlow relationships are directly used
        Parameters:
        guid - queried entity
        includeProcesses - include processes
        Returns:
        graph in an Open Lineage specific format
      • ultimateDestination

        public Optional<LineageVerticesAndEdges> ultimateDestination​(String guid,
                                                                     boolean includeProcesses)
        Returns the ultimate destination graph of queried entity, which can be a column or a table. In case of tables, relationships of type LineageMapping will be traversed forwards, all the way to the destination. If no vertices are found, than DataFlow relationships are used for traversal. In case of columns, DataFlow relationships are directly used
        Parameters:
        guid - queried entity
        includeProcesses - include processes
        Returns:
        graph in an Open Lineage specific format
      • endToEnd

        public Optional<LineageVerticesAndEdges> endToEnd​(String guid,
                                                          boolean includeProcesses)
        Returns the end to end graph of queried entity, which can be a column or a table. In case of tables, relationships of type LineageMapping will be traversed backwards and forwards, all the way to the source and the destination, respectively. If no vertices are found, than DataFlow relationships are used for traversal. In case of columns, DataFlow relationships are directly used
        Parameters:
        guid - queried entity
        includeProcesses - include processes
        Returns:
        graph in an Open Lineage specific format
      • sourceAndDestination

        public Optional<LineageVerticesAndEdges> sourceAndDestination​(String guid,
                                                                      boolean includeProcesses)
        Returns a subgraph containing all root and leaf nodes of the full graph that are connected with the queried node. The queried node can be a column or table.
        Parameters:
        guid - The guid of the node of which the lineage is queried of. This can be a column or a table.
        Returns:
        a subgraph in an Open Lineage specific format