Is my Graph Graceful? A Graceful Graph is a type of Simple Graph.  Graceful graphs are special because there is a way to label all their nodes with positive integers so that when the edges are also labeled with the differences of the nodes they connect, no two edges have the same label and every label up to the number of edges is used.
Worked Out Example
Here is a Simple graph that we suspect is a Graceful graph

Let us try the following labeling:

Note we are permitted to skip integers in our node labeling.  Now we label every edge with the positive difference between the nodes it connects.  For increased visibility I have labeled these in red.

Each edge has a unique number and no number between between 1 and 7 (the number of edges we have) is left out.  Thus our graph is graceful.
Task
Given a graph, via any reasonable method of input, output a truthy value if it is graceful and a falsy value otherwise.
This is code-golf so the objective is to minimize your byte count.
Test Cases
Here graphs are represented as an array of edges:
3 nodes:

[(0,1),(0,2),(1,2)]

True

Labeling:

Node 0 -&gt; 0
Node 1 -&gt; 2
Node 2 -&gt; 3


5 nodes:

[(0,1),(0,4),(1,2),(2,3),(3,4)]

False


5 nodes:

[(0,1),(1,2),(2,3),(3,4)]

True

Labeling:

Node 0 -&gt; 0
Node 1 -&gt; 1
Node 2 -&gt; 3
Node 3 -&gt; 6
Node 4 -&gt; 10


9 nodes

[(0,1),(1,2),(1,7),(1,8),(2,3),(2,6),(3,4),(4,5)]

True

Labeling:

Node 0 -&gt; 0
Node 1 -&gt; 1
Node 2 -&gt; 3
Node 3 -&gt; 6
Node 4 -&gt; 10
Node 5 -&gt; 15
Node 6 -&gt; 11
Node 7 -&gt; 7
Node 8 -&gt; 8


5 nodes

[(0,1),(0,2),(1,2),(1,3),(1,4),(3,4)]

False
Jelly, 12 bytes

FSŒ!ị@€ḅ-AċJ


Takes an array of edges as 1-indexed node pairs.

Try it online! (Horrendously inefficient. Don't bother with the actual test cases.)

How it works

FSŒ!ị@€ḅ-AċJ  Main link. Argument: A (array of pairs)

FS            Flatten and sum, yielding s. This is an upper bound for the labels
              a graceful labeling (if one exists) would require.
  Œ!          Take all permutations of [1, ..., s].
      €       For each permutation P:
    ị@          Replace each integer in A with the element of P at that index.
       ḅ-     Convert all pairs from base -1 to integer, mapping (a,b) to b-a.
         A    Take absolute values.
           J  Yield the indices of A, i.e., [1, ..., len(A)].
          ċ   Count the occurrences of [1, ..., len(A)] in the result to the left.