Class LineageGraphQueryService
- java.lang.Object
-
- org.odpi.openmetadata.openconnectors.governancedaemonconnectors.openlineageconnectors.janusconnector.graph.LineageGraphQueryService
-
- All Implemented Interfaces:
OpenLineageQueryService
public class LineageGraphQueryService extends Object implements OpenLineageQueryService
-
-
Constructor Summary
Constructors Constructor Description LineageGraphQueryService(GraphHelper graphHelper, AuditLog auditLog)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<LineageVerticesAndEdges>endToEnd(String guid, boolean includeProcesses)Returns the end to end graph of queried entity, which can be a column or a table.LineageVertexResponsegetEntityDetails(String guid)LineageNodeNamesResponsegetNodes(NodeNamesSearchCriteria searchCriteria)LineageTypesResponsegetTypes()LineageResponselineage(Scope scope, String guid, boolean includeProcesses)LineageSearchResponsesearch(LineageSearchRequest lineageSearchRequest)Search the database for entities matching the search requestOptional<LineageVerticesAndEdges>ultimateDestination(String guid)Returns the ultimate destination graph of queried entity, which can be a column or a table.Optional<LineageVerticesAndEdges>ultimateSource(String guid)Returns the ultimate source graph of queried entity, which can be a column or a table.Optional<LineageVerticesAndEdges>verticalLineage(String guid)Returns a subgraph navigating the edges of interest based on target node type.
-
-
-
Constructor Detail
-
LineageGraphQueryService
public LineageGraphQueryService(GraphHelper graphHelper, AuditLog auditLog)
-
-
Method Detail
-
lineage
public LineageResponse lineage(Scope scope, String guid, boolean includeProcesses)
- Specified by:
lineagein interfaceOpenLineageQueryService
-
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 entityincludeProcesses- include processes- Returns:
- graph in an Open Lineage specific format
-
ultimateSource
public Optional<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 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- Returns:
- graph in an Open Lineage specific format
-
ultimateDestination
public Optional<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 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- Returns:
- graph in an Open Lineage specific format
-
verticalLineage
public Optional<LineageVerticesAndEdges> verticalLineage(String guid)
Returns a subgraph navigating the edges of interest based on target node type. For more info, checkglossaryTermVerticalLineage(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 LineageVertexResponse getEntityDetails(String guid)
- Specified by:
getEntityDetailsin interfaceOpenLineageQueryService
-
getTypes
public LineageTypesResponse getTypes()
- Specified by:
getTypesin interfaceOpenLineageQueryService
-
getNodes
public LineageNodeNamesResponse getNodes(NodeNamesSearchCriteria searchCriteria)
- Specified by:
getNodesin interfaceOpenLineageQueryService
-
search
public LineageSearchResponse search(LineageSearchRequest lineageSearchRequest)
Search the database for entities matching the search request- Specified by:
searchin interfaceOpenLineageQueryService- Parameters:
lineageSearchRequest- the criteria for the search- Returns:
- all the entities in the graph that match the criteria
-
-