Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Six degrees of Seperation

Featured Replies

  • Newbies

Hi. I'm trying to model something and haven't been able to find discussions about similar situations to study. Maybe I don't know enough terminology to realize that, so would appreciate anything that points me in the right direction.

The best way to describe my problem is "six degrees of seperation" where one person knows another person, who knows another person, and so on. Person A and Person N are seemingly unrelated, other than the 1:1 relationships of a large number of intermediate people in between.

My prototype solution involves a script that searches for the individual links and assigns "string IDs" to the individual person records. I can go into more detail, but I figure I'm either totally off base or working on something simple and just don't realize it.

I would appreciate anything that could point me in the right direction on this problem.

Sounds like fun.

One question: should we assume that if Bob knows Bill, that Bill also knows Bob, or are there cases where this wouldn't be true?

  • Author
  • Newbies

Yes, for this situation, all of the 1:1 people relationships are bidirectional. Bill knows bob and bob knows bill...

Thanks, Rodney

I think the solution to this is using scripts to build a multi-key for each degree of separation. Each successive degree of separation is then built from the previous list and all related person IDs.

In working this out, I came to another important question that may steer the design: If you are looking at the 3rd degree of separation, do you only want to see those people that are three relationships away, or do you want to see those people that are 3, 2, and 1 degrees away? I have worked out a solution to second choice (see attached.)

In my demo, I use a script to generate two join records in a Relationship table (one for each direction.) Then, once you select who your starting person is, you can progressively see all the people within N relationships away.

I suppose it is possible to make it show only those people N relationships away (omitting those closer than that,) but I'm not sure of the best approach. It seems like some kind of shortest-path algorithm might be needed, but then again, maybe there's away to simply filter them out using a multi-criteria relationship and another multi-key.

6degrees.fp7.zip

  • Author
  • Newbies

Wow. This is impressive and I can't thank you enough. The total end-to-end relationships are what I'm trying to track so this appears to do it (doesn't have to show a specific nth degree).

I appreciate the approach, mine had way more scripting and I needed another point of view. I'm looking forward to the next week (probably more) understanding your structure.

Again, many thanks.

Rodney Frey

Create an account or sign in to comment

Important Information

By using this site, you agree to our Terms of Use.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.