Chances are about even that Daniel dropped the milk. It is certain that Julius is a rhino. It is certain that Brian is yellow. There is almost no chance that if 'Daniel dropped the milk and Julius is a rhino' then Greg is a swan. It is unlikely that if either 'Brian is yellow' or 'Julius is a rhino' but not both then Bernhard is a frog. There is a very good chance that if either 'Daniel dropped the milk' or 'Brian is yellow' but not both then John went to the hallway.
It is highly likely that either 'Brian is yellow' or 'Julius is a rhino' but not both.
It is impossible that either 'Brian is yellow' or 'Julius is a rhino' but not both.
It is highly likely that either 'Brian is yellow' or 'Julius is a rhino' 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.5::factA.
  1.0::factB.
  1.0::factC.
  %hop1
  0.02::factX:-and(factA,factB).
  0.2::factY:-xor(factC,factB).
  0.8::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Brian is yellow' or 'Julius is a rhino' but not both.