- From: Franconi Enrico <franconi@inf.unibz.it>
- Date: Wed, 8 Jan 2025 17:07:05 +0000
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- CC: "public-rdf-star-wg@w3.org" <public-rdf-star-wg@w3.org>
> On 8 Jan 2025, at 18:05, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote: > > But there isn't RDF/RDFS semantics. There is RDF semantics and RDFS semantics. (And datatype semantics but I don't think that that matters much here.) What goes where? Yes, yes, these details will be fixed easily. Now I am trying to understand the big picture, and WLOG I collapse ERD and RDFS entailments. —e. > > peter > > > On 1/8/25 11:56 AM, Franconi Enrico wrote: >>> On 8 Jan 2025, at 17:55, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote: >>> >>> Complete? For what? What happened to the simple semantics? >> I mean wrt the part on metamodelling in RDF/RDFS. >> —e. >>> >>> peter >>> >>> >>> On 1/8/25 11:45 AM, Franconi Enrico wrote: >>>> This is my complete proposal: >>>> * ⏩ |<r, [I+A](rdfs:Proposition)> ∈ IEXT([I+A](rdf:type))| >>>> if |r ∈ range(RE)| or >>>> if |∃ x,y . RE(x,[I+A](rdf:reifies),r)=y| ⏪️ >>>> * ⏩ |<r, [I+A](rdfs:Resource)> ∈ IEXT([I+A](rdf:type))| >>>> if |r ∈ range(RE)| or >>>> if |∃ x,y,z . RE(x,z,r)=y| or >>>> if |∃ x,y,z . RE(r,z,x)=y| ⏪️ >>>> * ⏩ |<r, [I+A](rdfs:Property)> ∈ IEXT([I+A](rdf:type))| >>>> if |∃ x,y,z . RE(x,r,z)=y| ⏪️ >>>> if the triple structure appears in S then S RDF entails >>>> */reif1/* sss aaa <<(xxx yyy zzz)>> <<(xxx yyy zzz)>> rdf:type rdfs:Proposition . >>>> <<(xxx yyy zzz)>> rdf:type rdfs:Resource . >>>> sss rdf:type rdfs:Resource . >>>> aaa rdf:type rdfs:Property . >>>> */reif2/* <<(xxx yyy zzz)>> aaa ooo <<(xxx yyy zzz)>> rdf:type rdfs:Proposition . >>>> <<(xxx yyy zzz)>> rdf:type rdfs:Resource . >>>> ooo rdf:type rdfs:Resource . >>>> aaa rdf:type rdfs:Property . >>>> */reif3/* sss rdf:reifies ooo ooo rdf:type rdfs:Proposition . >>>> —e. >>>>> On 8 Jan 2025, at 17:35, Franconi Enrico <franconi@inf.unibz.it> wrote: >>>>> >>>>> Option 1 (the current option) adds metamodelling inference only for asserted triples.: >>>>> >>>>> >>>>> Option 1 (shallow metamodelling) >>>>> >>>>> >>>>> * ⏩ |<[I+A](r), [I+A](rdf:Proposition)> ∈ IEXT([I+A](rdf:type))| >>>>> if |r is a triple term and ∃ x,y . (<x,[I+A](r)> ∈ >>>>> IEXT(y)) ⋁ (<[I+A](r),x> ∈ IEXT(y))| >>>>> or if |∃ x . <x,[I+A](r)> ∈ IEXT([I+A](rdf:reifies))| ⏪️ >>>>> >>>>> Note that this is just wrong since in this case we have >>>>> [I+A](rdfs:Resource) ≠ IR >>>>> [I+A](rdfs:Property) ≠ IP >>>>> >>>>> >>>>> Option 2 (true metamodelling) >>>>> >>>>> >>>>> * ⏩ |<r, [I+A](rdf:Proposition)> ∈ IEXT([I+A](rdf:type))| >>>>> if |r ∈ range(RE)| or >>>>> if |∃ x,y . RE(x,[I+A](rdf:reifies),r)=y| ⏪️ >>>>> * ⏩ |<r, [I+A](rdfs:Resource)> ∈ IEXT([I+A](rdf:type))| >>>>> if |r ∈ range(RE)| or >>>>> if |∃ x,y,z . RE(x,z,r)=y| or >>>>> if |∃ x,y,z . RE(r,z,x)=y| ⏪️ >>>>> * ⏩ |<r, [I+A](rdfs:Property)> ∈ IEXT([I+A](rdf:type))| >>>>> if |∃ x,y,z . RE(x,r,z)=y| ⏪️ >>>>> >>>>> >>>>> Option 2 adds new metamodelling conditions, which implies that >>>>> >>>>> [I+A](rdfs:Resource) = IR >>>>> >>>>> [I+A](rdfs:Property) = IP >>>>> >>>>> as it should. >>>>> The entailment pattern for option 2 will have "if the triple structure appears in S”. >>>>> >>>>> —e. >>>>> >>>>>> On 8 Jan 2025, at 17:17, Doerthe Arndt <doerthe.arndt@tu-dresden.de> wrote: >>>>>> >>>>>> Dear Niklas, >>>>>> >>>>>>> >>>>>>> I think that it should be derived. And I agree that the triple constituents are resources (due to transparency). >>>>>>> >>>>>>> I believe the following rule does that (given the existing RDF 1.1 entailment): >>>>>>> >>>>>>> If S contains: >>>>>>> >>>>>>> sss aaa <<(xxx yyy zzz)>> . >>>>>>> >>>>>>> or S contains (in symmetric RDF): >>>>>>> >>>>>>> <<(xxx yyy zzz)>> aaa ooo . >>>>>>> >>>>>>> then S RDF(1.2)-entails (in symmetric RDF): >>>>>>> >>>>>>> <<(xxx yyy zzz)>> rdf:type rdf:Proposition . >>>>>>> <<(xxx yyy zzz)>> rdf:propositionSubject xxx . >>>>>>> <<(xxx yyy zzz)>> rdf:propositionPredicate yyy . >>>>>>> <<(xxx yyy zzz)>> rdf:propositionObject zzz . >>>>>>> >>>>>>> Then define: >>>>>>> >>>>>>> rdf:propositionPredicate rdfs:range rdf:Property . >>>>>>> >>>>>>> To make yyy a property. (Which I think makes sense, even though weird triple terms misusing e.g. classes as properties would have weird consequences.) >>>>>>> >>>>>>> >>>>>> >>>>>> It is a little bit more complicated because of the nesting. We could have >>>>>> >>>>>> :a :b <<( :s :p <<( :x :y :z )>> )>>. >>>>>> >>>>>> we would want to derive that >>>>>> >>>>>> :y a rdf:Property. >>>>>> >>>>>> But that could still be done with a detailed version of Enrico’s "triple structure appears in“ notation. We could still get your triples. >>>>>> >>>>>> Another problem I see with your approach here is that we depend on RDFS while the properties are already derived in RDF and I assume that we want to keep it that way. >>>>>> >>>>>> Another question is whether or not we want the proposition subject, predicate and object, but they could serve the purpose. >>>>>> >>>>>> Kind regards, >>>>>> Dörthe >>>>>> >>>>>> >>>>>> >>>>> >>> >>> >
Received on Wednesday, 8 January 2025 17:07:10 UTC