Re: Decision from the Semantics TF: liberal baseline

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