Chances are slight that John went to the garden. It is likely that Daniel got the apple. It is probable that Winona is a sheep. We believe that if 'Winona is a sheep and John went to the garden' then Bernhard is a swan. Chances are about even that if 'Winona is a sheep' or 'John went to the garden' or both then Lily is a frog. We doubt that if 'Winona is a sheep' or 'Daniel got the apple' or both then Emily is a wolf.
It is highly unlikely that either 'Daniel got the apple' or 'John went to the garden' but not both.
It is probably the case that either 'Daniel got the apple' or 'John went to the garden' but not both.
It is highly unlikely that either 'Daniel got the apple' or 'John went to the garden' 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.1::factA.
  0.7::factB.
  0.7::factC.
  %hop1
  0.75::factX:-and(factC,factA).
  0.5::factY:-or(factC,factA).
  0.2::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Daniel got the apple' or 'John went to the garden' but not both.