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:
Node relationships
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 Licks
    Sep 4, 2014 at 20:33
  • "inverted tree" and "mesh" structures are much rarer than tree structures.
    – Hot Licks
    Sep 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? Sep 4, 2014 at 22:16
  • 1
    From 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.
    – user65692
    Sep 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 2


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.

  1. 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”.
  2. 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.
  3. 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.)?
  4. 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.