Icon

Make_​Group_​relationships

Finding Relationships (adapted from original workflow by Tobias Koetter)
Extract relationship groups Pull out a distinct set of relationship groups from the full set Get full set of all individuals that we could build relationship groups for Based heavily on original workflow by Tobias Koetter(all portions not in Blue and Orange boxes are from Tobias)Flow in blue and orange have been addedBLUE: Firstly, RelationshipStrength arbitrarily assumed to be 1. The new flow determines the complete unique set ofnames for which it will find the relationship groups and feeds this via a flow variable "GroupName" to the SubGraphExtractor, along with user-setting for the "SubGraphRadius" which I have referred to as Search DistanceORANGE: Having found all possible Relationship Networks (subgraphs) it finds the unique set and arbitrarily choosesone from each of thoseUPDATE - See RED boxes - my additional nodes are superfluous and can be handled by changing the config ofSubGraph Extractor. However, I am leaving this who workflow here as it serves as a learning exercise !21 April 2021 @takbb Brian Bates (v4) Have removed group colour coding information, asassuming nothing is known at initial stage aboutgroups.Input table now contains only the names, i.e. KeyAand KeyB. Have added a few extra relationships fortesting.RelationShip strength now set to .5 arbitrarily for allas I am going to assume no information aboutrelationship strengths are known. Update: The lower box in blue for findingthe group of individuals is actuallyredundant and can be removed if youconfigure Subgraph Extractor to "Use AllObjects". Update: The lower box in orange forgetting the distinct set of relationships isalso actually redundant and can beremoved if you configure SubgraphExtractor to NOT "Allow OverlappingGraphs". Edgeinformationcreate networkfrom tablenormalize edgeweightdefines depth of friendshipand search for friendsconvert backto networkextract all nodes in thenetworkcollect resultappendoriginuse group loopto retain originfilter node labelAssumes we know nothingabout relationship StrengthsHow wide does the search go outfrom each personGet List as a comma separatedstring valueColumn to Variable(I prefer this over using Table Column to Variable as I get more control and I canchoose name of variable!)Package up allgroups into single rowsFind all duplicatedgroups and keep one from each setPut data setback into rowsGet Lists of allnames from KeyA and KeyBUngroupaggregated listsUnique List Table Creator Object Inserter Normalizer SubGraph Extractor Row To Network Node Table Loop End Variable toTable Column Group Loop Start Column Filter ConstantValue Column Integer Input GroupBy Java Snippet GroupBy DuplicateRow Filter Ungroup Column Aggregator Ungroup DuplicateRow Filter Extract relationship groups Pull out a distinct set of relationship groups from the full set Get full set of all individuals that we could build relationship groups for Based heavily on original workflow by Tobias Koetter(all portions not in Blue and Orange boxes are from Tobias)Flow in blue and orange have been addedBLUE: Firstly, RelationshipStrength arbitrarily assumed to be 1. The new flow determines the complete unique set ofnames for which it will find the relationship groups and feeds this via a flow variable "GroupName" to the SubGraphExtractor, along with user-setting for the "SubGraphRadius" which I have referred to as Search DistanceORANGE: Having found all possible Relationship Networks (subgraphs) it finds the unique set and arbitrarily choosesone from each of thoseUPDATE - See RED boxes - my additional nodes are superfluous and can be handled by changing the config ofSubGraph Extractor. However, I am leaving this who workflow here as it serves as a learning exercise !21 April 2021 @takbb Brian Bates (v4) Have removed group colour coding information, asassuming nothing is known at initial stage aboutgroups.Input table now contains only the names, i.e. KeyAand KeyB. Have added a few extra relationships fortesting.RelationShip strength now set to .5 arbitrarily for allas I am going to assume no information aboutrelationship strengths are known. Update: The lower box in blue for findingthe group of individuals is actuallyredundant and can be removed if youconfigure Subgraph Extractor to "Use AllObjects". Update: The lower box in orange forgetting the distinct set of relationships isalso actually redundant and can beremoved if you configure SubgraphExtractor to NOT "Allow OverlappingGraphs". Edgeinformationcreate networkfrom tablenormalize edgeweightdefines depth of friendshipand search for friendsconvert backto networkextract all nodes in thenetworkcollect resultappendoriginuse group loopto retain originfilter node labelAssumes we know nothingabout relationship StrengthsHow wide does the search go outfrom each personGet List as a comma separatedstring valueColumn to Variable(I prefer this over using Table Column to Variable as I get more control and I canchoose name of variable!)Package up allgroups into single rowsFind all duplicatedgroups and keep one from each setPut data setback into rowsGet Lists of allnames from KeyA and KeyBUngroupaggregated listsUnique List Table Creator Object Inserter Normalizer SubGraph Extractor Row To Network Node Table Loop End Variable toTable Column Group Loop Start Column Filter ConstantValue Column Integer Input GroupBy Java Snippet GroupBy DuplicateRow Filter Ungroup Column Aggregator Ungroup DuplicateRow Filter

Nodes

Extensions

Links