Class OpenLineageResource


  • @RestController
    @RequestMapping("/servers/{serverName}/open-metadata/open-lineage/users/{userId}")
    public class OpenLineageResource
    extends Object
    * The OpenLineageResource provides the server-side interface of the Open Lineage Services governance server.
    • Constructor Detail

      • OpenLineageResource

        public OpenLineageResource()
    • Method Detail

      • lineage

        @PostMapping(path="/lineage/entities/{guid}",
                     produces="application/json")
        public LineageResponse lineage​(@PathVariable("serverName")
                                       String serverName,
                                       @PathVariable("userId")
                                       String userId,
                                       @PathVariable("guid")
                                       String guid,
                                       @RequestBody
                                       LineageQueryParameters params)
        Returns the graph that the user will initially see when querying lineage. In the future, this method will be extended to condense large paths to prevent cluttering of the users screen. The user will be able to extended the condensed path by querying a different method.
        Parameters:
        userId - calling user.
        serverName - name of the server instance to connect to.
        params -
        Returns:
        A subgraph containing all relevant paths, in graphSON format.
      • getEntityDetails

        @GetMapping(path="/lineage/entities/{guid}/details",
                    produces="application/json")
        public LineageVertexResponse getEntityDetails​(@PathVariable("serverName")
                                                      String serverName,
                                                      @PathVariable("userId")
                                                      String userId,
                                                      @PathVariable("guid")
                                                      String guid)
        Gets entity details.
        Parameters:
        serverName - the server name
        userId - the user id
        guid - the guid
        Returns:
        the entity details
      • getTypes

        @GetMapping(path="/lineage/types",
                    produces="application/json")
        public LineageTypesResponse getTypes​(@PathVariable("serverName")
                                             String serverName,
                                             @PathVariable("userId")
                                             String userId)
        Gets available entities types from lineage repository.
        Parameters:
        serverName - the server name
        userId - the user id
        Returns:
        the available entities types from lineage repository
      • getNodes

        @GetMapping(path="/lineage/nodes",
                    produces="application/json")
        public LineageNodeNamesResponse getNodes​(@PathVariable("serverName")
                                                 String serverName,
                                                 @PathVariable("userId")
                                                 String userId,
                                                 @RequestParam("type")
                                                 String type,
                                                 @RequestParam("name")
                                                 String searchValue,
                                                 @RequestParam("limit")
                                                 int limit)
        Gets nodes names of certain type with display name containing a certain value.
        Parameters:
        serverName - the server name
        userId - the user id
        type - the type of the nodes name to search for
        searchValue - the string to be contained in the display name of the node - case insensitive
        limit - the maximum number of node names to retrieve
        Returns:
        the node names that match criteria
      • getSearchResults

        @PostMapping(path="lineage/search",
                     produces="application/json")
        public LineageSearchResponse getSearchResults​(@PathVariable("serverName")
                                                      String serverName,
                                                      @PathVariable("userId")
                                                      String userId,
                                                      @RequestBody
                                                      LineageSearchRequest lineageSearchRequest)