:or queries its paths in order, returning the stream of bindings produced by the first one that succeeds. The following paths are not queried at all.
:all-paths first queries path1. If it appears within a query, it then queries path2 under every substitution generated by the first query and succeeds iff all of these queries succeed. If it appears within an assertion it asserts path2 under every substitution generated by the first query and succeeds iff all of these assertions succeed. For example, one could query ``Are all Adam's children male?'' as:
Note that, like :unp, :all-paths and :or are non-monotonic.