4. When the coordinates $x, y$ of a point $(x, y)$ on the plane are both rational numbers, the point is called a "rational point". Let $r$ be a given positive real number. Then the number of rational points on the circle $(x-1)^{2}+(y-\sqrt{2})^{2}=r^{2}$ is ( ).
(A) at most one
(B) at most two
(C) at most four
(D) can be infinitely many
4. B.

Let $(a, b),(c, d)$ be two rational points on this circle.
$$
\begin{array}{l}
\text { Then }(a-1)^{2}+(b-\sqrt{2})^{2} \\
=(c-1)^{2}+(d-\sqrt{2})^{2} \\
\Rightarrow 2 \sqrt{2}(b-d)=a^{2}+b^{2}-c^{2}-d^{2}+2(c-a) .
\end{array}
$$

Clearly, the right side of the equation is a rational number.
Therefore, the left side of the equation is a rational number if and only if $b=d$.
In this case, $a \neq c, a+c=2$.
Thus, these two rational points are symmetric with respect to the line $x=1$.
It is easy to see that there is at most one point on the circle that is symmetric to $(a, b)$ with respect to $x=1$.