It is almost certain that John went to the garden. It is improbable that Greg is a rhino. Chances are about even that Sandra dropped the apple. There is a better than even chance that if 'John went to the garden' or 'Greg is a rhino' or both then Julius is white. There is little chance that if either 'Sandra dropped the apple' or 'John went to the garden' but not both then Bernhard is white. There is little chance that if either 'Greg is a rhino' or 'John went to the garden' but not both then Emily is a wolf.
There is a better than even chance that either 'Julius is white' or 'Bernhard is white' but not both.
There is a better than even chance that either 'Julius is white' or 'Bernhard is white' but not both.
There is almost no chance that either 'Julius is white' or 'Bernhard is white' 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.95::factA.
  0.1::factB.
  0.5::factC.
  %hop1
  0.6::factX:-or(factA,factB).
  0.1::factY:-xor(factC,factA).
  0.1::factZ:-xor(factB,factA).

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

  query(conclusion).
  
Either 'Julius is white' or 'Bernhard is white' but not both.