It is probably not the case that Julius is yellow. It is unlikely that Bernhard is green. It is likely that John dropped the milk. It is unlikely that if either 'John dropped the milk' or 'Julius is yellow' but not both then Sandra left the milk. It is almost certain that if 'Bernhard is green and John dropped the milk' then Brian is a swan. It is impossible that if 'John dropped the milk' or 'Julius is yellow' or both then Lily is a rhino.
There is a better than even chance that either 'Brian is a swan' or 'John dropped the milk' but not both.
There is a better than even chance that either 'Brian is a swan' or 'John dropped the milk' but not both.
Chances are slight that either 'Brian is a swan' or 'John dropped 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.25::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.2::factX:-xor(factC,factA).
  0.95::factY:-and(factB,factC).
  0.0::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Brian is a swan' or 'John dropped the milk' but not both.