Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-10011

Create Join Query to retrieve edges and possibly referenced target vertex fields in a single query.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: OpenIDM 6.0.0
    • Fix Version/s: 7.0.0
    • Component/s: Module - Relationships
    • Labels:

      Description

      CollectionRelationshipProvider#queryCollection will dispatch a find-relationships-for-resource query with the referenced origin vertex and the edgeContainer corresponding to this CollectionRelationshipProvider, and filter these responses with any user-specified _queryFilter. 

      Fields in the request can indicate that fields in the vertices referred-to by the returned edges be returned, state which is currently obtained via additional queries.

      This improvement is to consume the 'mega query' when this situation is encountered, so that the additional queries against the referred-to vertices can be avoided. 

      Note that additional investigation revealed a significant impedance mismatch between the 'mega query' idiom and the query idiom described above: the 'mega' query will proceed from one or more vertices, obtain a set of edges, and optionally, a set of referenced vertices. This is different from the query idiom of the relationship endpoint, which will build a query obtaining all edges issuing from a given managed object and edge container, and then combine this 'base' query with the user-provided query.

      Thus this work cannot likely proceed unless a new, edge-specific, 'mega-query' is devised. This work is likely of lower priority, as enduser queries of the sort

      managed/user/fred/roles?_queryFilter='_ref co adminRole'&_fields=description

      which would query all of fred's roles which refer to the adminRole, and return this role's description, don't seem to correspond to established customer use-cases. 

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jason.vincent jason vincent
                Reporter:
                dhogan Dirk Hogan
                QA Assignee:
                Alexander Dracka
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: