- From: Pierre-Antoine Champin <pierre-antoine@w3.org>
- Date: Thu, 9 Jan 2025 11:57:04 +0100
- To: Franconi Enrico <franconi@inf.unibz.it>, Doerthe Arndt <doerthe.arndt@tu-dresden.de>
- Cc: Niklas Lindström <lindstream@gmail.com>, RDF-star Working Group <public-rdf-star-wg@w3.org>
- Message-ID: <340636dd-16bf-4a38-a94a-e0cd43cc1752@w3.org>
On 09/01/2025 10:47, Franconi Enrico wrote: > 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| > I'm pretty sure this additional condition is not required, as it already follows from what we have. if ∃ x,y,z . RE(x,r,z)=y, then from the domain of RE, it follows that r ∈ IP, then from the 1st semantic condition <https://www.w3.org/TR/rdf12-semantics/#rdfsemcond1> of RDF semantic, <x, [I+A](rdf:Property)> ∈ IEXT([I+A](rdf:type)) > 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 . > The entailement pattern above is indeed required, but I would propose it as a replacement of rdfD2 <https://www.w3.org/TR/rdf12-semantics/#dfn-rdfd2> rather than a new separate pattern. > > > 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| ⏪️ > Similarly, I don't think the above is necessary, which I briefly indicated already <https://lists.w3.org/Archives/Public/public-rdf-star-wg/2025Jan/0053.html> (but granted, this is a challenging thread to follow...). So, in more details: * if ∃ x,y,z . RE(x,z,y)=r , then per the definition of RE, r ∈ IR, RDFS semantic conditions <https://www.w3.org/TR/rdf12-semantics/#rdfssemcond1> tell us that - ICEXT(y) is defined to be { x : < x,y > is in IEXT(I(rdf:type)) } - ICEXT(I(rdfs:Resource)) = IR which implies that < r, I(rdfs:Resource) > ∈ IEXT(I(rdf:type)) * if ∃ x,y,z . RE(x,z,r)=y, then per the domain of RE, r IR, and the same reasoning as above applies * if ∃ x,y,z . RE(r,z,x)=y, then per the domain of RE, r IR, and the same reasoning as above applies the condition below, on the other hand, is required (with the caveat of deciding whether we want the last line or one -- rdfs:Proposition begin the "super range" of rdf:reifies). > * ⏩ |<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): > Similiar remark as about reif0 above (oh, and we should avoid giving the same name to two patterns!): reif0 below is a generalisation of rdfs4a <https://www.w3.org/TR/rdf12-semantics/#dfn-rdfs4a> and rdfs4b <https://www.w3.org/TR/rdf12-semantics/#dfn-rdfs4b> so we should rather extend those than introduce a new one. > > 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 . > > > Anyway, it is not so important to find the most compact set of > patterns, since these patterns are (a) only informative, and (b) not > the basis for any actual implementation. I agree, even though I'm not sure about (b)... best
Received on Thursday, 9 January 2025 10:57:09 UTC