It is unlikely that Brian is a rhino. It is unlikely that Daniel put down the milk. It is almost certain that Mary left the football. Chances are about even that if 'Daniel put down the milk and Mary left the football' then Julius is white. It is likely that if 'Mary left the football and Daniel put down the milk' then Bernhard is green. It is unlikely that if 'Daniel put down the milk' or 'Brian is a rhino' or both then John went to the office.
It is unlikely that either 'Mary left the football' or 'Bernhard is green' but not both.
There is a very good chance that either 'Mary left the football' or 'Bernhard is green' but not both.
It is unlikely that either 'Mary left the football' or 'Bernhard is green' 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.2::factA.
  0.2::factB.
  0.95::factC.
  %hop1
  0.5::factX:-and(factB,factC).
  0.7::factY:-and(factC,factB).
  0.2::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Mary left the football' or 'Bernhard is green' but not both.