# --------------------------
# RDF surfaces water example
# --------------------------
#
# See https://en.wikipedia.org/wiki/Disjunction_elimination

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

# water is an inorganic compound
:water a :InorganicCompound.

# water is solid or liquid or gas
(_:A) log:onNegativeSurface {
    _:A a :InorganicCompound.
    () log:onNegativeSurface {
        _:A :is :solid.
    }.
    () log:onNegativeSurface {
        _:A :is :liquid.
    }.
    () log:onNegativeSurface {
        _:A :is :gas.
    }.
}.

# solid things are observable
(_:A) log:onNegativeSurface {
    _:A :is :solid.
    () log:onNegativeSurface {
        _:A :is :observable.
    }.
}.

# liquid things are observable
(_:A) log:onNegativeSurface {
    _:A :is :liquid.
    () log:onNegativeSurface {
        _:A :is :observable.
    }.
}.

# gas things are observable
(_:A) log:onNegativeSurface {
    _:A :is :gas.
    () log:onNegativeSurface {
        _:A :is :observable.
    }.
}.

# query
() log:onNegativeSurface {
    :water :is :observable.
    () log:onNegativeAnswerSurface {
        :water :is :observable.
    }.
}.
