Interface LineageWarehouseGraphStorageService

All Known Implementing Classes:
LineageGraphStorageService

public interface LineageWarehouseGraphStorageService
LineageWarehouseGraphStorageService is the API of the Lineage Warehouse Connector's storage service.
  • Method Details

    • storeToGraph

      void storeToGraph(Set<GraphContext> graphContext)
      Stores a lineage event into the lineage graph database
      Parameters:
      graphContext - graph Collection
    • updateNeighbours

      void updateNeighbours(LineageSyncUpdateContext syncUpdateContext)
      Updates the neighbours of a node by removing all the relationships that no longer have a direct link to the entity.
      Parameters:
      syncUpdateContext - contains the context for syncing the relationships of a node after an update.
    • updateEntity

      void updateEntity(LineageEntity lineageEntity)
      Updates a vertex in the Graph
      Parameters:
      lineageEntity - entity to be updated
    • upsertRelationship

      void upsertRelationship(LineageRelationship lineageRelationship)
      Create or update the relationship between two edges. If the vertexes do not yet exist, they are firstly created.
      Parameters:
      lineageRelationship - relationship to be updated or created
    • updateRelationship

      void updateRelationship(LineageRelationship lineageRelationship)
      Updates a vertex in the Graph
      Parameters:
      lineageRelationship - relationship to be updated
    • updateClassification

      void updateClassification(Set<GraphContext> classificationContext)
      Updates an entity's classification in the Graph
      Parameters:
      classificationContext - classification context
    • deleteClassification

      void deleteClassification(Set<GraphContext> classificationContext)
      Deletes an entity's classification in the Graph
      Parameters:
      classificationContext - classification context
    • deleteRelationship

      void deleteRelationship(String guid)
      Deletes a relationship in the graph
      Parameters:
      guid - unique identifier of the entity to be deleted
    • deleteEntity

      void deleteEntity(String guid, Object version)
      Deletes a vertex in the graph
      Parameters:
      guid - unique identifier of the entity to be deleted
      version - version of the entity to be deleted
    • saveAssetLineageUpdateTime

      void saveAssetLineageUpdateTime(Long timestamp)
      Save last asset lineage update time in the graph
      Parameters:
      timestamp - the standard epoch time in milliseconds
    • getAssetLineageUpdateTime

      Optional<Long> getAssetLineageUpdateTime()
      Gets last asset lineage update time from the graph
      Returns:
      last update time represented as epoch time milliseconds
    • isEntityInGraph

      Boolean isEntityInGraph(String guid)
      Returns whether an entity exists in the graph or not
      Parameters:
      guid - the lineage entity guid
      Returns:
      the boolean