Classify all graphs on finitely many nodes such that all pairs of distinct nodes share a unique (additional) neighbor Let $G$ be a simple graph such that $|\operatorname{vert}(G)| \in ℤ^{+} \cup \{0\}$ and $(\forall v_1, v_2 \in \operatorname{vert}(G): v_1 \neq v_2), \exists! u \in \operatorname{vert}(G): (\{v_1, u\}, \{v_2, u\} \in \operatorname{edge}(G), \& v_1 \neq u \neq v_2).$
In other words, for distinct nodes in $G$, there is always exactly one neighbor which they share. Even if the nodes are mutually adjacent already, they must have yet another neighbor which they share. Importantly, also, there must be finitely many nodes.
Classify or find all such $G$.
I have not found such a $G$ which is not one of the following: (1) the empty graph; (2)(a) the graph on one node with zero edges; (2)(b) the graph on one node with a loop (edge to itself); (3) $n$ triangles which share exactly one vertex between them all, such that $n \in \mathbb{Z}^{+}$, and where, for each node, we toggle whether that node has a loop to itself. Examples of the last class: the triangle graph (complete graph on three nodes), two triangles which share exactly one vertex (bowtie), three triangles which meet exactly at a single central node (nuclear radiation symbol), four triangles meeting like a windmill propeller. Are there any others?
I do not know of typical techniques with which I can attempt to discover such classes or to prove that I have discovered them all. Guidance in this regard would be at least as valuable as the direct answer.
Finiteness seems to be key.
Also, it is trivial to show that the graph-geodesic distance between two (not necessarily mutually-distinct) nodes in $G$ is at most 2.
 A: Assume that $G$ has $n\ge 2$ nodes. Let further the vertices of $G$ be $v_1,...,v_n$. Let further the shared neighbors of $G$ also be named $n_1,...,n_k$ for some $k\in[n]$.
Let $\delta_i\in\{0,1\}^k$ for $i\in[n]$ tell us, to which shared neighbors the vertex $v_i$ has an edge, i.e.
$$\forall z\in[k]:\quad (\delta_i)_z = 1\;\Leftrightarrow\; \{v_i,n_z\}\in \text{edge}(V)$$
Then we're looking for values $\delta_1,...,\delta_n$ which solve the equation system
$$
\forall i,j\in [n]:\qquad i\neq j\Rightarrow \delta_i^T \cdot \delta_j =1
$$
If we define $\Delta:=\pmatrix{\delta_1^T\\\vdots\\ \delta_n^T}$, then this equation system also solves
$$
\Delta \Delta^T = \unicode{x1D7D9} + \text{diag}(\delta_1^T\cdot\delta_1-1,...,\delta_n^T\cdot\delta_n-1)
$$
,where $\unicode{x1D7D9}:=(1)_{(i,j)\in[k]^2}$ is the matrix that is all ones, and $\text{diag}(\delta_1^T\cdot\delta_1-1,...,\delta_n^T\cdot\delta_n-1)$ is a diagonal matrix.
Now the LHS has rank $\le k$ since $\Delta\in\{0,1\}^{n\times k}$. The RHS on the other hand has rank $\ge n-1$, as each diagonal entry of the diagonal matrix is $\ge 1$.
To see this, assume that a vertex $v_i$ of $G$ had only one edge to a shared neighbor $N$ (i.e. $\delta_i$ has exactly one non-zero entry). Then, even if every other vertex of $G$ has an edge to $N$, since $v_i$ and $N$ have a shared neighbor, we arrive at the contradiction that $v_i$ has actually two edges to shared neighbors, and thus $\delta_i^T\delta_i \ge 2$.
Therefore, if there are any graphs in the class you defined, they have at least $ n-1$ shared neighbors. Let for each shared neighbor $n_i$ two of the vertices which share $n_i$ be $v_{n_i}, w_{n_i}$.
The shared neighbor $x$ of $n_i$ and $v_{n_i}$ creates a triangle. Therefore each vertex of $G$ is a part of a triangle, and because the maximum distance in the graph is 2, each pair of triangles needs to overlap in at least one vertex. But each pair of triangles also cant overlap in two vertices, because then we'd have two vertices with more than one shared neighbor. Similarly, even if we have more than 2 triangles, they all need to overlap in the same vertex, for else there'd be two vertices with more than one shared neighbor.
And with that we've proved that the listing you gave is complete.
