workload: BI
operation: read
number: 18
title: Friend recommendation
description: |
  For a given *Tag* (`tag`), for each `person1` interested in `tag`, recommend new friends (`person2`) who

  * do not yet know `person1`
  * at least one mutual friend with `person1`
  * are also interested in `tag`.

  Rank *Persons* `person2` based on the number of mutual friends with `person1`.
parameters:
  - name: tag
    type: Long String
    description: |
      *Tags* with a similar amount of *Persons* are selected
result:
  - name: person2.id
    type: ID
  - name: mutualFriendCount
    type: 32-bit Integer
    category: aggregated
sort:
  - name: mutualFriendCount
    direction: desc
  - name: person2.id
    direction: asc
limit: 20
choke_points: [2.5, 8.1] #todo

workload: BI
operation: read
number: 18
title: Friend recommendation
description: |
  For a given *Tag* (`tag`), for each `person1` interested in `tag`, recommend new friends (`person2`) who

  * do not yet know `person1`
  * at least one mutual friend with `person1`
  * are also interested in `tag`.

  Rank *Persons* `person2` based on the number of mutual friends with `person1`.
parameters:
  - name: tag
    type: Long String
    description: |
      *Tags* with a similar amount of *Persons* are selected
result:
  - name: person2.id
    type: ID
  - name: mutualFriendCount
    type: 32-bit Integer
    category: aggregated
sort:
  - name: mutualFriendCount
    direction: desc
  - name: person1.id
    direction: asc
  - name: person2.id
    direction: asc
limit: 20
choke_points: [2.5, 8.1] #todo

Add ordering constraint to BI Q18
Add ordering constraint to BI Q18
