It is highly unlikely that Daniel dropped the apple. Chances are slight that Bill went to the office. It is probable that John picked up the milk. Chances are about even that if 'Daniel dropped the apple' or 'John picked up the milk' or both then Jason is tired. There is a very good chance that if 'Daniel dropped the apple and John picked up the milk' then Julius is a swan. There is almost no chance that if either 'Daniel dropped the apple' or 'John picked up the milk' but not both then Bernhard is green.
It is likely that either 'Julius is a swan' or 'Bill went to the office' but not both.
There is little chance that either 'Julius is a swan' or 'Bill went to the office' but not both.
It is likely that either 'Julius is a swan' or 'Bill went to the office' 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.05::factA.
  0.1::factB.
  0.7::factC.
  %hop1
  0.5::factX:-or(factA,factC).
  0.8::factY:-and(factA,factC).
  0.02::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Julius is a swan' or 'Bill went to the office' but not both.