There is a better than even chance that John went to the hallway. It is unlikely that Lily is a lion. There is almost no chance that Brian is white. It is probably not the case that if either 'Brian is white' or 'John went to the hallway' but not both then Julius is a swan. It is likely that if 'Lily is a lion and John went to the hallway' then Jessica is a cat. It is probable that if 'Brian is white and John went to the hallway' then Bernhard is a rhino.
It is almost certain that either 'John went to the hallway' or 'Julius is a swan' but not both.
Chances are about even that either 'John went to the hallway' or 'Julius is a swan' but not both.
It is almost certain that either 'John went to the hallway' or 'Julius is a swan' 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.6::factA.
  0.2::factB.
  0.02::factC.
  %hop1
  0.25::factX:-xor(factC,factA).
  0.7::factY:-and(factB,factA).
  0.7::factZ:-and(factC,factA).

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

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