- From: Pierre-Antoine Champin <pierre-antoine@w3.org>
- Date: Wed, 8 Jan 2025 11:42:44 +0100
- To: Doerthe Arndt <doerthe.arndt@tu-dresden.de>, Franconi Enrico <franconi@inf.unibz.it>
- Cc: RDF-star Working Group <public-rdf-star-wg@w3.org>
- Message-ID: <fc1733af-21be-4b24-b66a-584a5860898b@w3.org>
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