Skip to content
Kagami Hiiragi edited this page Nov 28, 2023 · 28 revisions

This is a help guide on features of the kpopnet web app. You should be able to find out how to use the interface on your own, but there're also some advanced features worth mentioning.

Search

By default fuzzy matching is used, including all possible names of the idols and the groups. On the Groups tab only group names are matched. The more symbols/words you add, the more it narrows down the search.

  • oh: match all idols and idols from groups which contain oh in their name
  • oh arin: matches Arin from Oh My Girl because oh can be matched with the group name and arin with the idol name
  • oh my girl arin and arin ohmygirl work too
  • but ohmygirlarin doesn't

Search props

You can also match specific info of the idol/group profile with the prop match queries. The syntax is prop1: match this prop2: match that. Multiple props are combined as with AND logical operator.

The same syntax is used when you click on fields of items in the search results, so you can learn how to do those searches.

You can also combine exact props matching with fuzzy searching. Examples:

  • oh: match all idols/groups which contain oh
  • oh w:47: same but only idols who weight 47 kg
  • oh w:47 d:1999: same but who was born in 1999

Possible props on Idols tab:

  • n: idol name
  • g: group name
  • c: company name
  • d: birth date
  • a: age
  • dd: debut date
  • da: debut was X years ago
  • h: idol height
  • w: idol weight

On Groups tab:

  • g: group name
  • c: company name
  • dd: debut date
  • da: debut was X years ago
  • dbd: disband date
  • dba: disband was X years ago
  • m: number of members

Sorting

You can select any combination of sorts for idol/group item lists, in ascending or descending order. It's possible to reorder sorts by dragging sort options. You can also set default sorts by clicking the save icon.

You current sorts are saved in URL and have higher priority other saved ones. To clear saved sorts press the revert button. To clear current unsaved sorts and query you can also press the Home icon.

Shortcuts

  • Press Ctrl+k on any page to go to search
  • Press Ctrl+Left or Ctrl+Right to switch between tabs
  • In JQ input:
    • Enter to search
    • Up or Down to navigate search history

JQ

On Filter tab you can search using a powerful JQ filter syntax, full documentation is available here. Also check the tutorial. Documentation on the structure of JSON being processed is available here.

Any "id" fields in the output are matched with the corresponding idol/group so you can see a nice preview of your search results without having to output all the info with JQ manually.

Example queries:

  • First 5 idols: .idols[:5]
    This will just get first 5 items of the idols array, and also display matched idols.
  • Average height: [.idols[].height | select(. != null)] | add/length
    This will read height property of every idol, select non nulls and divide their sum by the number of the elements, i.e. return average.
  • Common names: .idols | group_by(.real_name_original)[] | select(length>=4)
    This will put idols with the same real name into sub-arrays, and then select those arrays with more than 3 idols. I.e. it will show names which are shared at least between 4 different idols.
  • Long group names: .groups | sort_by(.name | -length)[:5]
    This will just sort groups by the name in reversed order and display top 5 results. Those groups will also be displayed in the matched items output.
  • Debuts per year: .groups | group_by(.debut_date[:4]) | sort_by(-length)[] | "\(.[0].debut_date[:4]): \(length)"
    Group by debut year (first 4 symbols of the debut_date field), sort in reversed order by the length of sub-array, then output year and number of groups in each sub-array. No groups profiles will be displayed because we didn't include id field in the output.

You can find more examples here.

Plot

On Plot tab you can visualize results of the JQ filter with a plot. For simple plots just the basic .idols/.groups filters are enough which return all Idol/Group items correspondingly.

By default Idol plot will use weight/height fields for axes and Group plot will use debut_date/members.

You can also customize plotting data with filters like:

  • [.idols[] | select(.weight != null) | . + {"weight": (.weight*2.205)}]
    Here we selected idols which have weight information in their profile and transformed KG into LBS units. That updated weight data will be displayed on a plot.

You can find more examples here.

Clone this wiki locally