Class LineageGraphQueryService
java.lang.Object
org.odpi.openmetadata.openconnectors.governancedaemonconnectors.openlineageconnectors.janusconnector.graph.LineageGraphQueryService
- All Implemented Interfaces:
OpenLineageQueryService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the end to end graph of queried entity, which can be a column or a table.getElementHierarchy
(ElementHierarchyRequest elementHierarchyRequest) Retrieve hierarchy starting from the entity identified by the guidgetEntityDetails
(String guid) Gets entity details.getNodes
(NodeNamesSearchCriteria searchCriteria) Gets nodes names of certain type with display name containing a certain value - case insensitivegetTypes()
Gets available entities types from lineage repository.Retrieve lineage starting from the entity identified by the guidsearch
(LineageSearchRequest lineageSearchRequest) Search the database for entities matching the search requestultimateDestination
(String guid) Returns the ultimate destination graph of queried entity, which can be a column or a table.ultimateSource
(String guid) Returns the ultimate source graph of queried entity, which can be a column or a table.verticalLineage
(String guid) Returns a subgraph navigating the edges of interest based on target node type.
-
Constructor Details
-
LineageGraphQueryService
-
-
Method Details
-
lineage
Retrieve lineage starting from the entity identified by the guid- Specified by:
lineage
in interfaceOpenLineageQueryService
- Parameters:
scope
- the type of lineage to retrieveguid
- the guid of the entity from which to start- Returns:
- the lineage vertices and edges that compose the graph
-
endToEnd
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 entityincludeProcesses
- include processes- Returns:
- graph in an Open Lineage specific format
-
ultimateSource
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
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
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
Gets entity details.- Specified by:
getEntityDetails
in interfaceOpenLineageQueryService
- Parameters:
guid
- the guid- Returns:
- the entity details
-
getTypes
Gets available entities types from lineage repository.- Specified by:
getTypes
in interfaceOpenLineageQueryService
- Returns:
- the available entities types
-
getNodes
Gets nodes names of certain type with display name containing a certain value - case insensitive- Specified by:
getNodes
in interfaceOpenLineageQueryService
- Parameters:
searchCriteria
- contains the type of the node names to search for, a search string being part of the display name of the nodes, the maximum number of node names to retrieve- Returns:
- the node names that match criteria
-
getElementHierarchy
Description copied from interface:OpenLineageQueryService
Retrieve hierarchy starting from the entity identified by the guid- Specified by:
getElementHierarchy
in interfaceOpenLineageQueryService
- Parameters:
elementHierarchyRequest
- contains the guid of the queried node and the hierarchyType of the display name of the nodes, the maximum number of node names to retrieve- Returns:
- the lineage vertices and edges that compose the hierarchy
-
search
Search the database for entities matching the search request- Specified by:
search
in interfaceOpenLineageQueryService
- Parameters:
lineageSearchRequest
- the criteria for the search- Returns:
- all the entities in the graph that match the criteria
-