def findRelationshipTokenChains(query, maxDepth=None, filter=None,
    targetQuery=None, targetFilter=None, transitiveQueriesFactory=None):
    """find tuples of relationship tokens for searchTerms.
        - query is a dictionary of {indexName: token}
        - maxDepth is None or a positive integer that specifies maximum depth
          for transitive results.  None means that the transitiveMap will be
          followed until a cycle is detected.  It is a ValueError to provide a
          non-None depth if transitiveQueriesFactory is None and
          index.defaultTransitiveQueriesFactory is None.
        - filter is a an optional callable providing IFilter that determines
          whether relationships will be traversed at all.
        - targetQuery is an optional query that specifies that only paths with
          final relationships that match the targetQuery should be returned.
          It represents a useful subset of the jobs that can be done with the
          targetFilter.
        - targetFilter is an optional callable providing IFilter that
          determines whether a given path will be included in results (it will
          still be traversed)
        - optional transitiveQueriesFactory takes the place of the index's
          defaultTransitiveQueriesFactory
        """
