@prefix u: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <#>.

this log:forAll :s, :p, :p2, :o, :x, :C, :C2.

# generalization...
{ :s [ u:subPropertyOf :p ] :o } log:implies { :s :p :o }.
# or:
#{ :s :p :o. :p u:subPropertyOf :p2 } log:implies { :s :p2 :o }.
# or:
#{ :p u:subPropertyOf :p2 } log:implies
# { { :s :p :o. } log:implies { :s :p2 :o }}.

{ :x a [ u:subClassOf :C ] } log:implies { :x a :C }.

# transitivity...
{ :C u:subClassOf [ u:subClassOf :C2 ] } log:implies { :C u:subClassOf :C2 }.
{ :p u:subPropertyOf [ u:subPropertyOf :p2] } log:implies { :p u:subPropertyOf :p2 }.

# domain/range... 
{ :s [ u:domain :C ] :o } log:implies { :s a :C }.
{ :s [ u:range :C ] :o } log:implies { :o a :C }.

# These are in the RDF schema for RDF...
# class hierarchy
#u:Class u:subClassOf :Resource.
#u:Property u:subClassOf :Resource.

# related properties
#u:isDefinedBy u:subPropertyOf u:seeAlso.
