@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <http://example.org/ns#>.

# bob is a person
:bob a :Person.

# bob is not saying A
() log:onNegativeSurface {
    :bob :saying :A.
}.

# saying A or saying B
(_:S) log:onNegativeSurface {
    _:S a :Person.
    () log:onNegativeSurface {
        _:S :saying :A.
    }.
    () log:onNegativeSurface {
        _:S :saying :B.
    }.
}.

# saying A means saying C
(_:S) log:onNegativeSurface {
    _:S :saying :A.
    () log:onNegativeSurface {
        _:S :saying :C.
    }.
}.

# saying B means saying C
(_:S) log:onNegativeSurface {
    _:S :saying :B.
    () log:onNegativeSurface {
        _:S :saying :C.
    }.
}.

# query
(_:S _:O) log:onQuerySurface {
    _:S a :Person.
    _:S :saying _:O.
}.
