These are the more precise definitions separating the RDF and RDFS semantics.
They are already in the document
https://github.com/w3c/rdf-star-wg/wiki/RDF-star-%22liberal-baseline%22
Comments welcome.
RDF SEMANTICS
RDF semantics restricts the function [I+A](.) with the following additional metamodelling condition:
* <r, [I+A](rdf:Property)> ∈ IEXT([I+A](rdf:type))
if ∃ x,y,z . RE(x,r,z)=y
Additional metamodelling sound and complete RDF entailment patterns (informative):
if the triple structure appears in S then S RDF(S) entails
reif0 sss aaa ooo aaa rdf:type rdf:Property .
RDFS SEMANTICS
RDFS semantics restricts the function [I+A](.) with the following additional metamodelling conditions:
* ⏩ <r, [I+A](rdfs:Resource)> ∈ IEXT([I+A](rdf:type))
if ∃ x,y,z . RE(x,z,y)=r or
if ∃ x,y,z . RE(x,z,r)=y or
if ∃ x,y,z . RE(r,z,x)=y ⏪️
* ⏩ <r, [I+A](rdfs:Proposition)> ∈ IEXT([I+A](rdf:type))
if ∃ x,y,z . RE(x,z,y)=r or
if ∃ x,y . RE(x,[I+A](rdf:reifies),r)=y ⏪️
Additional metamodelling sound and complete RDFS entailment patterns (informative):
if the triple structure appears in S then S RDF(S) entails
reif0 sss aaa ooo sss rdf:type rdfs:Resource .
ooo rdf:type rdfs:Resource .
if S contains then S RDFS entails
reif1 sss aaa <<(xxx yyy zzz)>> <<(xxx yyy zzz)>> rdf:type rdfs:Proposition .
reif2 <<(xxx yyy zzz)>> aaa ooo <<(xxx yyy zzz)>> rdf:type rdfs:Proposition .
reif3 sss rdf:reifies ooo ooo rdf:type rdfs:Proposition .