I'm writing a program that makes/utilizes arbitrary relationships between pieces of data, and I can't think of more generic terms for the user interface than:
Co-parent: The relationship between A and B
Sibling: The relationship between D and E
Should I stick with these? Or are there better names? The relationships defined by the arrows in the diagram aren't necessarily hierarchical, they're more along the lines of 'A is like C except for X'
-
Of course the individual boxes are commonly called "nodes", and the boxes with no children are "leaf" nodes. Relationships, in a tree structure, are generally called parent/child (with grandparent/grandchild, etc, occasionally used). Children with the same parent are generally "siblings", but I don't ever recall a relationship being described as "cousin" or "uncle" or "niece" (though probably in part because there's rarely a need to describe such relationships). I can't recall any other term used for siblings other than "adjacent". Never heard "co-parent" used, or any equivalent term, but-– Hot LicksSep 4, 2014 at 20:33
-
"inverted tree" and "mesh" structures are much rarer than tree structures.– Hot LicksSep 4, 2014 at 20:34
-
If A and B are connected somehow, I suppose you can call them spouses. If they're not, perhaps divorcees?– Janus Bahs JacquetSep 4, 2014 at 22:16
-
1From a computer science standpoint, I think "co-parent" doesn't get used because normally nodes in a tree like structure do not have multiple parents -- multiple parents implies there's something weird about the tree/graph, like there's a cycle somewhere, or that there isn't a single root (you cannot reach B if you start travelling from A). I think normally "C" would be thought of as the root/parent, and "A" and "B" as children, regardless of the "direction" of the relationship, and thus "A" and "B" would still be siblings.– user65692Sep 4, 2014 at 22:39
-
I can't reconcile your use of arrows with your statement that the relationships aren't hierarchical. I get that you're probably being deliberately vague about the precise nature of the data, but without further contextual details, I'm afraid we're all taking stabs in the dark.– MarthaªSep 5, 2014 at 1:28
2 Answers
The term "sibling" is common usage in this context, yes.
I haven't heard "co-parent", but "parent" is the usual term in a tree structure, so "co-parent" sounds about right.
It’s hard to tell how to answer this well without a better understanding of the relationship you’re talking about.
- If “A → C” means “A is like C except for (some factor)”, it seems as though the relationship is not just not hierarchical; it is anti-hierarchical, and symmetric, so it should be written “A ↔ C” and “B ↔ C”.
- If the relationship between A and C is “A is like C except for (some factor)”, does that mean that A is like B except for that factor? If so, the relationship seems to be transitive, so “A ↔ C” and “B ↔ C” implies “A ↔ B”, i.e., the relationship between A and B is the same as that between A and C, and between B and C.
- Or does it mean that A is like B, even considering the factor (e.g., a lion is like a cat except for size; a tiger is like a cat except for size; a lion is like a tiger.)?
- Or does it mean that A is like B, except for two factors (e.g., a lion is like a cat except for size; a lion is like a bear except for genus)?
Based on what you’ve given us, if case #3 applies, these might be what you want:
- A and B are comparable
- A and B are in the same cohort
- A and B are cohorts (although some might say that this is an incorrect usage of that word)
And if case #4 applies, consider
- A and B are cousins (or distant cousins)
In any case, when talking or writing about this, you would need to define the term you are using.