There is almost no chance that Brian is a rhino. There is a very good chance that Sandra took the milk. It is improbable that Bernhard is a swan. It is almost certain that if 'Bernhard is a swan' or 'Brian is a rhino' or both then Julius is a frog. We doubt that if 'Sandra took the milk and Brian is a rhino' then Mary went to the garden. Chances are about even that if 'Brian is a rhino' or 'Bernhard is a swan' or both then John grabbed the apple.
There is a very good chance that either 'Mary went to the garden' or 'Sandra took the milk' but not both.
There is a very good chance that either 'Mary went to the garden' or 'Sandra took the milk' but not both.
It is highly unlikely that either 'Mary went to the garden' or 'Sandra took the milk' but not both.

  and(A,B) :- A,B.
  or(A,B) :- A;B.
  nand(A,B) :- not(and(A,B)).
  nor(A,B) :- not(or(A,B)).
  xor(A,B) :- or(A,B), nand(A,B).

  %hop0
  0.02::factA.
  0.8::factB.
  0.1::factC.
  %hop1
  0.95::factX:-or(factC,factA).
  0.2::factY:-and(factB,factA).
  0.5::factZ:-or(factA,factC).

  %hop2
  conclusion:-xor(factY,factB).

  query(conclusion).
  
Either 'Mary went to the garden' or 'Sandra took the milk' but not both.