It is almost certain that Jessica is a cat. It is probably the case that Julius is gray. It is almost certain that Fred went to the garden. There is a better than even chance that if either 'Fred went to the garden' or 'Jessica is a cat' but not both then John grabbed the apple. It is highly likely that if 'Fred went to the garden and Jessica is a cat' then Brian is a swan. It is unlikely that if either 'Jessica is a cat' or 'Fred went to the garden' but not both then Bernhard is white.
It is almost certain that either 'Fred went to the garden' or 'John grabbed the apple' but not both.
It is almost certain that either 'Fred went to the garden' or 'John grabbed the apple' but not both.
It is unlikely that either 'Fred went to the garden' or 'John grabbed the apple' 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.7::factB.
  0.95::factC.
  %hop1
  0.6::factX:-xor(factC,factA).
  0.9::factY:-and(factC,factA).
  0.2::factZ:-xor(factA,factC).

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

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