Re: Decision from the Semantics TF: liberal baseline

Dear Dörthe, Enrico,

On 07/01/2025 18:10, Doerthe Arndt wrote:
> Dear Pierre-Antoine,
>
>> Am 07.01.2025 um 17:01 schrieb Pierre-Antoine Champin 
>> <pierre-antoine@w3.org>:
>>
>> My 2 ¢ about 
>> https://github.com/w3c/rdf-star-wg/wiki/RDF-star-%22liberal-baseline%22#rdf-semantics
>>
>> - for the sake of homogeneity, I would keep only reif1 and reif2 in 
>> RDF Semantics,
>>   and push reif3 in RDFS Sedmantics (which would simply mean to add 
>> the axiomatic triple rdf:reifies rdfs:range rdf:Proposition . This is 
>> for the sake of regularity. I don't think that RDF semantics has any 
>> "range-like" entailment for the moment.
>
> I personally agree with you, but where to put that rule als depends on 
> what we want in general. There is the possibility to make rdf:reifies 
>  some kind of „special“ predicate for which we derive that the subject 
> is always a rdf:Proposition even when occurring nested. I  really do 
> not want to have something like that for all domain declarations. So, 
> if we want to make that the subject of rdf:reifies is always a 
> rdf:Proposition regardless of it occurring nested or not, then it 
> should be done like that. Whether we want that is of course a 
> different question.

Agreed. I should have been clearer: in my opinion, the condition on 
RDF-interpretation should rather be

⏩ |<x, [I+A](rdf:Proposition)> ∈ IEXT([I+A](rdf:type))|
           if |x ∈ dom(RE)| ⏪️

without the additonal  "or if |∃ y . <y,x> ∈ IEXT([I+A](rdf:reifies))|", 
and therefore reif3 would be moot.
Instead, I would add the latter condition in RDFS as the axiomatic 
triple 'rdf:reifies rdfs:range rdf:Proposition', which would have the 
same consequence (in RDFS).

But I will not die on that hill...

>>
>> - regarding the distinction between "if S contains" and "if the 
>> triple structure appears in S", I think I would prefer to keep "if S 
>> contains" for all entailment patterns. What happens in a triple term 
>> stays in a triple term. People may want to talk about non-sensical 
>> triples, and any inference transpiring from triple terms may make 
>> this inconsistent.
On 07/01/2025 17:11, Franconi Enrico wrote:
> This should not be the reason to not have metamodelling inference 
> within nested triple terms.
> After all, we are here ONLY talking about what is a proposition, what 
> is a class, what is a resource.
> By disallowing metamodelling inferences within nested triples, uris 
> used within nested triples, for example, are not going to be of type 
> rdf:resource; etc.
> It is impossible to have nonsensical in metamodelling inferences 
> within nested triple terms; only the presence or not of inferred 
> metamodelling statements.
> The discussion should be at this level: are you happy by not having 
> these metamodelling inferences within nested triple terms?
> —e.

IIUC, your arguments are in the same line as Dörthe's below.


On 07/01/2025 18:10, Doerthe Arndt wrote:
> I understand your concern and lean towards your opinion. However, I 
> try argue against that following the arguments I understood them from 
> our semantics meeting:
>
> Being a proposition or not  could be seen as some kind of syntactical 
> statement.
>
>
> I try to make a comparison with predicates.
>
> If we state a simple triple
>
> :s :p :o.
>
> We can derive with rdf entailment that
>
> :p a rdf:Property.
>
> Now, the question is, should we also derive from
>
> :a :b <<( :s :p :o)>>.
>
> that
>
> :p a rdf:Property. ?
>
> Note that the semantics as it is does that, because RE has IR x IP x 
> IR as domain (and not IR x IR x IR). We would somehow make the 
> assumption that even though the quoted triple could be wrong, it is 
> syntactically correct (whatever that means).
That's a very good point.
And I stand corrected: /some/ entailment patterns need to be extended to 
"if the triple structure appears in S" to be consistent with the 
conditions on interpretations.
>
> If we follow the same line of argumentation, we could say that from
>
> :a :b <<( :s :p <<( :x :y :z )>>)>>.
>
> We can still derive that
>
>  <<( :x :y :z )>> a rdf:Proposition.
Agreed.
>
> We again assume all statements to be syntactically correct (note that 
> „syntactically correct“ is a horrible naming, maybe „structural 
> semantics“?).
>
>
> From another angle: if we go RDFS, do we want to have entailment rules 
> which lead from
>
> :s :p <<( :x :y :z )>>.
>
> to
>
> :x a rdfs:Resource. ?

Following the same reasoning as above for rdf:Property, I would say "yes":

IEXT(rdfs:Resource) = IR, and the interpretation of <<( :x :y :z )>> is 
on IR×IP×IR,
this makes :x an rdfs:Resource (as well as :z, for that matter).

>
> If so, would the step from
>
> :a :b <<( :s :p <<( :x :y :z )>>)>>.
>
> to
>
>  <<( :x :y :z )>> a rdf:Proposition.
>
> be similar? Maybe we should add some entailment of that kind to RDFS 
> instead of RDF?

RDFS will be tricky, because some entailment patterns will need to be 
extended to nested triples (e.g. rdfs4a 
<https://www.w3.org/TR/rdf12-semantics/#dfn-rdfs4a> and rdfs4b 
<https://www.w3.org/TR/rdf12-semantics/#dfn-rdfs4b>), but others won't 
(e.g. rdfs5 <https://www.w3.org/TR/rdf12-semantics/#dfn-rdfs5>).

Note also that rdfD1 <https://www.w3.org/TR/rdf12-semantics/#dfn-rdfd1> 
will be tricky, as we can not simply replace "if S contains" with "if 
the triple structure appears in S". More precisely, I believe that

   :s :p << :t :q "foo"^^xsd:string >>.

would entail

   :s :p << :t :q _:b >>.
   _:b a xsd:string.

But naively replacing "if S contains" with "if the triple structure 
appears in S" in rdfD1, the entailment pattern would yield

   :t :q _:b.
   _:b a xsd:string.

which is wrong...

   pa

>
>
> I did not make up my mind yet, how I see these propositions. What do 
> the others think?
>
> Kind regards,
> Dörthe
>
>
>
>
>
>
>>   pa
>>
>>
>> On 07/01/2025 16:16, Franconi Enrico wrote:
>>> On 7 Jan 2025, at 15:44, Doerthe Arndt <doerthe.arndt@tu-dresden.de> 
>>> wrote:
>>>
>>>> I noticed that you used the wording "if the triple structure 
>>>> appears in S“ for the conditions.
>>>> From your e-mail I assume that „triple structure appears in“ is not 
>>>> the same as the original „S contains“ we have for the other 
>>>> patterns and that you changed the wording to deal with nesting.
>>>
>>> Correct.
>>>
>>>> I think we need to be very clear what this means and that we 
>>>> include nesting here.
>>>
>>> Sure.
>>>
>>>> Here we also come to the question you raised in the mail. So, from 
>>>> your point of view you would always want to have this „triple 
>>>> structure appears in“ notion? Or would you want to have some 
>>>> distinction between „triple structure appears in“ vs „triple is 
>>>> element of S“? Where else would we need the first notion?
>>>
>>> I  want to hear comments from other people about how to define 
>>>  these metamodelling properties (about which, as I have been 
>>> abundantly made clear, I couldn’t care less 😀).
>>> For elegance and symmetry, I am tempted to have the „triple 
>>> structure appears in“ notion.
>>> However, please note the following example:
>>>
>>>     :john :believes _:r1 .
>>>     _:r1 rdf:reifies <<(:paul rdf:type :canadian)>> .
>>>     /currently/ does NOT rdfs entail
>>>     :canadian rdf:type rdfs:class .
>>>     :paul rdf:type rdfs:resource .
>>>
>>>
>>> That is, metamodelling entailments within /nested/ triple terms do 
>>> not currently hold.
>>> So, either we change *_all_* the RDF/RDFS entailments to hold also 
>>> in /nested/ triple terms (rather impactful), or we allow for 
>>> entailments only at top level.
>>> The above example suggests that we should allow for entailments only 
>>> at top level (and so I have to revert to the previous version of the 
>>> semantics).
>>> What do you (and anybody else) think?
>>>
>>>> According to the semantics as you have it at the moment, we would 
>>>> need „triple structure appears in“ for both current RDF entailment 
>>>> patterns, right?
>>>
>>> Yes.
>>>
>>> —e.
>>>
>>>
>>>>> Am 02.01.2025 um 17:29 schrieb Franconi Enrico 
>>>>> <franconi@inf.unibz.it>:
>>>>>
>>>>> At the last Semantics TF we discussed about the RDF semantics of 
>>>>> the liberal baseline.
>>>>> In the current version of the document:
>>>>> https://github.com/w3c/rdf-star-wg/wiki/RDF-star-%22liberal-baseline%22#rdf-semantics
>>>>> the two discussed restrictions of RDF semantics are formalised:
>>>>>
>>>>>   * triple terms, appearing in triples or in triple terms, are of
>>>>>     type /rdf:proposition/;
>>>>>   * objects of the property /rdf:reifies/, appearing in triples or
>>>>>     in triple terms, are of type /rdf:proposition/.
>>>>>
>>>>> We may decide to have both restrictions, any of them, or none.
>>>>> Let’s open the general discussion :-)
>>>>> —e.
>>>>>
>>>>>> On 13 Dec 2024, at 18:20, Franconi Enrico <franconi@inf.unibz.it> 
>>>>>> wrote:
>>>>>>
>>>>>> Today the Semantics TF met, and we agree to submit to the working 
>>>>>> group a proposal for a /liberal baseline./
>>>>>> It is summarised in 
>>>>>> <https://github.com/w3c/rdf-star-wg/wiki/RDF-star-%22liberal-baseline%22>, 
>>>>>> to be discussed (and voted?) at the first focussed meeting in 2025.
>>>>>> Basically, there will be a no syntactic restriction in using both 
>>>>>> /rdf:reifies/ and /triple terms/.
>>>>>> Reification is sanctioned only if it makes use of the property 
>>>>>> /rdf:reifies/ or any of its subproperties; the subject of 
>>>>>> /rdf:reifies/ is called a /reifier/.
>>>>>> /Triple terms/ would be always of type /rdf:Proposition/, and the 
>>>>>> range of /rdf:reifies/ would be /rdf:Proposition/.
>>>
>>>
>

Received on Wednesday, 8 January 2025 10:42:47 UTC