It is highly unlikely that Daniel dropped the milk. Chances are slight that John is in the garden. It is unlikely that Greg is white. There is little chance that if either 'John is in the garden' or 'Greg is white' but not both then Bernhard is a swan. We doubt that if either 'John is in the garden' or 'Greg is white' but not both then Winona is a wolf. It is highly likely that if 'Daniel dropped the milk and John is in the garden' then Sandra grabbed the apple.
There is little chance that 'Sandra grabbed the apple' or 'John is in the garden' or both.
There is little chance that 'Sandra grabbed the apple' or 'John is in the garden' or both.
It is likely that 'Sandra grabbed the apple' or 'John is in the garden' or 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.2::factC.
  %hop1
  0.1::factX:-xor(factB,factC).
  0.2::factY:-xor(factB,factC).
  0.9::factZ:-and(factA,factB).

  %hop2
  conclusion:-or(factZ,factB).

  query(conclusion).
  
'Sandra grabbed the apple' or 'John is in the garden' or both.