java.lang.Object
org.odpi.openmetadata.openconnectors.governancedaemonconnectors.openlineageconnectors.janusconnector.graph.LineageGraphQueryService
All Implemented Interfaces:
org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService

public class LineageGraphQueryService extends Object implements org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
  • Constructor Summary

    Constructors
    Constructor
    Description
    LineageGraphQueryService(GraphHelper graphHelper, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Optional<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVerticesAndEdges>
    endToEnd(String guid, boolean includeProcesses)
    Returns the end to end graph of queried entity, which can be a column or a table.
    org.odpi.openmetadata.governanceservers.openlineage.responses.LineageResponse
    getElementHierarchy(org.odpi.openmetadata.governanceservers.openlineage.requests.ElementHierarchyRequest elementHierarchyRequest)
     
    org.odpi.openmetadata.governanceservers.openlineage.responses.LineageVertexResponse
    org.odpi.openmetadata.governanceservers.openlineage.responses.LineageNodeNamesResponse
    getNodes(org.odpi.openmetadata.governanceservers.openlineage.model.NodeNamesSearchCriteria searchCriteria)
    org.odpi.openmetadata.governanceservers.openlineage.responses.LineageTypesResponse
    org.odpi.openmetadata.governanceservers.openlineage.responses.LineageResponse
    lineage(org.odpi.openmetadata.governanceservers.openlineage.model.Scope scope, String guid, boolean includeProcesses)
    org.odpi.openmetadata.governanceservers.openlineage.responses.LineageSearchResponse
    search(org.odpi.openmetadata.governanceservers.openlineage.requests.LineageSearchRequest lineageSearchRequest)
    Search the database for entities matching the search request
    Optional<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVerticesAndEdges>
    Returns the ultimate destination graph of queried entity, which can be a column or a table.
    Optional<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVerticesAndEdges>
    Returns the ultimate source graph of queried entity, which can be a column or a table.
    Optional<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVerticesAndEdges>
    Returns a subgraph navigating the edges of interest based on target node type.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LineageGraphQueryService

      public LineageGraphQueryService(GraphHelper graphHelper, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog)
  • Method Details

    • lineage

      public org.odpi.openmetadata.governanceservers.openlineage.responses.LineageResponse lineage(org.odpi.openmetadata.governanceservers.openlineage.model.Scope scope, String guid, boolean includeProcesses)
      Specified by:
      lineage in interface org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
    • endToEnd

      public Optional<org.odpi.openmetadata.governanceservers.openlineage.model.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 DataFlow will be traversed backwards and forwards, all the way to the source and the destination, respectively. If no vertices are found, then 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
    • ultimateSource

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

      public Optional<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVerticesAndEdges> ultimateDestination(String guid)
      Returns the ultimate destination graph of queried entity, which can be a column or a table. In case of tables, relationships of type DataFlow will be traversed forwards, all the way to the destination. If no vertices are found, then DataFlow relationships are used for traversal. In case of columns, DataFlow relationships are directly used
      Parameters:
      guid - queried entity
      Returns:
      graph in an Open Lineage specific format
    • verticalLineage

      public Optional<org.odpi.openmetadata.governanceservers.openlineage.model.LineageVerticesAndEdges> verticalLineage(String guid)
      Returns a subgraph navigating the edges of interest based on target node type. For more info, check glossaryTermVerticalLineage(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource, java.lang.String), tabularColumnVerticalLineage(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource, java.lang.String), relationalColumnVerticalLineage(org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource, java.lang.String)
      Parameters:
      guid - guid to extract vertical lineage for
      Returns:
      a subgraph in an Open Lineage specific format
    • getEntityDetails

      public org.odpi.openmetadata.governanceservers.openlineage.responses.LineageVertexResponse getEntityDetails(String guid)
      Specified by:
      getEntityDetails in interface org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
    • getTypes

      public org.odpi.openmetadata.governanceservers.openlineage.responses.LineageTypesResponse getTypes()
      Specified by:
      getTypes in interface org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
    • getNodes

      public org.odpi.openmetadata.governanceservers.openlineage.responses.LineageNodeNamesResponse getNodes(org.odpi.openmetadata.governanceservers.openlineage.model.NodeNamesSearchCriteria searchCriteria)
      Specified by:
      getNodes in interface org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
    • getElementHierarchy

      public org.odpi.openmetadata.governanceservers.openlineage.responses.LineageResponse getElementHierarchy(org.odpi.openmetadata.governanceservers.openlineage.requests.ElementHierarchyRequest elementHierarchyRequest)
      Specified by:
      getElementHierarchy in interface org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
    • search

      public org.odpi.openmetadata.governanceservers.openlineage.responses.LineageSearchResponse search(org.odpi.openmetadata.governanceservers.openlineage.requests.LineageSearchRequest lineageSearchRequest)
      Search the database for entities matching the search request
      Specified by:
      search in interface org.odpi.openmetadata.governanceservers.openlineage.OpenLineageQueryService
      Parameters:
      lineageSearchRequest - the criteria for the search
      Returns:
      all the entities in the graph that match the criteria